blob: 937b3932bad79568fda33eb0de8f278549bed52f [file] [log] [blame]
Brad Bishop9a9ace92016-06-13 14:29:39 -04001LIBS += libwritefrudata.so
2HOST_LIBS += libstrgfnhandler.so
vishwa13555bd2015-11-10 12:10:38 -06003libwritefrudata.so_OBJS += frup.o writefrudata.o
Brad Bishopdcdc0932016-06-13 14:21:46 -04004libwritefrudata.so_VERSION = 1
vishwa13555bd2015-11-10 12:10:38 -06005libstrgfnhandler.so_OBJS += strgfnhandler.o
Brad Bishopdcdc0932016-06-13 14:21:46 -04006libstrgfnhandler.so_VERSION = 1
vishwa13555bd2015-11-10 12:10:38 -06007
8EXES += phosphor-read-eeprom
9
10phosphor-read-eeprom_OBJS += readeeprom.o argument.o
11phosphor-read-eeprom_EXTRA_LIBS += writefrudata
12libstrgfnhandler.so_EXTRA_LIBS += writefrudata
13libwritefrudata.so_NEEDED += libsystemd
14phosphor-read-eeprom_NEEDED += libsystemd
Hariharasubramanian R44473092015-10-15 08:25:28 -050015
Patrick Williams7bb1b152015-10-31 23:27:17 -050016#### -----------------------------------------------------------------------####
17# #
18## Compilare Regulas Sequi ##
19# #
20#### -----------------------------------------------------------------------####
vishwa13555bd2015-11-10 12:10:38 -060021OPTFLAGS ?= -O3 -g -pipe -G -K
Patrick Williams7bb1b152015-10-31 23:27:17 -050022CFLAGS ?= $(OPTFLAGS)
23CXXFLAGS ?= $(OPTFLAGS)
24CFLAGS += -Wall -flto -fPIC
Chris Austenb45c4cb2015-11-01 06:34:56 -060025CXXFLAGS += --std=gnu++14 -Wall -flto -fPIC
Hariharasubramanian R44473092015-10-15 08:25:28 -050026
Patrick Williams7bb1b152015-10-31 23:27:17 -050027__PKG_CONFIG = $(if $1,$(shell pkg-config $2 $1))
vishwa13555bd2015-11-10 12:10:38 -060028__EXTRA_LIB_RESOLV = $(if $1,$1)
Patrick Williams7bb1b152015-10-31 23:27:17 -050029
30define __BUILD_EXE
Brad Bishop9a9ace92016-06-13 14:29:39 -040031$1 : $$($1_OBJS) | $$(LIBS) $$(HOST_LIBS)
32 $$(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 -050033
34$(eval CXXFLAGS += $(call __PKG_CONFIG,$($1_NEEDED),--cflags))
35
36#include $$($1_OBJS:.o=.d)
37endef
38
39$(foreach exe,$(EXES),$(eval $(call __BUILD_EXE,$(exe))))
40
41define __BUILD_LIB
vishwa13555bd2015-11-10 12:10:38 -060042$1 : $$($1_OBJS) | $$(addsuffix .so,$$(addprefix lib,$$($1_EXTRA_LIBS)))
Brad Bishopdcdc0932016-06-13 14:21:46 -040043 $$(LINK.cpp) -fPIC -shared -Wl,-soname,$$@ -o $$(addsuffix .$($1_VERSION), $$@) $$^ $(call __EXTRA_LIB_RESOLV,$(addprefix -l,$($1_EXTRA_LIBS))) -L. $(call __PKG_CONFIG,$($1_NEEDED),--libs)
44 ln -sf $$(addsuffix .$($1_VERSION), $$@) $1
Patrick Williams7bb1b152015-10-31 23:27:17 -050045
46$(eval CXXFLAGS += $(call __PKG_CONFIG,$($1_NEEDED),--cflags))
47
48#include $$($1_OBJS:.o=.d)
49endef
50
51$(foreach lib,$(LIBS),$(eval $(call __BUILD_LIB,$(lib))))
vishwa13555bd2015-11-10 12:10:38 -060052$(foreach lib,$(HOST_LIBS),$(eval $(call __BUILD_LIB,$(lib))))
Patrick Williams7bb1b152015-10-31 23:27:17 -050053
54.PHONY: clean
55clean:
56 $(RM) $(foreach exe,$(EXES),$(exe) $($(exe)_OBJS)) \
Brad Bishopdcdc0932016-06-13 14:21:46 -040057 $(foreach lib,$(LIBS),$(addsuffix .$($(lib)_VERSION), $(lib)) $(lib) $($(lib)_OBJS)) \
58 $(foreach lib,$(HOST_LIBS),$(addsuffix .$($(lib)_VERSION), $(lib)) $(lib) $($(lib)_OBJS))
Hariharasubramanian R44473092015-10-15 08:25:28 -050059
Vishwa4be4b7a2015-10-31 22:55:50 -050060DESTDIR ?= /
Patrick Williams7bb1b152015-10-31 23:27:17 -050061BINDIR ?= /usr/bin
Vishwa4be4b7a2015-10-31 22:55:50 -050062LIBDIR ?= /usr/lib
63
Patrick Williams7bb1b152015-10-31 23:27:17 -050064.PHONY: install
Vishwa4be4b7a2015-10-31 22:55:50 -050065install:
Patrick Williams7bb1b152015-10-31 23:27:17 -050066 $(if $(EXES),\
67 install -m 0755 -d $(DESTDIR)$(BINDIR) && \
68 install -m 0755 $(EXES) $(DESTDIR)$(BINDIR) \
69 )
70 $(if $(LIBS),\
71 install -m 0755 -d $(DESTDIR)$(LIBDIR)/host-ipmid && \
Brad Bishopdcdc0932016-06-13 14:21:46 -040072 install -m 0755 $(foreach lib,$(HOST_LIBS),$(addsuffix .$($(lib)_VERSION), $(lib))) $(DESTDIR)$(LIBDIR)/host-ipmid && \
73 install -m 0755 $(foreach lib,$(LIBS),$(addsuffix .$($(lib)_VERSION), $(lib))) $(DESTDIR)$(LIBDIR) \
74 $(foreach lib,$(HOST_LIBS), && ln -sf $(addsuffix .$($(lib)_VERSION), $(lib)) $(DESTDIR)$(LIBDIR)/host-ipmid/$(lib)) \
75 $(foreach lib,$(LIBS), && ln -sf $(addsuffix .$($(lib)_VERSION), $(lib)) $(DESTDIR)$(LIBDIR)/$(lib)) \
Patrick Williams7bb1b152015-10-31 23:27:17 -050076 )
77
78.DEFAULT_GOAL: all
79.PHONY: all
80all: $(EXES) $(LIBS)