|
@@ -0,0 +1,58 @@
|
|
|
|
+# (c) R. Russinger GfA 2017,... LGPL v3
|
|
|
|
+#
|
|
|
|
+# Makefile for GfA Libraries
|
|
|
|
+# call with make DEBUG=1 for Debug output
|
|
|
|
+# output is held in Release or Debug subfolder (folders are created automaticalle)
|
|
|
|
+# make Variable for foldernames := BINDIR
|
|
|
|
+#
|
|
|
|
+#
|
|
|
|
+DEBUG ?= 0
|
|
|
|
+
|
|
|
|
+_LIBBASENAME=gfaipc
|
|
|
|
+LIBFILENAME=lib$(LIBBASENAME).so.1.1.0
|
|
|
|
+
|
|
|
|
+CFLAGS = -c -pthread -fPIC -Wall -Wno-unused -Wno-unused-label -Wformat -Wuninitialized -Wundef -Wcast-qual -Wwrite-strings -fabi-version=2 -fno-omit-frame-pointer
|
|
|
|
+CXXFLAGS = -c -pthread -fPIC -Wall -Wno-unused -Wno-unused-label -Wformat -Wuninitialized -Wundef -Wcast-qual -Wwrite-strings -std=c++11 -fabi-version=2 -fno-omit-frame-pointer
|
|
|
|
+LDFLAGS = -fPIC -shared -L. -lc -pthread
|
|
|
|
+
|
|
|
|
+ifeq ($(DEBUG), 1)
|
|
|
|
+ CFLAGS += -g
|
|
|
|
+ CXXFLAGS += -g
|
|
|
|
+ LDFLAGS += -g
|
|
|
|
+ LIBBASENAME = $(_LIBBASENAME)d
|
|
|
|
+ BINDIR=Debug
|
|
|
|
+else
|
|
|
|
+ CFLAGS += -O3
|
|
|
|
+ CXXFLAGS += -O3
|
|
|
|
+ LDFLAGS += -O3
|
|
|
|
+ LIBBASENAME = $(_LIBBASENAME)
|
|
|
|
+ BINDIR=Release
|
|
|
|
+endif
|
|
|
|
+
|
|
|
|
+$(shell mkdir -p $(BINDIR) > /dev/null)
|
|
|
|
+
|
|
|
|
+TARGET_LIB = $(LIBFILENAME) # target lib
|
|
|
|
+
|
|
|
|
+CSRCS = uuid.c # source files
|
|
|
|
+CXXSRCS = sema.cpp mutex.cpp locmtx.cpp shm.cpp shmrot.cpp ipcshm.cpp # source files
|
|
|
|
+
|
|
|
|
+COBJS = $(CSRCS:%.c=$(BINDIR)/%.o)
|
|
|
|
+CXXOBJS = $(CXXSRCS:%.cpp=$(BINDIR)/%.o)
|
|
|
|
+
|
|
|
|
+.PHONY: all
|
|
|
|
+all: $(BINDIR)/${TARGET_LIB}
|
|
|
|
+
|
|
|
|
+$(BINDIR)/$(TARGET_LIB): $(COBJS) $(CXXOBJS)
|
|
|
|
+ $(CC) ${LDFLAGS} -o $@ $^
|
|
|
|
+
|
|
|
|
+$(CSRCS:%.c=$(BINDIR)/%.d):$(BINDIR)/%.d:%.c
|
|
|
|
+ $(CC) $(CFLAGS) -MP -MT $(basename $@).o -MMD -MF $@ -o $(basename $@).o $<
|
|
|
|
+
|
|
|
|
+$(CXXSRCS:%.cpp=$(BINDIR)/%.dpp):$(BINDIR)/%.dpp:%.cpp
|
|
|
|
+ $(CXX) $(CXXFLAGS) -MP -MT $(basename $@).o -MMD -MF $@ -o $(basename $@).o $<
|
|
|
|
+
|
|
|
|
+include $(CSRCS:%.c=$(BINDIR)/%.d) $(CXXSRCS:%.cpp=$(BINDIR)/%.dpp)
|
|
|
|
+
|
|
|
|
+.PHONY: clean
|
|
|
|
+clean:
|
|
|
|
+ @rm -rf $(BINDIR)
|