Commit bc91aa29453b6bbb822f2bfb39bae88b1db41a31
1 parent
a4963e8b
tweak shared library creation
git-svn-id: svn+q:///qpdf/trunk@1007 71b93d88-0707-0410-a8cf-f5a4172ac649
Showing
3 changed files
with
14 additions
and
14 deletions
make/gcc-linux.mk
| @@ -66,12 +66,12 @@ endef | @@ -66,12 +66,12 @@ endef | ||
| 66 | # Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age) | 66 | # Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age) |
| 67 | define makelib | 67 | define makelib |
| 68 | $(RM) $(2) $(2).* | 68 | $(RM) $(2) $(2).* |
| 69 | - major=$$(( $(5) - $(7))); \ | 69 | + major=$$(( $(5) - $(7) )); \ |
| 70 | versuffix=$$major.$(7).$(6); \ | 70 | versuffix=$$major.$(7).$(6); \ |
| 71 | $(CXX) $(CXXFLAGS) -shared -o $(2).$$versuffix $(1) \ | 71 | $(CXX) $(CXXFLAGS) -shared -o $(2).$$versuffix $(1) \ |
| 72 | -Wl,--soname -Wl,`basename $(2)`.$$major \ | 72 | -Wl,--soname -Wl,`basename $(2)`.$$major \ |
| 73 | - $(3) $(4); \ | ||
| 74 | - ln -s `basename $(2)`.$$versuffix $(2); \ | 73 | + $(3) $(4) && \ |
| 74 | + ln -s `basename $(2)`.$$versuffix $(2) && \ | ||
| 75 | ln -s `basename $(2)`.$$versuffix $(2).$$major | 75 | ln -s `basename $(2)`.$$versuffix $(2).$$major |
| 76 | endef | 76 | endef |
| 77 | 77 |
make/mingw.mk
| @@ -62,9 +62,9 @@ endef | @@ -62,9 +62,9 @@ endef | ||
| 62 | # 1 2 3 4 5 6 7 | 62 | # 1 2 3 4 5 6 7 |
| 63 | # Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age) | 63 | # Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age) |
| 64 | define makelib | 64 | define makelib |
| 65 | - major=$$(( $(5) - $(7))); \ | ||
| 66 | - dlltool -l $(2) -D $$(basename `echo $(2) | sed -e 's,/lib\(.*\).a,/\1,'`$(major).dll) $(1); \ | ||
| 67 | - $(CXX) -shared -o `echo $(2) | sed -e 's,/lib\(.*\).a,/\1,'`$(major).dll \ | 65 | + major=$$(( $(5) - $(7) )); \ |
| 66 | + dlltool -l $(2) -D $$(basename `echo $(2) | sed -e 's,/lib\(.*\).a,/\1,'`)$${major}.dll $(1) && \ | ||
| 67 | + $(CXX) -shared -o `echo $(2) | sed -e 's,/lib\(.*\).a,/\1,'`$${major}.dll \ | ||
| 68 | $(1) $(3) $(4) | 68 | $(1) $(3) $(4) |
| 69 | endef | 69 | endef |
| 70 | 70 |
make/msvc.mk
| @@ -65,16 +65,16 @@ endef | @@ -65,16 +65,16 @@ endef | ||
| 65 | # 1 2 3 4 5 6 7 | 65 | # 1 2 3 4 5 6 7 |
| 66 | # Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age) | 66 | # Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age) |
| 67 | define makelib | 67 | define makelib |
| 68 | - major=$$(( $(5) - $(7))); \ | ||
| 69 | - cl /nologo /O2 /Zi /Gy /EHsc /MD /LD /Fe$(basename $(2))$(major).dll \ | 68 | + major=$$(( $(5) - $(7) )); \ |
| 69 | + cl /nologo /O2 /Zi /Gy /EHsc /MD /LD /Fe$(basename $(2))$${major}.dll \ | ||
| 70 | $(1) /link /incremental:no \ | 70 | $(1) /link /incremental:no \ |
| 71 | $(foreach L,$(subst -L,,$(3)),/LIBPATH:$(L)) \ | 71 | $(foreach L,$(subst -L,,$(3)),/LIBPATH:$(L)) \ |
| 72 | - $(foreach L,$(subst -l,,$(4)),$(L).lib) | ||
| 73 | - if [ -f $(basename $(2))$(major).dll.manifest ]; then \ | ||
| 74 | - mt.exe -nologo -manifest $(basename $(2))$(major).dll.manifest \ | ||
| 75 | - -outputresource:$(basename $(2))$(major).dll\;2; \ | ||
| 76 | - fi | ||
| 77 | - mv $(basename $(2))$(major).lib $(2) | 72 | + $(foreach L,$(subst -l,,$(4)),$(L).lib) && \ |
| 73 | + if [ -f $(basename $(2))$${major}.dll.manifest ]; then \ | ||
| 74 | + mt.exe -nologo -manifest $(basename $(2))$${major}.dll.manifest \ | ||
| 75 | + -outputresource:$(basename $(2))$${major}.dll\;2; \ | ||
| 76 | + fi && \ | ||
| 77 | + mv $(basename $(2))$${major}.lib $(2) | ||
| 78 | endef | 78 | endef |
| 79 | 79 | ||
| 80 | # 1 2 3 4 | 80 | # 1 2 3 4 |