blob: 9e14b22c57b70023f1135330a29c2e690a9830e4 [file] [log] [blame]
Norman James88872672015-09-21 16:51:35 -05001#CC=gcc
Norman Jamese2765102015-08-19 22:00:55 -05002OBJS = objects/pflash/progress.o objects/pflash/ast-sf-ctrl.o
3OBJS += objects/pflash/libflash/libflash.o objects/pflash/libflash/libffs.o
4OBJS += objects/pflash/arm_io.o
Norman Jamesf066e872015-10-07 15:29:51 -05005OBJS2 = progress.o ast-sf-ctrl.o libflash.o libffs.o arm_io.o
6OBJS3 = obj/progress.o obj/ast-sf-ctrl.o obj/libflash.o obj/libffs.o obj/arm_io.o
Brad Bishop831188f2015-10-19 14:10:12 -04007INCLUDES=$(shell pkg-config --cflags gio-unix-2.0 glib-2.0) -Iincludes -Iobjects/pflash -I.
8LIBS=$(shell pkg-config --libs gio-unix-2.0 glib-2.0) -Lbin -lopenbmc_intf
Norman Jamese2765102015-08-19 22:00:55 -05009
10%.o: interfaces/%.c
Brad Bishop831188f2015-10-19 14:10:12 -040011 $(CC) -c -fPIC -o obj/$@ $< $(CFLAGS) $(INCLUDES)
Norman Jamese2765102015-08-19 22:00:55 -050012
13%.o: objects/%.c
Brad Bishop831188f2015-10-19 14:10:12 -040014 $(CC) -c -o obj/$@ $< $(LIBS) $(CFLAGS) $(INCLUDES)
Norman Jamesddb97382015-08-27 21:31:31 -050015
16%.o: includes/%.c
Brad Bishop831188f2015-10-19 14:10:12 -040017 $(CC) -c -o obj/$@ $< $(LIBS) $(CFLAGS) $(INCLUDES)
Norman Jamese2765102015-08-19 22:00:55 -050018
19%.o: objects/pflash/%.c
Brad Bishop831188f2015-10-19 14:10:12 -040020 $(CC) -c -o obj/$@ $< $(CFLAGS) $(INCLUDES)
Norman Jamese2765102015-08-19 22:00:55 -050021
Norman Jamesf066e872015-10-07 15:29:51 -050022%.o: objects/pflash/libflash/%.c
Brad Bishop831188f2015-10-19 14:10:12 -040023 $(CC) -c -o obj/$@ $< $(CFLAGS) $(INCLUDES)
Norman James1e25d1d2015-09-15 08:20:56 -050024
Norman Jamesf066e872015-10-07 15:29:51 -050025setup:
Brad Bishop831188f2015-10-19 14:10:12 -040026 mkdir -p obj
Norman James1e25d1d2015-09-15 08:20:56 -050027
Norman James5e792e32015-10-07 17:36:17 -050028clean:
29 rm -rf obj
30
Norman James362a80f2015-09-14 14:04:39 -050031libopenbmc_intf: openbmc_intf.o
Brad Bishop831188f2015-10-19 14:10:12 -040032 $(CC) -shared -o bin/$@.so obj/openbmc_intf.o $(LDFLAGS)
Norman Jamese2765102015-08-19 22:00:55 -050033
Norman James37478222015-10-31 17:26:01 -050034power_control: power_control_obj.o gpio.o object_mapper.o libopenbmc_intf
35 $(CC) -o bin/$@.exe obj/gpio.o obj/power_control_obj.o obj/object_mapper.o $(LDFLAGS) $(LIBS)
Norman Jamese2765102015-08-19 22:00:55 -050036
Norman James37478222015-10-31 17:26:01 -050037led_controller: led_controller.o gpio.o object_mapper.o libopenbmc_intf
38 $(CC) -o bin/$@.exe obj/gpio.o obj/led_controller.o obj/object_mapper.o $(LDFLAGS) $(LIBS)
Norman Jamese2765102015-08-19 22:00:55 -050039
Norman James37478222015-10-31 17:26:01 -050040button_power: button_power_obj.o gpio.o object_mapper.o libopenbmc_intf
41 $(CC) -o bin/$@.exe obj/button_power_obj.o obj/gpio.o obj/object_mapper.o $(LDFLAGS) $(LIBS)
Norman Jamese2765102015-08-19 22:00:55 -050042
Norman James37478222015-10-31 17:26:01 -050043control_host: control_host_obj.o gpio.o object_mapper.o libopenbmc_intf
44 $(CC) -o bin/$@.exe obj/gpio.o obj/control_host_obj.o obj/object_mapper.o $(LDFLAGS) $(LIBS)
Norman Jamese2765102015-08-19 22:00:55 -050045
Norman James37478222015-10-31 17:26:01 -050046flash_bios: flash_bios_obj.o object_mapper.o libopenbmc_intf
47 $(CC) -o bin/$@.exe obj/flash_bios_obj.o obj/object_mapper.o $(LDFLAGS) $(LIBS)
Norman Jamese2765102015-08-19 22:00:55 -050048
Norman James37478222015-10-31 17:26:01 -050049fan: fan_generic_obj.o gpio.o object_mapper.o libopenbmc_intf
50 $(CC) -o bin/$@.exe obj/gpio.o obj/fan_generic_obj.o obj/object_mapper.o $(LDFLAGS) $(LIBS)
Norman James471ab592015-08-30 22:29:40 -050051
Norman James37478222015-10-31 17:26:01 -050052host_watchdog: host_watchdog_obj.o object_mapper.o libopenbmc_intf
53 $(CC) -o bin/$@.exe obj/host_watchdog_obj.o obj/object_mapper.o $(LDFLAGS) $(LIBS)
Norman James471ab592015-08-30 22:29:40 -050054
Brad Bishop831188f2015-10-19 14:10:12 -040055control_bmc: control_bmc_obj.o libopenbmc_intf
56 $(CC) -o bin/$@.exe obj/control_bmc_obj.o $(LDFLAGS) $(LIBS)
Norman James471ab592015-08-30 22:29:40 -050057
Norman James42c1be82015-10-22 14:34:26 -050058control_bmc_barreleye: control_bmc_barreleye.o libopenbmc_intf
59 $(CC) -o bin/$@.exe obj/control_bmc_barreleye.o $(LDFLAGS) $(LIBS)
Norman James471ab592015-08-30 22:29:40 -050060
Brad Bishop831188f2015-10-19 14:10:12 -040061board_vpd: board_vpd_obj.o libopenbmc_intf
62 $(CC) -o bin/$@.exe obj/board_vpd_obj.o $(LDFLAGS) $(LIBS)
Norman James1e25d1d2015-09-15 08:20:56 -050063
Brad Bishop831188f2015-10-19 14:10:12 -040064pcie_slot_present: pcie_slot_present_obj.o gpio.o libopenbmc_intf
65 $(CC) -o bin/$@.exe obj/pcie_slot_present_obj.o obj/gpio.o $(LDFLAGS) $(LIBS)
Norman James19e45912015-10-04 20:19:41 -050066
Brad Bishop831188f2015-10-19 14:10:12 -040067flasher: $(OBJS2) flasher_obj.o libopenbmc_intf
68 $(CC) -o bin/$@.exe obj/flasher_obj.o $(OBJS3) $(LDFLAGS) $(LIBS)
Norman James1e25d1d2015-09-15 08:20:56 -050069
Norman James37478222015-10-31 17:26:01 -050070pflash: $(OBJS2) pflash.o
71 $(CC) -o bin/$@ obj/pflash.o $(OBJS3) $(LDFLAGS)
Norman James18998182015-10-11 21:54:53 -050072
Norman Jamesa3e47c42015-10-18 14:43:10 -050073
Norman James37478222015-10-31 17:26:01 -050074all: setup libopenbmc_intf power_control led_controller button_power control_host fan host_watchdog control_bmc board_vpd pcie_slot_present flash_bios flasher control_bmc_barreleye pflash