blob: dc66a77d2537c97e5a04c0a6c8c429c688b93edf [file] [log] [blame]
vishwa13555bd2015-11-10 12:10:38 -06001LIBS += libwritefrudata.so
2HOST_LIBS += libstrgfnhandler.so
3libwritefrudata.so_OBJS += frup.o writefrudata.o
4libstrgfnhandler.so_OBJS += strgfnhandler.o
5
6EXES += phosphor-read-eeprom
7
8phosphor-read-eeprom_OBJS += readeeprom.o argument.o
9phosphor-read-eeprom_EXTRA_LIBS += writefrudata
10libstrgfnhandler.so_EXTRA_LIBS += writefrudata
11libwritefrudata.so_NEEDED += libsystemd
12phosphor-read-eeprom_NEEDED += libsystemd
Hariharasubramanian R44473092015-10-15 08:25:28 -050013
Patrick Williams7bb1b152015-10-31 23:27:17 -050014#### -----------------------------------------------------------------------####
15# #
16## Compilare Regulas Sequi ##
17# #
18#### -----------------------------------------------------------------------####
vishwa13555bd2015-11-10 12:10:38 -060019OPTFLAGS ?= -O3 -g -pipe -G -K
Patrick Williams7bb1b152015-10-31 23:27:17 -050020CFLAGS ?= $(OPTFLAGS)
21CXXFLAGS ?= $(OPTFLAGS)
22CFLAGS += -Wall -flto -fPIC
Chris Austenb45c4cb2015-11-01 06:34:56 -060023CXXFLAGS += --std=gnu++14 -Wall -flto -fPIC
Hariharasubramanian R44473092015-10-15 08:25:28 -050024
Patrick Williams7bb1b152015-10-31 23:27:17 -050025__PKG_CONFIG = $(if $1,$(shell pkg-config $2 $1))
vishwa13555bd2015-11-10 12:10:38 -060026__EXTRA_LIB_RESOLV = $(if $1,$1)
Patrick Williams7bb1b152015-10-31 23:27:17 -050027
28define __BUILD_EXE
vishwa13555bd2015-11-10 12:10:38 -060029$1 : $$($1_OBJS) | $$(LIBS) $$(HOST_LIBS)
30 $$(LINK.cpp) -o $$@ $$^ $(call __EXTRA_LIB_RESOLV,$(addprefix -l,$($1_EXTRA_LIBS))) -L. $(call __PKG_CONFIG,$($1_NEEDED),--libs)
Patrick Williams7bb1b152015-10-31 23:27:17 -050031
32$(eval CXXFLAGS += $(call __PKG_CONFIG,$($1_NEEDED),--cflags))
33
34#include $$($1_OBJS:.o=.d)
35endef
36
37$(foreach exe,$(EXES),$(eval $(call __BUILD_EXE,$(exe))))
38
39define __BUILD_LIB
vishwa13555bd2015-11-10 12:10:38 -060040$1 : $$($1_OBJS) | $$(addsuffix .so,$$(addprefix lib,$$($1_EXTRA_LIBS)))
41 $$(LINK.cpp) -fPIC -shared -o $$@ $$^ $(call __EXTRA_LIB_RESOLV,$(addprefix -l,$($1_EXTRA_LIBS))) -L. $(call __PKG_CONFIG,$($1_NEEDED),--libs)
Patrick Williams7bb1b152015-10-31 23:27:17 -050042
43$(eval CXXFLAGS += $(call __PKG_CONFIG,$($1_NEEDED),--cflags))
44
45#include $$($1_OBJS:.o=.d)
46endef
47
48$(foreach lib,$(LIBS),$(eval $(call __BUILD_LIB,$(lib))))
vishwa13555bd2015-11-10 12:10:38 -060049$(foreach lib,$(HOST_LIBS),$(eval $(call __BUILD_LIB,$(lib))))
Patrick Williams7bb1b152015-10-31 23:27:17 -050050
51.PHONY: clean
52clean:
53 $(RM) $(foreach exe,$(EXES),$(exe) $($(exe)_OBJS)) \
vishwa13555bd2015-11-10 12:10:38 -060054 $(foreach lib,$(LIBS),$(lib) $($(lib)_OBJS)) \
55 $(foreach lib,$(HOST_LIBS),$(lib) $($(lib)_OBJS))
Hariharasubramanian R44473092015-10-15 08:25:28 -050056
Vishwa4be4b7a2015-10-31 22:55:50 -050057DESTDIR ?= /
Patrick Williams7bb1b152015-10-31 23:27:17 -050058BINDIR ?= /usr/bin
Vishwa4be4b7a2015-10-31 22:55:50 -050059LIBDIR ?= /usr/lib
60
Patrick Williams7bb1b152015-10-31 23:27:17 -050061.PHONY: install
Vishwa4be4b7a2015-10-31 22:55:50 -050062install:
Patrick Williams7bb1b152015-10-31 23:27:17 -050063 $(if $(EXES),\
64 install -m 0755 -d $(DESTDIR)$(BINDIR) && \
65 install -m 0755 $(EXES) $(DESTDIR)$(BINDIR) \
66 )
67 $(if $(LIBS),\
68 install -m 0755 -d $(DESTDIR)$(LIBDIR)/host-ipmid && \
Chris Austenf31db382015-11-24 15:32:33 -060069 install -m 0755 $(HOST_LIBS) $(DESTDIR)$(LIBDIR)/host-ipmid && \
vishwa13555bd2015-11-10 12:10:38 -060070 install -m 0755 $(LIBS) $(DESTDIR)$(LIBDIR) \
Patrick Williams7bb1b152015-10-31 23:27:17 -050071 )
72
73.DEFAULT_GOAL: all
74.PHONY: all
75all: $(EXES) $(LIBS)