Commit c7be2041b8c97129323a8a7ad6d8da0310d371f1
1 parent
dd66ea81
include external-libs
git-svn-id: svn+q:///qpdf/trunk@761 71b93d88-0707-0410-a8cf-f5a4172ac649
Showing
6 changed files
with
89 additions
and
6 deletions
Makefile
| ... | ... | @@ -30,7 +30,8 @@ |
| 30 | 30 | # install to install in a separate location. This is useful for |
| 31 | 31 | # packagers. |
| 32 | 32 | |
| 33 | -BUILD_ITEMS = manual libqpdf zlib-flate libtests qpdf examples | |
| 33 | +#XXX | |
| 34 | +BUILD_ITEMS = manual external-libs libqpdf zlib-flate libtests qpdf examples | |
| 34 | 35 | OUTPUT_DIR = build |
| 35 | 36 | ALL_TARGETS = |
| 36 | 37 | ... | ... |
external-libs/Makefile
0 → 100644
| 1 | +include ../make/proxy.mk | ... | ... |
external-libs/build.mk
0 → 100644
| 1 | +TARGETS_external-libs = external-libs/$(OUTPUT_DIR)/libexternal.a | |
| 2 | +INCLUDES_external-libs = external-libs/zlib external-libs/pcre \ | |
| 3 | + external-libs/$(OUTPUT_DIR) | |
| 4 | + | |
| 5 | +SRCS_external-libs_zlib = \ | |
| 6 | + external-libs/zlib/adler32.c \ | |
| 7 | + external-libs/zlib/compress.c \ | |
| 8 | + external-libs/zlib/crc32.c \ | |
| 9 | + external-libs/zlib/gzio.c \ | |
| 10 | + external-libs/zlib/uncompr.c \ | |
| 11 | + external-libs/zlib/deflate.c \ | |
| 12 | + external-libs/zlib/trees.c \ | |
| 13 | + external-libs/zlib/zutil.c \ | |
| 14 | + external-libs/zlib/inflate.c \ | |
| 15 | + external-libs/zlib/infback.c \ | |
| 16 | + external-libs/zlib/inftrees.c \ | |
| 17 | + external-libs/zlib/inffast.c \ | |
| 18 | + | |
| 19 | +SRCS_external-libs_pcre = \ | |
| 20 | + external-libs/pcre/maketables.c \ | |
| 21 | + external-libs/pcre/get.c \ | |
| 22 | + external-libs/pcre/study.c \ | |
| 23 | + external-libs/pcre/pcre.c | |
| 24 | + | |
| 25 | +SRCS_external-libs = $(SRCS_external-libs_zlib) $(SRCS_external-libs_pcre) | |
| 26 | + | |
| 27 | +external-libs/$(OUTPUT_DIR)/pcre.$(LOBJ): external-libs/$(OUTPUT_DIR)/chartables.c | |
| 28 | + | |
| 29 | +external-libs/$(OUTPUT_DIR)/chartables.c: external-libs/$(OUTPUT_DIR)/$(call binname,dftables) | |
| 30 | + external-libs/$(OUTPUT_DIR)/$(call binname,dftables) \ | |
| 31 | + external-libs/$(OUTPUT_DIR)/chartables.c | |
| 32 | + | |
| 33 | +external-libs/$(OUTPUT_DIR)/$(call binname,dftables): | |
| 34 | + $(CC) -o $@ external-libs/pcre/dftables.c | |
| 35 | + | |
| 36 | +# ----- | |
| 37 | + | |
| 38 | +OBJS_external-libs_zlib = $(call c_src_to_lobj,$(subst zlib/,,$(SRCS_external-libs_zlib))) | |
| 39 | +OBJS_external-libs_pcre = $(call c_src_to_lobj,$(subst pcre/,,$(SRCS_external-libs_pcre))) | |
| 40 | + | |
| 41 | +OBJS_external-libs = $(OBJS_external-libs_zlib) $(OBJS_external-libs_pcre) | |
| 42 | + | |
| 43 | +x: | |
| 44 | + @echo $(call lobj_to_dep,$(OBJS_external-libs)) | |
| 45 | + | |
| 46 | +ifeq ($(GENDEPS),1) | |
| 47 | +-include $(call lobj_to_dep,$(OBJS_external-libs)) | |
| 48 | +endif | |
| 49 | + | |
| 50 | +$(OBJS_external-libs_zlib): external-libs/$(OUTPUT_DIR)/%.$(LOBJ): external-libs/zlib/%.c | |
| 51 | + $(call c_libcompile,$<,$(INCLUDES_external-libs)) | |
| 52 | + | |
| 53 | +$(OBJS_external-libs_pcre): external-libs/$(OUTPUT_DIR)/%.$(LOBJ): external-libs/pcre/%.c | |
| 54 | + $(call c_libcompile,$<,$(INCLUDES_external-libs)) | |
| 55 | + | |
| 56 | +$(TARGETS_external-libs): $(OBJS_external-libs) | |
| 57 | + $(call makeslib,$(OBJS_external-libs),$(TARGETS_external-libs)) | ... | ... |
libqpdf/build.mk
make/gcc-linux.mk
| ... | ... | @@ -28,7 +28,7 @@ endef |
| 28 | 28 | # Usage: $(call c_compile,src,includes) |
| 29 | 29 | define c_compile |
| 30 | 30 | $(CC) $(CPPFLAGS) $(CFLAGS) \ |
| 31 | - $(call depflags,$(basename $(call src_to_obj,$(1)))) \ | |
| 31 | + $(call depflags,$(basename $(call c_src_to_obj,$(1)))) \ | |
| 32 | 32 | $(foreach I,$(2),-I$(I)) \ |
| 33 | 33 | -c $(1) -o $(call c_src_to_obj,$(1)) |
| 34 | 34 | endef |
| ... | ... | @@ -39,6 +39,12 @@ define libcompile |
| 39 | 39 | $(foreach I,$(2),-I$(I)) \ |
| 40 | 40 | -c $(1) -o $(call src_to_obj,$(1)) |
| 41 | 41 | endef |
| 42 | +define c_libcompile | |
| 43 | + $(CC) $(CPPFLAGS) $(CXXFLAGS) -fpic \ | |
| 44 | + $(call depflags,$(basename $(call c_src_to_lobj,$(1)))) \ | |
| 45 | + $(foreach I,$(2),-I$(I)) \ | |
| 46 | + -c $(1) -o $(call c_src_to_obj,$(1)) | |
| 47 | +endef | |
| 42 | 48 | |
| 43 | 49 | |
| 44 | 50 | # 1 2 |
| ... | ... | @@ -52,7 +58,7 @@ endef |
| 52 | 58 | # 1 2 3 4 5 |
| 53 | 59 | # Usage: $(call makelib,objs,library,current,revision,age) |
| 54 | 60 | define makelib |
| 55 | - $(RM) $2 | |
| 61 | + $(RM) $(2) $(2).* | |
| 56 | 62 | major=$$(( $(3) - $(5))); \ |
| 57 | 63 | versuffix=$$major.$5.$4; \ |
| 58 | 64 | $(CXX) $(CXXFLAGS) -shared -o $(2).$$versuffix $(1) \ | ... | ... |
make/rules.mk
| 1 | 1 | include make/$(BUILDRULES).mk |
| 2 | 2 | |
| 3 | +define firstelem | |
| 4 | +$(word 1,$(subst /, ,$(1))) | |
| 5 | +endef | |
| 6 | +SPC := $(subst /, ,/) | |
| 7 | +define lastelem | |
| 8 | +$(subst $(SPC),/,$(word $(words $(subst /, ,$(1))),$(subst /, ,$(1)))) | |
| 9 | +endef | |
| 10 | +define objbase | |
| 11 | +$(patsubst %.$(2),%.$(3),$(firstelem)/$(OUTPUT_DIR)/$(lastelem)) | |
| 12 | +endef | |
| 13 | + | |
| 3 | 14 | # Usage: $(call src_to_obj,srcs) |
| 4 | 15 | define src_to_obj |
| 5 | -$(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.cc,%.$(OBJ),$(notdir $(F)))) | |
| 16 | +$(foreach F,$(1),$(call objbase,$(F),cc,$(OBJ))) | |
| 6 | 17 | endef |
| 7 | 18 | |
| 8 | 19 | # Usage: $(call c_src_to_obj,srcs) |
| 9 | 20 | define c_src_to_obj |
| 10 | -$(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.c,%.$(OBJ),$(notdir $(F)))) | |
| 21 | +$(foreach F,$(1),$(call objbase,$(F),c,$(OBJ))) | |
| 11 | 22 | endef |
| 12 | 23 | |
| 13 | 24 | # Usage: $(call src_to_lobj,srcs) |
| 14 | 25 | define src_to_lobj |
| 15 | -$(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.cc,%.$(LOBJ),$(notdir $(F)))) | |
| 26 | +$(foreach F,$(1),$(call objbase,$(F),cc,$(LOBJ))) | |
| 27 | +endef | |
| 28 | + | |
| 29 | +# Usage: $(call c_src_to_lobj,srcs) | |
| 30 | +define c_src_to_lobj | |
| 31 | +$(foreach F,$(1),$(call objbase,$(F),c,$(LOBJ))) | |
| 16 | 32 | endef |
| 17 | 33 | |
| 18 | 34 | # Usage: $(call obj_to_dep,objs) | ... | ... |