From 0f33979a7211e0b0f3b733a4ad7ffe224a561de4 Mon Sep 17 00:00:00 2001 From: heck Date: Thu, 2 Jul 2020 23:12:59 +0200 Subject: [PATCH] Build info and lib-name --- src/Makefile | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/src/Makefile b/src/Makefile index 8ef7459..c23556b 100644 --- a/src/Makefile +++ b/src/Makefile @@ -5,6 +5,24 @@ include ../Makefile.conf +# Names of the java and c++ libs to be built +LIB_JAVA=pEp.jar +LIB_CXX_NAME=libpEpJNI +LIB_CXX_STATIC=$(addsuffix .a,$(LIB_CXX_NAME)) + +ifeq ($(PLATFORM),linux) + LIB_CXX_DYN=$(addsuffix .so,$(LIB_CXX_NAME)) +else ifeq ($(PLATFORM),darwin) + LIB_CXX_DYN=$(addsuffix .dylib,$(LIB_CXX_NAME)) +else + $(error I dont know how to build for $(PLATFORM).) +endif + +$(info ------------------ DIST FILES ---------------------) +$(info LIB_JAVA: $(LIB_JAVA)) +$(info LIB_CXX_STATIC: $(LIB_CXX_STATIC)) +$(info LIB_CXX_DYN: $(LIB_CXX_DYN)) +$(info ------------------ BUILD INFO ---------------------) $(info PLATFORM: $(PLATFORM)) $(info DEBUG: $(DEBUG)) $(info CXX: $(CXX)) @@ -17,17 +35,7 @@ $(info YML2_PATH: $(YML2_PATH)) $(info CXXFLAGS: $(CXXFLAGS)) $(info LDFLAGS: $(LDFLAGS)) $(info LDLIBS: $(LDLIBS)) - -# Names of the java and c++ libs to be built -LIB_JAVA=pEp.jar -LIB_CXX_STATIC=libpEpJNI.a -ifeq ($(PLATFORM),linux) - LIB_CXX_DYN=libpEpJNI.so -else ifeq ($(PLATFORM),darwin) - LIB_CXX_DYN=libpEpJNI.dylib -else - $(error I dont know how to build for $(PLATFORM).) -endif +$(info ---------------------------------------------------) # Dirs # relative to "src/" @@ -92,7 +100,6 @@ JNI_GENERATED_HH=\ # Derive Java sources that will cause generated headers (for incremental build) helper=$(subst _,/,$(JNI_GENERATED_HH)) JNI_GENERATING_JAVA=$(subst .h,.java,$(helper)) -$(info JNI_GENERATING_JAVA: $(JNI_GENERATING_JAVA)) # Auto dependencies using gcc/clang CXXFLAGS+= -MMD -MP @@ -102,7 +109,7 @@ SOURCES+=$(GENERATED_CC) OBJECTS=$(SOURCES:.cc=.o) DEPENDS=$(OBJECTS:.o=.d) -.PHONY: all lib-java lib-cxx compile-java compile-cxx gen-jni-headers codegen gen-status-codes clean out-dirs clean-out-dirs +.PHONY: all lib-java lib-cxx compile-java compile-cxx gen-jni-headers codegen gen-status-codes clean create-dirs remove-dirs all: lib-java lib-cxx @@ -124,14 +131,13 @@ $(LIB_CXX_STATIC): compile-cxx # -------------- Compile ----------------- -compile-java: out-dirs codegen +compile-java: create-dirs codegen $(JAVA_BIN_DIR)/javac -d $(JAVA_BUILD_ROOT) $(JAVA_PKG_ROOT)/*.java $(JAVA_BIN_DIR)/javac -d $(JAVA_BUILD_ROOT) $(JAVA_PKG_ROOT)/exceptions/*.java # Compile C++ using implicit rules -include $(DEPENDS) -compile-cxx: out-dirs gen-jni-headers $(OBJECTS) # --------- Generate JNI headers ---------- @@ -149,28 +155,26 @@ endif # ------------- YML2 CodeGen -------------- codegen: gen-status-codes $(YML2_MARKERS) -# CodeGen $(YML2_MARKERS): %.marker : %.ysl2 pEp.yml2 $(YML2_INCLUDES) $(YML2_PROC) -y $< pEp.yml2 gen-status-codes: status_list.yml2 - status_list.yml2: pEp.yml2 bash ../utils/extract_pEp_status_codes_from_engine.sh "$(PEP_HEADER)" $@ # ------------- Housekeeping --------------- -out-dirs: +create-dirs: mkdir -p $(JAVA_BUILD_ROOT)/$(JAVA_PKG_ROOT) mkdir -p $(JAVA_BUILD_ROOT)/$(JAVA_PKG_ROOT)/exceptions mkdir -p $(OBJ_DIR) mkdir -p $(DIST_DIR) -clean-out-dirs: +remove-dirs: rm -rf ../build rm -rf ../dist -clean: clean-out-dirs +clean: remove-dirs rm -f $(GENERATED_JAVA) rm -f $(GENERATED_CC) rm -f $(GENERATED_HH)