xref: /openbmc/skeleton/Makefile (revision 5e792e34)
188872670SNorman James#CC=gcc
2e276510cSNorman JamesOBJS    = objects/pflash/progress.o objects/pflash/ast-sf-ctrl.o
3e276510cSNorman JamesOBJS	+= objects/pflash/libflash/libflash.o objects/pflash/libflash/libffs.o
4e276510cSNorman JamesOBJS	+= objects/pflash/arm_io.o
5f066e878SNorman JamesOBJS2   = progress.o ast-sf-ctrl.o libflash.o libffs.o arm_io.o
6f066e878SNorman JamesOBJS3   = obj/progress.o obj/ast-sf-ctrl.o obj/libflash.o obj/libffs.o obj/arm_io.o
788872670SNorman JamesLIBS = ./bin
888872670SNorman JamesOFLAGS =-L$(LIBS) -lopenbmc_intf
988872670SNorman JamesHOME = .
1088872670SNorman JamesCFLAGS=$(shell pkg-config --libs --cflags gio-unix-2.0 glib-2.0)
1188872670SNorman James#CFLAGS = -pthread -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lgio-2.0 -lgobject-2.0 -lglib-2.0
12e276510cSNorman James
13e276510cSNorman James%.o: interfaces/%.c
14362a80f3SNorman James	$(CC) -c -fPIC -o obj/$@ $< -I$(HOME) -I$(HOME)/includes $(CFLAGS)
15e276510cSNorman James
16e276510cSNorman James%.o: objects/%.c
1788872670SNorman James	$(CC) -c -o obj/$@ $< -L$(LIBS) -I$(HOME) -I$(HOME)/includes -I$(HOME)/objects/pflash  $(CFLAGS)
18ddb97385SNorman James
19ddb97385SNorman James%.o: includes/%.c
2088872670SNorman James	$(CC) -c -o obj/$@ $< -L$(LIBS) -I$(HOME) -I$(HOME)/includes -I$(HOME)/objects/pflash $(CFLAGS)
21e276510cSNorman James
22e276510cSNorman James%.o: objects/pflash/%.c
23e276510cSNorman James	$(CC) -c -o obj/$@ $< -I$(HOME) -I$(HOME)/objects/pflash  $(CFLAGS)
24e276510cSNorman James
25f066e878SNorman James%.o: objects/pflash/libflash/%.c
26f066e878SNorman James	$(CC) -c -o obj/$@ $< -I$(HOME) -I$(HOME)/objects/pflash  $(CFLAGS)
271e25d1d0SNorman James
28f066e878SNorman Jamessetup:
29f066e878SNorman James	mkdir obj
301e25d1d0SNorman James
31*5e792e34SNorman Jamesclean:
32*5e792e34SNorman James	rm -rf obj
33*5e792e34SNorman James
34362a80f3SNorman Jameslibopenbmc_intf: openbmc_intf.o
3588872670SNorman James	$(CC) -shared -o bin/$@.so obj/openbmc_intf.o $(CFLAGS)
36e276510cSNorman James
378abb50ccSNorman Jamespower_control: power_control_obj.o gpio.o
388abb50ccSNorman James	$(CC) -o bin/$@.exe obj/gpio.o obj/power_control_obj.o $(OFLAGS) $(CFLAGS)
39e276510cSNorman James
40362a80f3SNorman Jameschassis_identify: chassis_identify_obj.o gpio.o
41362a80f3SNorman James	$(CC) -o bin/$@.exe obj/gpio.o obj/chassis_identify_obj.o $(OFLAGS) $(CFLAGS)
42e276510cSNorman James
43362a80f3SNorman Jamessensor_ambient: sensor_threshold.o sensor_temperature_ambient_obj.o
44362a80f3SNorman James	$(CC) -o bin/$@.exe obj/sensor_threshold.o obj/sensor_temperature_ambient_obj.o $(OFLAGS) $(CFLAGS)
45e276510cSNorman James
46362a80f3SNorman Jamesbutton_power: button_power_obj.o gpio.o
47b161ae2dSNorman James	$(CC) -o bin/$@.exe obj/button_power_obj.o obj/gpio.o $(OFLAGS) $(CFLAGS)
48e276510cSNorman James
49362a80f3SNorman Jamessensor_host_status: sensor_host_status_obj.o
50362a80f3SNorman James	$(CC) -o bin/$@.exe obj/sensor_host_status_obj.o $(OFLAGS) $(CFLAGS)
519e6acf9eSNorman James
52362a80f3SNorman Jamescontrol_host: control_host_obj.o gpio.o
53362a80f3SNorman James	$(CC) -o bin/$@.exe obj/gpio.o obj/control_host_obj.o $(OFLAGS) $(CFLAGS)
54e276510cSNorman James
55f066e878SNorman Jamesflash_bios:  $(OBJS2) pflash.o flash_bios_obj.o
56f066e878SNorman James	$(CC) -o bin/$@.exe obj/flash_bios_obj.o $(OFLAGS)  $(OBJS3)  $(CFLAGS)
57e276510cSNorman James
58362a80f3SNorman Jamesfan: fan_generic_obj.o gpio.o
59362a80f3SNorman James	$(CC) -o bin/$@.exe obj/gpio.o obj/fan_generic_obj.o $(OFLAGS) $(CFLAGS)
60471ab59eSNorman James
61362a80f3SNorman Jameshost_watchdog: host_watchdog_obj.o
62362a80f3SNorman James	$(CC) -o bin/$@.exe obj/host_watchdog_obj.o $(OFLAGS) $(CFLAGS)
63471ab59eSNorman James
64362a80f3SNorman Jamescontrol_bmc: control_bmc_obj.o
65362a80f3SNorman James	$(CC) -o bin/$@.exe obj/control_bmc_obj.o $(OFLAGS) $(CFLAGS)
66471ab59eSNorman James
67362a80f3SNorman Jamessensor_occ: sensor_occ_obj.o
68362a80f3SNorman James	$(CC) -o bin/$@.exe obj/sensor_occ_obj.o $(OFLAGS) $(CFLAGS)
69471ab59eSNorman James
70362a80f3SNorman Jamesboard_vpd: board_vpd_obj.o
71362a80f3SNorman James	$(CC) -o bin/$@.exe obj/board_vpd_obj.o $(OFLAGS) $(CFLAGS)
721e25d1d0SNorman James
7319e45917SNorman Jamespcie_slot_present: pcie_slot_present_obj.o gpio.o
7419e45917SNorman James	$(CC) -o bin/$@.exe obj/pcie_slot_present_obj.o obj/gpio.o $(OFLAGS) $(CFLAGS)
7519e45917SNorman James
761e25d1d0SNorman James
77*5e792e34SNorman Jamesall: clean setup libopenbmc_intf power_control chassis_identify sensor_ambient button_power sensor_host_status control_host fan host_watchdog control_bmc sensor_occ board_vpd pcie_slot_present
78