14c61c93dSmrgXCOMM $XdotOrg: xc/config/cf/scoLib.rules,v 1.1.4.2 2003/12/20 00:28:21 kaleb Exp $ 211d341caSmrgXCOMM $Xorg: scoLib.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $ 311d341caSmrgXCOMM $XFree86: xc/config/cf/scoLib.rules,v 1.10 2003/12/18 16:38:34 dawes Exp $ 411d341caSmrg 511d341caSmrg#ifndef UseExportLists 611d341caSmrg# define UseExportLists YES 711d341caSmrg#endif 811d341caSmrg 911d341caSmrg#ifndef SCOAbsShlibPath 1011d341caSmrg# define SCOAbsShlibPath NO 1111d341caSmrg#endif 1211d341caSmrg 1311d341caSmrg#if SCOAbsShlibPath 1411d341caSmrg# define SCOShlibFlags -h $(SHLIBDIR)/$@ 1511d341caSmrg#else 1611d341caSmrg# ifndef ExtraLoadFlags 1711d341caSmrg# define ExtraLoadFlags -R $(USRLIBDIRPATH) 1811d341caSmrg# endif 1911d341caSmrg# define SCOShlibFlags -R $(SHLIBDIR) -h $@ 2011d341caSmrg#endif 2111d341caSmrg 2211d341caSmrg/* 2311d341caSmrg * SharedLibraryTarget3 - generate rules to create a shared library; 2411d341caSmrg * build it into a different name so that we do not hose people by having 251c80d5b0Smrg * the library gone for long periods. 2611d341caSmrg * 27944bff83Smrg * Work around SCO sh environment size problem. 2811d341caSmrg */ 2911d341caSmrg#ifndef SharedLibraryTarget3 3011d341caSmrg#define SharedLibraryTarget3(libname,rev,solist1,solist2,solist3,down,up) @@\ 3111d341caSmrgAllTarget(Concat(lib,libname.so.rev)) @@\ 3211d341caSmrg @@\ 3311d341caSmrgConcat(lib,libname.so.rev): solist1 solist2 solist3 $(EXTRALIBRARYDEPS) @@\ 3411d341caSmrg $(RM) $@~ @@\ 3511d341caSmrg echo -n $(LD) -o up/$@~ $(SHLIBLDFLAGS) SCOShlibFlags solist1 " " > Concat(down/lib,cmd) @@\ 3611d341caSmrg echo -n solist2 " " >> Concat(down/lib,cmd) @@\ 3711d341caSmrg echo -n solist3 " " >> Concat(down/lib,cmd) @@\ 3811d341caSmrg echo -n $(REQUIREDLIBS) >> Concat(down/lib,cmd) @@\ 3911d341caSmrg (cd down; $(SHELL) Concat(./lib,cmd)) @@\ 4011d341caSmrg $(RM) $@ Concat(lib,tmp1) Concat(lib,tmp2) @@\ 4111d341caSmrg $(MV) $@~ $@ @@\ 4211d341caSmrg @if $(SOSYMLINK); then (set -x; \ @@\ 4311d341caSmrg $(RM) Concat(lib,libname.so); \ @@\ 4411d341caSmrg $(LN) $@ Concat(lib,libname.so)); fi @@\ 4511d341caSmrg LinkBuildLibrary($@) @@\ 4611d341caSmrg LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\ 4711d341caSmrg @@\ 4811d341caSmrgclean:: @@\ 4911d341caSmrg $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so) 5011d341caSmrg 5111d341caSmrg#endif /* SharedLibraryTarget */ 5211d341caSmrg 5311d341caSmrg#ifndef LinkWithExports 5411d341caSmrg# if UseExportLists 5511d341caSmrg# define LinkWithExports(libname,rev,solist,down,up) \ 5611d341caSmrg (cd down; $(CCENVSETUP) $(LD) -o up/$@~ $(SHLIBLDFLAGS) SCOShlibFlags solist $(REQUIREDLIBS)) @@\ 5711d341caSmrg if [ -f Concat(lib,libname.elist) ]; then \ @@\ 5811d341caSmrg $(RM) down/$@.exports $@.list; \ @@\ 5911d341caSmrg $(CPP) $(ALLINCLUDES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(DEFINES) Concat(lib,libname.elist) | CppSedMagic >$@.list; \ @@\ 6011d341caSmrg $(EXPORTLISTGEN) $@~ $@.list > down/$@.exports; \ @@\ 6111d341caSmrg (cd down; $(CCENVSETUP) $(LD) -o up/$@~ $(SHLIBLDFLAGS) SCOShlibFlags ShlibExportListOpt($@.exports) solist $(REQUIREDLIBS)); \ @@\ 6211d341caSmrg $(RM) down/$@.exports $@.list; \ @@\ 6311d341caSmrg fi; 6411d341caSmrg# else 6511d341caSmrg# define LinkWithExports(libname,rev,solist,down,up) \ 6611d341caSmrg (cd down; $(CCENVSETUP) $(LD) -o up/$@~ $(SHLIBLDFLAGS) SCOShlibFlags solist $(REQUIREDLIBS)) 6711d341caSmrg# endif 6811d341caSmrg#endif 69