summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2015-10-31 23:27:17 -0500
committerPatrick Williams <patrick@stwcx.xyz>2015-10-31 23:27:17 -0500
commit7bb1b15e20087ff630da97acd48eba3cb958734c (patch)
treee554506fb7716ff523be82677bde02e763ec4b3c
parent4be4b7a979ad4af21883b22c511184cf4223372e (diff)
downloadipmi-fru-parser-7bb1b15e20087ff630da97acd48eba3cb958734c.tar.gz
ipmi-fru-parser-7bb1b15e20087ff630da97acd48eba3cb958734c.zip
Clean up makefile.
-rw-r--r--Makefile70
1 files changed, 51 insertions, 19 deletions
diff --git a/Makefile b/Makefile
index 076aa76..e635432 100644
--- a/Makefile
+++ b/Makefile
@@ -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)
OpenPOWER on IntegriCloud