From caa397ed157ada95129dbe784c01c6a1f95b226f Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sat, 10 Oct 2009 14:15:09 +0000 Subject: generalize build rules, add experimental support for manual compilation without libtool git-svn-id: svn+q:///qpdf/trunk@753 71b93d88-0707-0410-a8cf-f5a4172ac649 --- make/rules.mk | 68 ++++++----------------------------------------------------- 1 file changed, 6 insertions(+), 62 deletions(-) (limited to 'make/rules.mk') diff --git a/make/rules.mk b/make/rules.mk index 01b6f2f2..a55087b5 100644 --- a/make/rules.mk +++ b/make/rules.mk @@ -1,27 +1,28 @@ +include make/$(BUILDRULES).mk # Usage: $(call src_to_obj,srcs) define src_to_obj -$(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.cc,%.o,$(notdir $(F)))) +$(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.cc,%.$(OBJ),$(notdir $(F)))) endef # Usage: $(call c_src_to_obj,srcs) define c_src_to_obj -$(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.c,%.o,$(notdir $(F)))) +$(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.c,%.$(OBJ),$(notdir $(F)))) endef # Usage: $(call src_to_lobj,srcs) define src_to_lobj -$(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.cc,%.lo,$(notdir $(F)))) +$(foreach F,$(1),$(dir $(F))$(OUTPUT_DIR)/$(patsubst %.cc,%.$(LOBJ),$(notdir $(F)))) endef # Usage: $(call obj_to_dep,objs) define obj_to_dep -$(patsubst %.o,%.dep,$(1)) +$(patsubst %.$(OBJ),%.dep,$(1)) endef # Usage: $(call lobj_to_dep,objs) define lobj_to_dep -$(patsubst %.lo,%.dep,$(1)) +$(patsubst %.$(LOBJ),%.dep,$(1)) endef # Usage: $(call depflags,$(basename obj)) @@ -30,60 +31,3 @@ depflags=-MD -MF $(1).dep -MP else depflags= endif - -# Usage: $(call libdepflags,$(basename obj)) -# Usage: $(call fixdeps,$(basename obj)) -ifeq ($(GENDEPS),1) -libdepflags=-MD -MF $(1).tdep -MP -fixdeps=sed -e 's/\.o:/.lo:/' < $(1).tdep > $(1).dep - -else -libdepflags= -fixdeps= -endif - -# 1 2 -# Usage: $(call compile,src,includes) -define compile - $(CXX) $(CPPFLAGS) $(CXXFLAGS) \ - $(call depflags,$(basename $(call src_to_obj,$(1)))) \ - $(foreach I,$(2),-I$(I)) \ - -c $(1) -o $(call src_to_obj,$(1)) -endef - -# 1 2 -# Usage: $(call c_compile,src,includes) -define c_compile - $(CC) $(CPPFLAGS) $(CFLAGS) \ - $(call depflags,$(basename $(call src_to_obj,$(1)))) \ - $(foreach I,$(2),-I$(I)) \ - -c $(1) -o $(call c_src_to_obj,$(1)) -endef - -# 1 2 -# Usage: $(call libcompile,src,includes) -define libcompile - $(LIBTOOL) --quiet --mode=compile \ - $(CXX) $(CPPFLAGS) $(CXXFLAGS) \ - $(call libdepflags,$(basename $(call src_to_obj,$(1)))) \ - $(foreach I,$(2),-I$(I)) \ - -c $(1) -o $(call src_to_obj,$(1)); \ - $(call fixdeps,$(basename $(call src_to_obj,$(1)))) -endef - -# 1 2 3 4 5 -# Usage: $(call makelib,objs,library,current,revision,age) -define makelib - $(LIBTOOL) --mode=link \ - $(CXX) $(CXXFLAGS) -o $(2) $(1) $(LDFLAGS) $(LIBS) \ - -rpath $(libdir) -version-info $(3):$(4):$(5) -endef - -# 1 2 -# Usage: $(call makebin,objs,binary) -define makebin - $(LIBTOOL) --mode=link \ - $(CXX) $(CXXFLAGS) $(1) -o $(2) $(LDFLAGS) \ - -Llibqpdf/$(OUTPUT_DIR) -lqpdf $(LIBS) -endef - -- cgit v1.2.3-70-g09d2