From 2b5ac676ed1cbde1092d41acf0775b1c8d9a2baf Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sun, 11 Oct 2009 00:24:22 +0000 Subject: generalize build git-svn-id: svn+q:///qpdf/trunk@776 71b93d88-0707-0410-a8cf-f5a4172ac649 --- make/gcc-linux.mk | 17 ++++++++--------- make/libtool.mk | 16 +++++++--------- make/mingw.mk | 17 ++++++++--------- make/msvc.mk | 25 +++++++++++++------------ 4 files changed, 36 insertions(+), 39 deletions(-) (limited to 'make') diff --git a/make/gcc-linux.mk b/make/gcc-linux.mk index f24013e8..6450ce75 100644 --- a/make/gcc-linux.mk +++ b/make/gcc-linux.mk @@ -62,22 +62,21 @@ define makeslib $(RANLIB) $(2) endef -# 1 2 3 4 5 -# Usage: $(call makelib,objs,library,current,revision,age) +# 1 2 3 4 5 6 7 +# Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age) define makelib $(RM) $(2) $(2).* - major=$$(( $(3) - $(5))); \ - versuffix=$$major.$5.$4; \ + major=$$(( $(5) - $(7))); \ + versuffix=$$major.$(7).$(6); \ $(CXX) $(CXXFLAGS) -shared -o $(2).$$versuffix $(1) \ -Wl,--soname -Wl,`basename $(2)`.$$major \ - $(LDFLAGS) $(LIBS); \ + $(3) $(4); \ ln -s `basename $(2)`.$$versuffix $(2); \ ln -s `basename $(2)`.$$versuffix $(2).$$major endef -# 1 2 -# Usage: $(call makebin,objs,binary) +# 1 2 3 4 +# Usage: $(call makebin,objs,binary,ldflags,libs) define makebin - $(CXX) $(CXXFLAGS) $(1) -o $(2) $(LDFLAGS) \ - -Llibqpdf/$(OUTPUT_DIR) -lqpdf $(LIBS) + $(CXX) $(CXXFLAGS) $(1) -o $(2) $(LDFLAGS) $(3) $(4) endef diff --git a/make/libtool.mk b/make/libtool.mk index bc4ec120..3211b604 100644 --- a/make/libtool.mk +++ b/make/libtool.mk @@ -76,18 +76,16 @@ define makeslib $(RANLIB) $(2) endef -# 1 2 3 4 5 -# Usage: $(call makelib,objs,library,current,revision,age) +# 1 2 3 4 5 6 7 +# Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age) define makelib $(LIBTOOL) --mode=link \ - $(CXX) $(CXXFLAGS) -o $(2) $(1) $(LDFLAGS) $(LIBS) \ - -rpath $(libdir) -version-info $(3):$(4):$(5) + $(CXX) $(CXXFLAGS) -o $(2) $(1) $(3) $(4) \ + -rpath $(libdir) -version-info $(5):$(6):$(7) endef -# 1 2 -# Usage: $(call makebin,objs,binary) +# 1 2 3 4 +# Usage: $(call makebin,objs,binary,ldflags,libs) define makebin - $(LIBTOOL) --mode=link \ - $(CXX) $(CXXFLAGS) $(1) -o $(2) $(LDFLAGS) \ - -Llibqpdf/$(OUTPUT_DIR) -lqpdf $(LIBS) + $(LIBTOOL) --mode=link $(CXX) $(CXXFLAGS) $(1) -o $(2) $(3) $(4) endef diff --git a/make/mingw.mk b/make/mingw.mk index f0442c96..ae599393 100644 --- a/make/mingw.mk +++ b/make/mingw.mk @@ -44,17 +44,16 @@ define makeslib $(RANLIB) $(2) endef -# 1 2 3 4 5 -# Usage: $(call makelib,objs,library,current,revision,age) +# 1 2 3 4 5 6 7 +# Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age) define makelib - dlltool -l $(2) -D $$(basename `echo $(2) | sed -e 's,/lib\(.*\).a,/\1,'`$(3).dll) $(1); \ - $(CXX) -shared -o `echo $(2) | sed -e 's,/lib\(.*\).a,/\1,'`$(3).dll \ - $(1) $(LDFLAGS) $(LIBS) + dlltool -l $(2) -D $$(basename `echo $(2) | sed -e 's,/lib\(.*\).a,/\1,'`$(5).dll) $(1); \ + $(CXX) -shared -o `echo $(2) | sed -e 's,/lib\(.*\).a,/\1,'`$(5).dll \ + $(1) $(3) $(4) endef -# 1 2 -# Usage: $(call makebin,objs,binary) +# 1 2 3 4 +# Usage: $(call makebin,objs,binary,ldflags,libs) define makebin - $(CXX) $(CXXFLAGS) $(1) -o $(2) $(LDFLAGS) \ - -Llibqpdf/$(OUTPUT_DIR) -lqpdf $(LIBS) + $(CXX) $(CXXFLAGS) $(1) -o $(2) $(3) $(4) endef diff --git a/make/msvc.mk b/make/msvc.mk index b60abc03..c5961c03 100644 --- a/make/msvc.mk +++ b/make/msvc.mk @@ -40,26 +40,27 @@ define makeslib lib /nologo /OUT:$(2) $(1) endef -# 1 2 3 4 5 -# Usage: $(call makelib,objs,library,current,revision,age) +# 1 2 3 4 5 6 7 +# Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age) define makelib - cl /nologo /Zi /Gy /EHsc /MD /LD /Fe$(basename $(2))$(3).dll $(1) \ + cl /nologo /Zi /Gy /EHsc /MD /LD /Fe$(basename $(2))$(5).dll $(1) \ /link /incremental:no \ - $(foreach L,$(subst -L,,$(LDFLAGS)),/LIBPATH:$(L)) \ - $(foreach L,$(subst -l,,$(LIBS)),$(L).lib) - if [ -f $(basename $(2))$(3).dll.manifest ]; then \ - mt.exe -nologo -manifest $(basename $(2))$(3).dll.manifest \ - -outputresource:$(basename $(2))$(3).dll\;2; \ + $(foreach L,$(subst -L,,$(3)),/LIBPATH:$(L)) \ + $(foreach L,$(subst -l,,$(4)),$(L).lib) + if [ -f $(basename $(2))$(5).dll.manifest ]; then \ + mt.exe -nologo -manifest $(basename $(2))$(5).dll.manifest \ + -outputresource:$(basename $(2))$(5).dll\;2; \ fi + mv $(2)$(5).lib $(2).lib endef -# 1 2 -# Usage: $(call makebin,objs,binary) +# 1 2 3 4 +# Usage: $(call makebin,objs,binary,ldflags,libs) define makebin cl /nologo /Zi /Gy /EHsc /MD $(1) \ /link /incremental:no /OUT:$(2) \ - $(foreach L,$(subst -L,,$(LDFLAGS)),/LIBPATH:$(L)) \ - $(foreach L,$(subst -l,,$(LIBS)),$(L).lib) + $(foreach L,$(subst -L,,$(3)),/LIBPATH:$(L)) \ + $(foreach L,$(subst -l,,$(4)),$(L).lib) if [ -f $(2).manifest ]; then \ mt.exe -nologo -manifest $(2).manifest \ -outputresource:$(2)\;2; \ -- cgit v1.2.3-54-g00ecf