|
@@ -1,13 +1,18 @@
|
|
-# Change these if necessary
|
|
|
|
|
|
+# (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
|
|
DEBUG ?= 0
|
|
|
|
|
|
_LIBBASENAME=gfaipc
|
|
_LIBBASENAME=gfaipc
|
|
LIBFILENAME=lib$(LIBBASENAME).so.1.1.0
|
|
LIBFILENAME=lib$(LIBBASENAME).so.1.1.0
|
|
|
|
|
|
-#CC = $(CROSS_COMPILE)gcc
|
|
|
|
-#CXX = $(CROSS_COMPILE)c++
|
|
|
|
-CFLAGS = -pthread -fPIC -Wall -Wno-unused -Wno-unused-label -Wformat -Wuninitialized -Wundef -Wcast-qual -Wwrite-strings -fabi-version=2 -fno-omit-frame-pointer
|
|
|
|
-CXXFLAGS = -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
|
|
|
|
|
|
+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
|
|
LDFLAGS = -fPIC -shared -L. -lc -pthread
|
|
|
|
|
|
ifeq ($(DEBUG), 1)
|
|
ifeq ($(DEBUG), 1)
|
|
@@ -15,41 +20,39 @@ ifeq ($(DEBUG), 1)
|
|
CXXFLAGS += -g
|
|
CXXFLAGS += -g
|
|
LDFLAGS += -g
|
|
LDFLAGS += -g
|
|
LIBBASENAME = $(_LIBBASENAME)d
|
|
LIBBASENAME = $(_LIBBASENAME)d
|
|
|
|
+ BINDIR=Debug
|
|
else
|
|
else
|
|
CFLAGS += -O3
|
|
CFLAGS += -O3
|
|
CXXFLAGS += -O3
|
|
CXXFLAGS += -O3
|
|
LDFLAGS += -O3
|
|
LDFLAGS += -O3
|
|
LIBBASENAME = $(_LIBBASENAME)
|
|
LIBBASENAME = $(_LIBBASENAME)
|
|
|
|
+ BINDIR=Release
|
|
endif
|
|
endif
|
|
|
|
|
|
|
|
+$(shell mkdir -p $(BINDIR) > /dev/null)
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-RM = rm -f # rm command
|
|
|
|
TARGET_LIB = $(LIBFILENAME) # target lib
|
|
TARGET_LIB = $(LIBFILENAME) # target lib
|
|
|
|
|
|
CSRCS = uuid.c # source files
|
|
CSRCS = uuid.c # source files
|
|
CXXSRCS = sema.cpp mutex.cpp locmtx.cpp shm.cpp shmrot.cpp ipcshm.cpp # source files
|
|
CXXSRCS = sema.cpp mutex.cpp locmtx.cpp shm.cpp shmrot.cpp ipcshm.cpp # source files
|
|
-COBJS = $(CSRCS:.c=.o)
|
|
|
|
-CXXOBJS = $(CXXSRCS:.cpp=.o)
|
|
|
|
|
|
+
|
|
|
|
+COBJS = $(CSRCS:%.c=$(BINDIR)/%.o)
|
|
|
|
+CXXOBJS = $(CXXSRCS:%.cpp=$(BINDIR)/%.o)
|
|
|
|
|
|
.PHONY: all
|
|
.PHONY: all
|
|
-all: ${TARGET_LIB}
|
|
|
|
|
|
+all: $(BINDIR)/${TARGET_LIB}
|
|
|
|
|
|
-$(TARGET_LIB): $(COBJS) $(CXXOBJS)
|
|
|
|
|
|
+$(BINDIR)/$(TARGET_LIB): $(COBJS) $(CXXOBJS)
|
|
$(CC) ${LDFLAGS} -o $@ $^
|
|
$(CC) ${LDFLAGS} -o $@ $^
|
|
|
|
+
|
|
|
|
+$(CSRCS:%.c=$(BINDIR)/%.d):$(BINDIR)/%.d:%.c
|
|
|
|
+ $(CC) $(CFLAGS) -MP -MT $(basename $@).o -MMD -MF $@ -o $(basename $@).o $<
|
|
|
|
|
|
-$(CSRCS:.c=.d):%.d:%.c
|
|
|
|
- $(CC) $(CFLAGS) -MM $< >$@
|
|
|
|
-
|
|
|
|
-$(CXXSRCS:.cpp=.dpp):%.dpp:%.cpp
|
|
|
|
- $(CXX) $(CXXFLAGS) -MM $< >$@
|
|
|
|
|
|
+$(CXXSRCS:%.cpp=$(BINDIR)/%.dpp):$(BINDIR)/%.dpp:%.cpp
|
|
|
|
+ $(CXX) $(CXXFLAGS) -MP -MT $(basename $@).o -MMD -MF $@ -o $(basename $@).o $<
|
|
|
|
|
|
-include $(CSRCS:.c=.d) $(CXXSRCS:.cpp=.dpp)
|
|
|
|
|
|
+include $(CSRCS:%.c=$(BINDIR)/%.d) $(CXXSRCS:%.cpp=$(BINDIR)/%.dpp)
|
|
|
|
|
|
.PHONY: clean
|
|
.PHONY: clean
|
|
clean:
|
|
clean:
|
|
- $(RM) $(TARGET_LIB)
|
|
|
|
- $(RM) *.o
|
|
|
|
- $(RM) *.d
|
|
|
|
- $(RM) *.dpp
|
|
|
|
|
|
+ @rm -rf $(BINDIR)
|