diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2015-10-31 23:27:17 -0500 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2015-10-31 23:27:17 -0500 |
commit | 7bb1b15e20087ff630da97acd48eba3cb958734c (patch) | |
tree | e554506fb7716ff523be82677bde02e763ec4b3c /Makefile | |
parent | 4be4b7a979ad4af21883b22c511184cf4223372e (diff) | |
download | ipmi-fru-parser-7bb1b15e20087ff630da97acd48eba3cb958734c.tar.gz ipmi-fru-parser-7bb1b15e20087ff630da97acd48eba3cb958734c.zip |
Clean up makefile.
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 70 |
1 files changed, 51 insertions, 19 deletions
@@ -1,30 +1,62 @@ -CXX ?= $(CROSS_COMPILE)gcc +LIBS += libwritefrudata.so +libwritefrudata.so_OBJS += frup.o writefrudata.o +libwritefrudata.so_NEEDED += libsystemd -FRU_WRITE_AND_PARSER_LIB = libwritefrudata.so -FRU_WRITE_AND_PARSER_OBJS = frup.o writefrudata.o +#### -----------------------------------------------------------------------#### +# # +## Compilare Regulas Sequi ## +# # +#### -----------------------------------------------------------------------#### +OPTFLAGS ?= -O3 -g -pipe +CFLAGS ?= $(OPTFLAGS) +CXXFLAGS ?= $(OPTFLAGS) +CFLAGS += -Wall -flto -fPIC +CXXFLAGS += --std=gnu++14 -Wall -flto -fPIC -I. -INC_FLAGS += $(shell pkg-config --cflags --libs libsystemd) -I. -O2 --std=gnu++14 -LIB_FLAGS += $(shell pkg-config --libs libsystemd) -rdynamic +__PKG_CONFIG = $(if $1,$(shell pkg-config $2 $1)) -DESTDIR ?= / -SBINDIR ?= /usr/sbin -INCLUDEDIR ?= /usr/include -LIBDIR ?= /usr/lib +define __BUILD_EXE +$1 : $$($1_OBJS) $$(LIBS) + $$(LINK.cpp) -o $$@ $$^ $(call __PKG_CONFIG,$($1_NEEDED),--libs) + +$(eval CXXFLAGS += $(call __PKG_CONFIG,$($1_NEEDED),--cflags)) + +#include $$($1_OBJS:.o=.d) +endef -all: $(FRU_WRITE_AND_PARSER_LIB) +$(foreach exe,$(EXES),$(eval $(call __BUILD_EXE,$(exe)))) -%.o: %.c - $(CXX) -fpic -c $< $(CXXFLAGS) $(INC_FLAGS) $(IPMID_PATH) -o $@ +define __BUILD_LIB +$1 : $$($1_OBJS) + $$(LINK.cpp) -shared -o $$@ $$^ $(call __PKG_CONFIG,$($1_NEEDED),--libs) -%.o: %.C - $(CXX) -fpic -c $< $(CXXFLAGS) $(INC_FLAGS) $(IPMID_PATH) -o $@ +$(eval CXXFLAGS += $(call __PKG_CONFIG,$($1_NEEDED),--cflags)) -$(FRU_WRITE_AND_PARSER_LIB): $(FRU_WRITE_AND_PARSER_OBJS) - $(CXX) $^ -shared $(LDFLAGS) $(LIB_FLAGS) -o $@ +#include $$($1_OBJS:.o=.d) +endef +$(foreach lib,$(LIBS),$(eval $(call __BUILD_LIB,$(lib)))) + +.PHONY: clean clean: - rm -f $(FRU_WRITE_AND_PARSER_OBJS) $(FRU_WRITE_AND_PARSER_LIB) + $(RM) $(foreach exe,$(EXES),$(exe) $($(exe)_OBJS)) \ + $(foreach lib,$(LIBS),$(lib) $($(lib)_OBJS)) + +DESTDIR ?= / +BINDIR ?= /usr/bin +LIBDIR ?= /usr/lib +.PHONY: install install: - install -m 0755 -d $(DESTDIR)$(LIBDIR)/host-ipmid - install -m 0755 $(FRU_WRITE_AND_PARSER_LIB) $(DESTDIR)$(LIBDIR)/host-ipmid + $(if $(EXES),\ + install -m 0755 -d $(DESTDIR)$(BINDIR) && \ + install -m 0755 $(EXES) $(DESTDIR)$(BINDIR) \ + ) + $(if $(LIBS),\ + install -m 0755 -d $(DESTDIR)$(LIBDIR)/host-ipmid && \ + install -m 0755 $(LIBS) $(DESTDIR)$(LIBDIR)/host-ipmid \ + ) + +.DEFAULT_GOAL: all +.PHONY: all +all: $(EXES) $(LIBS) |