blob: 9e87539b22d705d6fb54176dd441bb76ef63c912 [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
Norman James88872672015-09-21 16:51:35 -05007LIBS = ./bin
8OFLAGS =-L$(LIBS) -lopenbmc_intf
9HOME = .
10CFLAGS=$(shell pkg-config --libs --cflags gio-unix-2.0 glib-2.0)
11#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
Norman Jamese2765102015-08-19 22:00:55 -050012
13%.o: interfaces/%.c
Norman James362a80f2015-09-14 14:04:39 -050014 $(CC) -c -fPIC -o obj/$@ $< -I$(HOME) -I$(HOME)/includes $(CFLAGS)
Norman Jamese2765102015-08-19 22:00:55 -050015
16%.o: objects/%.c
Norman James88872672015-09-21 16:51:35 -050017 $(CC) -c -o obj/$@ $< -L$(LIBS) -I$(HOME) -I$(HOME)/includes -I$(HOME)/objects/pflash $(CFLAGS)
Norman Jamesddb97382015-08-27 21:31:31 -050018
19%.o: includes/%.c
Norman James88872672015-09-21 16:51:35 -050020 $(CC) -c -o obj/$@ $< -L$(LIBS) -I$(HOME) -I$(HOME)/includes -I$(HOME)/objects/pflash $(CFLAGS)
Norman Jamese2765102015-08-19 22:00:55 -050021
22%.o: objects/pflash/%.c
Norman Jamesf066e872015-10-07 15:29:51 -050023 $(CC) -c -o obj/$@ $< -I$(HOME) -I$(HOME)/objects/pflash $(CFLAGS)
Norman Jamese2765102015-08-19 22:00:55 -050024
Norman Jamesf066e872015-10-07 15:29:51 -050025%.o: objects/pflash/libflash/%.c
26 $(CC) -c -o obj/$@ $< -I$(HOME) -I$(HOME)/objects/pflash $(CFLAGS)
Norman James1e25d1d2015-09-15 08:20:56 -050027
Norman Jamesf066e872015-10-07 15:29:51 -050028setup:
29 mkdir obj
Norman James1e25d1d2015-09-15 08:20:56 -050030
Norman James5e792e32015-10-07 17:36:17 -050031clean:
32 rm -rf obj
33
Norman James362a80f2015-09-14 14:04:39 -050034libopenbmc_intf: openbmc_intf.o
Norman James88872672015-09-21 16:51:35 -050035 $(CC) -shared -o bin/$@.so obj/openbmc_intf.o $(CFLAGS)
Norman Jamese2765102015-08-19 22:00:55 -050036
Norman James8abb50c2015-09-16 10:58:16 -050037power_control: power_control_obj.o gpio.o
38 $(CC) -o bin/$@.exe obj/gpio.o obj/power_control_obj.o $(OFLAGS) $(CFLAGS)
Norman Jamese2765102015-08-19 22:00:55 -050039
Norman James362a80f2015-09-14 14:04:39 -050040chassis_identify: chassis_identify_obj.o gpio.o
41 $(CC) -o bin/$@.exe obj/gpio.o obj/chassis_identify_obj.o $(OFLAGS) $(CFLAGS)
Norman Jamese2765102015-08-19 22:00:55 -050042
Norman James362a80f2015-09-14 14:04:39 -050043sensor_ambient: sensor_threshold.o sensor_temperature_ambient_obj.o
44 $(CC) -o bin/$@.exe obj/sensor_threshold.o obj/sensor_temperature_ambient_obj.o $(OFLAGS) $(CFLAGS)
Norman Jamese2765102015-08-19 22:00:55 -050045
Norman James362a80f2015-09-14 14:04:39 -050046button_power: button_power_obj.o gpio.o
Norman Jamesb161ae22015-10-06 12:33:07 -050047 $(CC) -o bin/$@.exe obj/button_power_obj.o obj/gpio.o $(OFLAGS) $(CFLAGS)
Norman Jamese2765102015-08-19 22:00:55 -050048
Norman James362a80f2015-09-14 14:04:39 -050049sensor_host_status: sensor_host_status_obj.o
50 $(CC) -o bin/$@.exe obj/sensor_host_status_obj.o $(OFLAGS) $(CFLAGS)
Norman James9e6acf92015-09-08 07:00:04 -050051
Norman James362a80f2015-09-14 14:04:39 -050052control_host: control_host_obj.o gpio.o
53 $(CC) -o bin/$@.exe obj/gpio.o obj/control_host_obj.o $(OFLAGS) $(CFLAGS)
Norman Jamese2765102015-08-19 22:00:55 -050054
Norman Jamesf066e872015-10-07 15:29:51 -050055flash_bios: $(OBJS2) pflash.o flash_bios_obj.o
56 $(CC) -o bin/$@.exe obj/flash_bios_obj.o $(OFLAGS) $(OBJS3) $(CFLAGS)
Norman Jamese2765102015-08-19 22:00:55 -050057
Norman James362a80f2015-09-14 14:04:39 -050058fan: fan_generic_obj.o gpio.o
59 $(CC) -o bin/$@.exe obj/gpio.o obj/fan_generic_obj.o $(OFLAGS) $(CFLAGS)
Norman James471ab592015-08-30 22:29:40 -050060
Norman James362a80f2015-09-14 14:04:39 -050061host_watchdog: host_watchdog_obj.o
62 $(CC) -o bin/$@.exe obj/host_watchdog_obj.o $(OFLAGS) $(CFLAGS)
Norman James471ab592015-08-30 22:29:40 -050063
Norman James362a80f2015-09-14 14:04:39 -050064control_bmc: control_bmc_obj.o
65 $(CC) -o bin/$@.exe obj/control_bmc_obj.o $(OFLAGS) $(CFLAGS)
Norman James471ab592015-08-30 22:29:40 -050066
Norman James362a80f2015-09-14 14:04:39 -050067sensor_occ: sensor_occ_obj.o
68 $(CC) -o bin/$@.exe obj/sensor_occ_obj.o $(OFLAGS) $(CFLAGS)
Norman James471ab592015-08-30 22:29:40 -050069
Norman James362a80f2015-09-14 14:04:39 -050070board_vpd: board_vpd_obj.o
71 $(CC) -o bin/$@.exe obj/board_vpd_obj.o $(OFLAGS) $(CFLAGS)
Norman James1e25d1d2015-09-15 08:20:56 -050072
Norman James19e45912015-10-04 20:19:41 -050073pcie_slot_present: pcie_slot_present_obj.o gpio.o
74 $(CC) -o bin/$@.exe obj/pcie_slot_present_obj.o obj/gpio.o $(OFLAGS) $(CFLAGS)
75
Norman James1e25d1d2015-09-15 08:20:56 -050076
Norman James5e792e32015-10-07 17:36:17 -050077all: 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