Commit bc91aa29453b6bbb822f2bfb39bae88b1db41a31

Authored by Jay Berkenbilt
1 parent a4963e8b

tweak shared library creation

git-svn-id: svn+q:///qpdf/trunk@1007 71b93d88-0707-0410-a8cf-f5a4172ac649
make/gcc-linux.mk
... ... @@ -66,12 +66,12 @@ endef
66 66 # Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age)
67 67 define makelib
68 68 $(RM) $(2) $(2).*
69   - major=$$(( $(5) - $(7))); \
  69 + major=$$(( $(5) - $(7) )); \
70 70 versuffix=$$major.$(7).$(6); \
71 71 $(CXX) $(CXXFLAGS) -shared -o $(2).$$versuffix $(1) \
72 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 75 ln -s `basename $(2)`.$$versuffix $(2).$$major
76 76 endef
77 77  
... ...
make/mingw.mk
... ... @@ -62,9 +62,9 @@ endef
62 62 # 1 2 3 4 5 6 7
63 63 # Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age)
64 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 68 $(1) $(3) $(4)
69 69 endef
70 70  
... ...
make/msvc.mk
... ... @@ -65,16 +65,16 @@ endef
65 65 # 1 2 3 4 5 6 7
66 66 # Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age)
67 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 70 $(1) /link /incremental:no \
71 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 78 endef
79 79  
80 80 # 1 2 3 4
... ...