Selaa lähdekoodia

Makfile zum Erstellen der Bibliothek dazugemacht(für buildroot)
es werden Debug und Releaseverzeichnisse angelegt

Reinhard Russinger 7 vuotta sitten
vanhempi
commit
a8ac73be0b
1 muutettua tiedostoa jossa 58 lisäystä ja 0 poistoa
  1. 58 0
      src/Makefile

+ 58 - 0
src/Makefile

@@ -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)