DRDE/AusRegEPPTK/Makefile

128 lines
2.9 KiB
Makefile
Raw Normal View History

2013-12-31 19:36:07 +00:00
##################################################
# Makefile for building lib and main test routine#
##################################################
2014-01-08 20:22:43 +00:00
LOCATION=authoring
2013-12-31 19:36:07 +00:00
SYSTEM = $(shell uname -s)
CXX = g++
CC = gcc
2014-01-08 13:49:46 +00:00
#PRODORDEV += -O2
PRODORDEV += -ggdb3
2013-12-31 19:36:07 +00:00
2014-01-08 13:49:46 +00:00
CXXFLAGS = $(PRODORDEV) -Wall -Wpointer-arith -Wcast-qual -D_REENTRANT -fPIC
2014-01-07 17:59:27 +00:00
CPPFLAGS = -fPIC -D_GNU_SOURCE
CXXFLAGS += -D_GNU_SOURCE -O0
2013-12-31 19:36:07 +00:00
2014-01-08 20:22:43 +00:00
ifeq ($(LOCATION),authoring)
2014-01-08 13:49:46 +00:00
XALAN_LIB_DIR = /usr/lib/x86_64-linux-gnu/
2014-01-08 20:22:43 +00:00
endif
ifeq ($(LOCATION),production)
XALAN_LIB_DIR = /usr/lib/
endif
2014-01-08 13:49:46 +00:00
XALAN_LIB = xalan-c
XALAN_INC_DIR = /usr/include/xalanc
XERCES_LIB_DIR = /usr/lib/
XERCES_LIB = xerces-c
XERCES_INC_DIR = /usr/include/xercesc/
2013-12-31 19:36:07 +00:00
include xml-deps.mk
##### Set this to the location of the library to be produced
BUILD_LIB_DIR = lib
BUILD_OBJ_DIR = build
###### Include Paths
INCLUDE_DIR = -I . -I $(XERCES_INC_DIR) -I $(XALAN_INC_DIR)
build_obj_dir = $(BUILD_OBJ_DIR)
src_dirs_cpp = se se/secDNS common session xml
src_dirs_c = config
srcs_all = $(foreach dir,$(src_dirs_cpp),$(wildcard $(dir)/*.cpp))
srcs_all += $(foreach dir,$(src_dirs_c),$(wildcard $(dir)/*.c))
srcs = $(filter-out %Test.cpp,$(srcs_all))
objs = $(foreach file,$(srcs),$(build_obj_dir)/$(basename $(notdir $(file))).o)
test_srcs = $(filter %Test.cpp,$(srcs_all))
test_objs = $(foreach file,$(test_srcs),$(build_obj_dir)/$(basename $(notdir $(file))).o)
test_execs = $(subst .o,,$(test_objs))
calc_deps = \
$(CC) -MT '$(build_obj_dir)/$(basename $(notdir $@)).o $@' -MF $@ -MM $(CPPFLAGS) $(INCLUDE_DIR) $<
2014-01-02 17:06:01 +00:00
all: dirs $(objs) $(BUILD_LIB_DIR)/libAusRegEPPTK.so
2013-12-31 19:36:07 +00:00
%.d: %.c
$(calc_deps)
%.d: %.cpp
$(calc_deps)
include $(foreach name,$(srcs_all),$(basename $(name)).d)
vpath %.cpp ./ \
./se\
./se/secDNS\
./xml\
./common\
./session\
vpath %.c ./config
vpath %.o ../build
####### Implicit rules
.SUFFIXES: .cpp .c
$(BUILD_OBJ_DIR)/%.o: %.cpp
$(CXX) $(CXXFLAGS) -c -o $@ $(INCLUDE_DIR) $<
$(BUILD_OBJ_DIR)/%.o: %.c
$(CC) $(CPPFLAGS) -c -o $@ $(INCLUDE_DIR) $<
2014-01-02 17:06:01 +00:00
LDFLAGS_TESTS = -L$(BUILD_LIB_DIR) -lAusRegEPPTK \
2014-01-07 17:59:27 +00:00
-L$(XALAN_LIB_DIR) -lxalan-c -lxalanMsg -licuuc -licudata \
2013-12-31 19:36:07 +00:00
-L$(XERCES_LIB_DIR) -lxerces-c \
-lssl \
-lrt
$(BUILD_OBJ_DIR)/%: $(BUILD_OBJ_DIR)/%.o
$(CXX) $(LDFLAGS_TESTS) -o $@ $<
.PHONY: doc clean dclean
####### Build rules
#libAusreg_EPP_toolkit.a: $(OBJECTS)
# $(LIB_ARCHIVER) $(LIB_FLAGS) $(BUILD_LIB_DIR)/$@ $^
.PHONY: tests
tests: all $(test_execs)
.PHONY: dirs
dirs:
-mkdir -p $(BUILD_LIB_DIR)
-mkdir -p $(BUILD_OBJ_DIR)
2014-01-02 17:06:01 +00:00
libAusRegEPPTK.so:
$(BUILD_LIB_DIR)/libAusRegEPPTK.so: $(objs)
2014-01-08 13:49:46 +00:00
$(CXX) $(LDFLAGS) $(PRODORDEV) -shared $^ -o $@
2013-12-31 19:36:07 +00:00
doc:
doxygen etc/Doxyfile
clean:
2014-01-02 17:06:01 +00:00
$(RM) $(objs) $(BUILD_LIB_DIR)/libAusRegEPPTK.so *~
2013-12-31 19:36:07 +00:00
$(RM) -r $(BUILD_OBJ_DIR)
$(RM) -r $(BUILD_LIB_DIR)
dclean:
$(MAKE) clean
$(RM) */*.d