Brad Bishop | 9a9ace9 | 2016-06-13 14:29:39 -0400 | [diff] [blame] | 1 | LIBS += libwritefrudata.so |
| 2 | HOST_LIBS += libstrgfnhandler.so |
vishwa | 13555bd | 2015-11-10 12:10:38 -0600 | [diff] [blame] | 3 | libwritefrudata.so_OBJS += frup.o writefrudata.o |
Brad Bishop | dcdc093 | 2016-06-13 14:21:46 -0400 | [diff] [blame] | 4 | libwritefrudata.so_VERSION = 1 |
vishwa | 13555bd | 2015-11-10 12:10:38 -0600 | [diff] [blame] | 5 | libstrgfnhandler.so_OBJS += strgfnhandler.o |
Brad Bishop | dcdc093 | 2016-06-13 14:21:46 -0400 | [diff] [blame] | 6 | libstrgfnhandler.so_VERSION = 1 |
vishwa | 13555bd | 2015-11-10 12:10:38 -0600 | [diff] [blame] | 7 | |
| 8 | EXES += phosphor-read-eeprom |
| 9 | |
| 10 | phosphor-read-eeprom_OBJS += readeeprom.o argument.o |
Brad Bishop | de6a379 | 2016-07-25 17:09:12 -0400 | [diff] [blame] | 11 | phosphor-read-eeprom_LDLIBS += mapper |
vishwa | 13555bd | 2015-11-10 12:10:38 -0600 | [diff] [blame] | 12 | phosphor-read-eeprom_EXTRA_LIBS += writefrudata |
| 13 | libstrgfnhandler.so_EXTRA_LIBS += writefrudata |
Brad Bishop | de6a379 | 2016-07-25 17:09:12 -0400 | [diff] [blame] | 14 | libwritefrudata.so_LDLIBS += mapper |
vishwa | 13555bd | 2015-11-10 12:10:38 -0600 | [diff] [blame] | 15 | libwritefrudata.so_NEEDED += libsystemd |
| 16 | phosphor-read-eeprom_NEEDED += libsystemd |
Hariharasubramanian R | 4447309 | 2015-10-15 08:25:28 -0500 | [diff] [blame] | 17 | |
Patrick Williams | 7bb1b15 | 2015-10-31 23:27:17 -0500 | [diff] [blame] | 18 | #### -----------------------------------------------------------------------#### |
| 19 | # # |
| 20 | ## Compilare Regulas Sequi ## |
| 21 | # # |
| 22 | #### -----------------------------------------------------------------------#### |
vishwa | 13555bd | 2015-11-10 12:10:38 -0600 | [diff] [blame] | 23 | OPTFLAGS ?= -O3 -g -pipe -G -K |
Patrick Williams | 7bb1b15 | 2015-10-31 23:27:17 -0500 | [diff] [blame] | 24 | CFLAGS ?= $(OPTFLAGS) |
| 25 | CXXFLAGS ?= $(OPTFLAGS) |
Matthew Barth | 619db93 | 2016-08-29 14:19:38 -0500 | [diff] [blame] | 26 | CFLAGS += -Wall -Werror -flto -fPIC |
| 27 | CXXFLAGS += --std=gnu++14 -Wall -Werror -flto -fPIC |
Hariharasubramanian R | 4447309 | 2015-10-15 08:25:28 -0500 | [diff] [blame] | 28 | |
Patrick Williams | 7bb1b15 | 2015-10-31 23:27:17 -0500 | [diff] [blame] | 29 | __PKG_CONFIG = $(if $1,$(shell pkg-config $2 $1)) |
vishwa | 13555bd | 2015-11-10 12:10:38 -0600 | [diff] [blame] | 30 | __EXTRA_LIB_RESOLV = $(if $1,$1) |
Patrick Williams | 7bb1b15 | 2015-10-31 23:27:17 -0500 | [diff] [blame] | 31 | |
| 32 | define __BUILD_EXE |
Brad Bishop | 9a9ace9 | 2016-06-13 14:29:39 -0400 | [diff] [blame] | 33 | $1 : $$($1_OBJS) | $$(LIBS) $$(HOST_LIBS) |
Brad Bishop | de6a379 | 2016-07-25 17:09:12 -0400 | [diff] [blame] | 34 | $$(LINK.cpp) -o $$@ $$^ $(call __EXTRA_LIB_RESOLV,$(addprefix -l,$($1_EXTRA_LIBS))) -L. $(addprefix -l,$($1_LDLIBS)) $(call __PKG_CONFIG,$($1_NEEDED),--libs) |
Patrick Williams | 7bb1b15 | 2015-10-31 23:27:17 -0500 | [diff] [blame] | 35 | |
| 36 | $(eval CXXFLAGS += $(call __PKG_CONFIG,$($1_NEEDED),--cflags)) |
| 37 | |
| 38 | #include $$($1_OBJS:.o=.d) |
| 39 | endef |
| 40 | |
| 41 | $(foreach exe,$(EXES),$(eval $(call __BUILD_EXE,$(exe)))) |
| 42 | |
| 43 | define __BUILD_LIB |
vishwa | 13555bd | 2015-11-10 12:10:38 -0600 | [diff] [blame] | 44 | $1 : $$($1_OBJS) | $$(addsuffix .so,$$(addprefix lib,$$($1_EXTRA_LIBS))) |
Brad Bishop | de6a379 | 2016-07-25 17:09:12 -0400 | [diff] [blame] | 45 | $$(LINK.cpp) -fPIC -shared -Wl,-soname,$$@ -o $$(addsuffix .$($1_VERSION), $$@) $$^ $(call __EXTRA_LIB_RESOLV,$(addprefix -l,$($1_EXTRA_LIBS))) -L. $(addprefix -l,$($1_LDLIBS)) $(call __PKG_CONFIG,$($1_NEEDED),--libs) |
Brad Bishop | dcdc093 | 2016-06-13 14:21:46 -0400 | [diff] [blame] | 46 | ln -sf $$(addsuffix .$($1_VERSION), $$@) $1 |
Patrick Williams | 7bb1b15 | 2015-10-31 23:27:17 -0500 | [diff] [blame] | 47 | |
| 48 | $(eval CXXFLAGS += $(call __PKG_CONFIG,$($1_NEEDED),--cflags)) |
| 49 | |
| 50 | #include $$($1_OBJS:.o=.d) |
| 51 | endef |
| 52 | |
| 53 | $(foreach lib,$(LIBS),$(eval $(call __BUILD_LIB,$(lib)))) |
vishwa | 13555bd | 2015-11-10 12:10:38 -0600 | [diff] [blame] | 54 | $(foreach lib,$(HOST_LIBS),$(eval $(call __BUILD_LIB,$(lib)))) |
Patrick Williams | 7bb1b15 | 2015-10-31 23:27:17 -0500 | [diff] [blame] | 55 | |
| 56 | .PHONY: clean |
| 57 | clean: |
| 58 | $(RM) $(foreach exe,$(EXES),$(exe) $($(exe)_OBJS)) \ |
Brad Bishop | dcdc093 | 2016-06-13 14:21:46 -0400 | [diff] [blame] | 59 | $(foreach lib,$(LIBS),$(addsuffix .$($(lib)_VERSION), $(lib)) $(lib) $($(lib)_OBJS)) \ |
| 60 | $(foreach lib,$(HOST_LIBS),$(addsuffix .$($(lib)_VERSION), $(lib)) $(lib) $($(lib)_OBJS)) |
Hariharasubramanian R | 4447309 | 2015-10-15 08:25:28 -0500 | [diff] [blame] | 61 | |
Vishwa | 4be4b7a | 2015-10-31 22:55:50 -0500 | [diff] [blame] | 62 | DESTDIR ?= / |
Patrick Williams | 7bb1b15 | 2015-10-31 23:27:17 -0500 | [diff] [blame] | 63 | BINDIR ?= /usr/bin |
Vishwa | 4be4b7a | 2015-10-31 22:55:50 -0500 | [diff] [blame] | 64 | LIBDIR ?= /usr/lib |
| 65 | |
Patrick Williams | 7bb1b15 | 2015-10-31 23:27:17 -0500 | [diff] [blame] | 66 | .PHONY: install |
Vishwa | 4be4b7a | 2015-10-31 22:55:50 -0500 | [diff] [blame] | 67 | install: |
Patrick Williams | 7bb1b15 | 2015-10-31 23:27:17 -0500 | [diff] [blame] | 68 | $(if $(EXES),\ |
| 69 | install -m 0755 -d $(DESTDIR)$(BINDIR) && \ |
| 70 | install -m 0755 $(EXES) $(DESTDIR)$(BINDIR) \ |
| 71 | ) |
| 72 | $(if $(LIBS),\ |
| 73 | install -m 0755 -d $(DESTDIR)$(LIBDIR)/host-ipmid && \ |
Brad Bishop | dcdc093 | 2016-06-13 14:21:46 -0400 | [diff] [blame] | 74 | install -m 0755 $(foreach lib,$(HOST_LIBS),$(addsuffix .$($(lib)_VERSION), $(lib))) $(DESTDIR)$(LIBDIR)/host-ipmid && \ |
| 75 | install -m 0755 $(foreach lib,$(LIBS),$(addsuffix .$($(lib)_VERSION), $(lib))) $(DESTDIR)$(LIBDIR) \ |
| 76 | $(foreach lib,$(HOST_LIBS), && ln -sf $(addsuffix .$($(lib)_VERSION), $(lib)) $(DESTDIR)$(LIBDIR)/host-ipmid/$(lib)) \ |
| 77 | $(foreach lib,$(LIBS), && ln -sf $(addsuffix .$($(lib)_VERSION), $(lib)) $(DESTDIR)$(LIBDIR)/$(lib)) \ |
Patrick Williams | 7bb1b15 | 2015-10-31 23:27:17 -0500 | [diff] [blame] | 78 | ) |
| 79 | |
| 80 | .DEFAULT_GOAL: all |
| 81 | .PHONY: all |
| 82 | all: $(EXES) $(LIBS) |