diff options
author | Steve Huston <shuston@riverace.com> | 1999-06-14 17:19:29 +0000 |
---|---|---|
committer | Steve Huston <shuston@riverace.com> | 1999-06-14 17:19:29 +0000 |
commit | 98f17cb1c5bbb056cc18a1d02737d945a529ea61 (patch) | |
tree | 3d3462008099c288e4eef5b6c1724e7b98cbbc71 /include/makeinclude/rules.lib.GNU | |
parent | 5ec787f292179118407a3b6dcc503d4217fa6e15 (diff) | |
download | ATCD-98f17cb1c5bbb056cc18a1d02737d945a529ea61.tar.gz |
Straighten out the shared lib making rules applicable to AIX.
Diffstat (limited to 'include/makeinclude/rules.lib.GNU')
-rw-r--r-- | include/makeinclude/rules.lib.GNU | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/include/makeinclude/rules.lib.GNU b/include/makeinclude/rules.lib.GNU index 14b8ea5e2e2..4af15f05119 100644 --- a/include/makeinclude/rules.lib.GNU +++ b/include/makeinclude/rules.lib.GNU @@ -19,12 +19,13 @@ ifndef SOEXT endif VSHLIB = $(SHLIB:%.$(SOEXT)=%$(VAR).$(SOEXT)) +ifdef SHLIBA +VSHLIBA = $(SHLIBA:%.a=%$(VAR).a) +endif + VLOBJS = $(subst .cpp,.$(OBJEXT),$(foreach file,$(LSRC),$(VDIR)$(notdir $(file)))) -ifdef TEMPINCDIR - VSHOBJS1 = -else # ! TEMPINCDIR - LSRC += $(LSRC2) +LSRC += $(LSRC2) ifdef PRELIB ifdef PRELIB_USES_OBJ_ONLY VSHOBJS = $(subst .cpp,.o,$(foreach file,$(LSRC),$(VSHDIR)$(notdir $(file)))) @@ -37,7 +38,6 @@ else # ! PRELIB VSHOBJS1 = \ $(subst .cpp,.o,$(foreach file,$(LSRC),$(VSHDIR)$(notdir $(file)))) endif # ! PRELIB -endif # ! TEMPINCDIR # Comment out for now... # $(DEFS:%=$(INSINC)/%) \ @@ -45,12 +45,18 @@ endif # ! TEMPINCDIR ifdef shared_libs_only INSTALL += \ $(VSHLIB:%.$(SOEXT)=$(INSLIB)/%.$(SOEXT)$(ACE_LDSO_Version_Number)) +ifdef SHLIBA + INSTALL += $(VSHLIBA:%=$(INSLIB)/%) +endif else ifdef static_libs_only INSTALL += $(VLIB:%.a=$(INSLIB)/%.a) else INSTALL += $(VLIB:%.a=$(INSLIB)/%.a) \ $(VSHLIB:%.$(SOEXT)=$(INSLIB)/%.$(SOEXT)$(ACE_LDSO_Version_Number)) +ifdef SHLIBA + INSTALL += $(VSHLIBA:%=$(INSLIB)/%) +endif endif # static_libs_only endif # shared_libs_only @@ -68,7 +74,7 @@ ifdef PRELIB endif # Comment these lines out if you want to build both *.a and *.so libraries... -#$(VSHLIB): $(VSHOBJS) $(STATLIB) +#$(VSHLIB): $(VSHOBJS) #ifdef PRELIB # $(PRELIB) #endif @@ -87,7 +93,7 @@ ifdef TEMPINCDIR # templates. if test -s ./$(TEMPINCDIR)/*.C; \ then \ - $(LINK.cc) -o dummy $(LDFLAGS) $(ACE_ROOT)/etc/xlc_dummy.cpp $@ $(LIBS); \ + $(LINK.cc) -o dummy $(LDFLAGS) $(ACE_ROOT)/etc/xlc_dummy.cpp $^ $(LIBS); \ $(RM) dummy; \ $(AR) $(ARFLAGS) $@ tempinc/*.o; \ fi @@ -99,17 +105,26 @@ endif # RANLIB # Note that if you don't want to build shared libraries, just remove the $(VSHOBJS) ifdef SHLIBBUILD -$(VSHLIB): $(VSHOBJS) $(STATLIB) +$(VSHLIB): $(VSHOBJS) else -$(VSHLIB): $(VSHOBJS1) $(STATLIB) +$(VSHLIB): $(VSHOBJS1) endif ifdef PRELIB $(PRELIB) endif +ifdef TEMPINCDIR +# This is required to get AIX xlC to instantiate and compile the needed +# templates before building the library. + if test -s ./$(TEMPINCDIR)/*.C; \ + then \ + $(LINK.cc) -o dummy $(LDFLAGS) $(ACE_ROOT)/etc/xlc_dummy.cpp $^ $(LIBS); \ + $(RM) dummy; \ + fi +endif ifdef SHLIBBUILD $(SHLIBBUILD) else - $(SOLINK.cc) -o $@ $(VSHOBJS1) $(LDFLAGS) $(LIBS) $(STATLIB) + $(SOLINK.cc) -o $@ $(VSHOBJS1) $(TMPL_OBJS) $(LDFLAGS) $(LIBS) -chmod a+rx $@ endif |