Browse Source

Build info and lib-name

JNI-106
heck 5 years ago
parent
commit
0f33979a72
  1. 44
      src/Makefile

44
src/Makefile

@ -5,6 +5,24 @@
include ../Makefile.conf 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 PLATFORM: $(PLATFORM))
$(info DEBUG: $(DEBUG)) $(info DEBUG: $(DEBUG))
$(info CXX: $(CXX)) $(info CXX: $(CXX))
@ -17,17 +35,7 @@ $(info YML2_PATH: $(YML2_PATH))
$(info CXXFLAGS: $(CXXFLAGS)) $(info CXXFLAGS: $(CXXFLAGS))
$(info LDFLAGS: $(LDFLAGS)) $(info LDFLAGS: $(LDFLAGS))
$(info LDLIBS: $(LDLIBS)) $(info LDLIBS: $(LDLIBS))
$(info ---------------------------------------------------)
# 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
# Dirs # Dirs
# relative to "src/" # relative to "src/"
@ -92,7 +100,6 @@ JNI_GENERATED_HH=\
# Derive Java sources that will cause generated headers (for incremental build) # Derive Java sources that will cause generated headers (for incremental build)
helper=$(subst _,/,$(JNI_GENERATED_HH)) helper=$(subst _,/,$(JNI_GENERATED_HH))
JNI_GENERATING_JAVA=$(subst .h,.java,$(helper)) JNI_GENERATING_JAVA=$(subst .h,.java,$(helper))
$(info JNI_GENERATING_JAVA: $(JNI_GENERATING_JAVA))
# Auto dependencies using gcc/clang # Auto dependencies using gcc/clang
CXXFLAGS+= -MMD -MP CXXFLAGS+= -MMD -MP
@ -102,7 +109,7 @@ SOURCES+=$(GENERATED_CC)
OBJECTS=$(SOURCES:.cc=.o) OBJECTS=$(SOURCES:.cc=.o)
DEPENDS=$(OBJECTS:.o=.d) 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 all: lib-java lib-cxx
@ -124,14 +131,13 @@ $(LIB_CXX_STATIC): compile-cxx
# -------------- Compile ----------------- # -------------- 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)/*.java
$(JAVA_BIN_DIR)/javac -d $(JAVA_BUILD_ROOT) $(JAVA_PKG_ROOT)/exceptions/*.java $(JAVA_BIN_DIR)/javac -d $(JAVA_BUILD_ROOT) $(JAVA_PKG_ROOT)/exceptions/*.java
# Compile C++ using implicit rules # Compile C++ using implicit rules
-include $(DEPENDS) -include $(DEPENDS)
compile-cxx: out-dirs gen-jni-headers $(OBJECTS)
# --------- Generate JNI headers ---------- # --------- Generate JNI headers ----------
@ -149,28 +155,26 @@ endif
# ------------- YML2 CodeGen -------------- # ------------- YML2 CodeGen --------------
codegen: gen-status-codes $(YML2_MARKERS) codegen: gen-status-codes $(YML2_MARKERS)
# CodeGen
$(YML2_MARKERS): %.marker : %.ysl2 pEp.yml2 $(YML2_INCLUDES) $(YML2_MARKERS): %.marker : %.ysl2 pEp.yml2 $(YML2_INCLUDES)
$(YML2_PROC) -y $< pEp.yml2 $(YML2_PROC) -y $< pEp.yml2
gen-status-codes: status_list.yml2 gen-status-codes: status_list.yml2
status_list.yml2: pEp.yml2 status_list.yml2: pEp.yml2
bash ../utils/extract_pEp_status_codes_from_engine.sh "$(PEP_HEADER)" $@ bash ../utils/extract_pEp_status_codes_from_engine.sh "$(PEP_HEADER)" $@
# ------------- Housekeeping --------------- # ------------- Housekeeping ---------------
out-dirs: create-dirs:
mkdir -p $(JAVA_BUILD_ROOT)/$(JAVA_PKG_ROOT) mkdir -p $(JAVA_BUILD_ROOT)/$(JAVA_PKG_ROOT)
mkdir -p $(JAVA_BUILD_ROOT)/$(JAVA_PKG_ROOT)/exceptions mkdir -p $(JAVA_BUILD_ROOT)/$(JAVA_PKG_ROOT)/exceptions
mkdir -p $(OBJ_DIR) mkdir -p $(OBJ_DIR)
mkdir -p $(DIST_DIR) mkdir -p $(DIST_DIR)
clean-out-dirs: remove-dirs:
rm -rf ../build rm -rf ../build
rm -rf ../dist rm -rf ../dist
clean: clean-out-dirs clean: remove-dirs
rm -f $(GENERATED_JAVA) rm -f $(GENERATED_JAVA)
rm -f $(GENERATED_CC) rm -f $(GENERATED_CC)
rm -f $(GENERATED_HH) rm -f $(GENERATED_HH)

Loading…
Cancel
Save