111d341caSmrgXCOMM $Xorg: necLib.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $ 211d341caSmrg 311d341caSmrg/* 411d341caSmrg * NECOS shared library rules 511d341caSmrg */ 611d341caSmrg 711d341caSmrgXCOMM $XFree86: xc/config/cf/necLib.rules,v 1.2 1999/01/11 05:13:07 dawes Exp $ 811d341caSmrg 911d341caSmrg#ifndef HasSharedLibraries 1011d341caSmrg#define HasSharedLibraries YES 1111d341caSmrg#endif 1211d341caSmrg#ifndef SharedDataSeparation 1311d341caSmrg#define SharedDataSeparation YES 1411d341caSmrg#endif 1511d341caSmrg#ifndef SharedCodeDef 1611d341caSmrg#define SharedCodeDef 1711d341caSmrg#endif 1811d341caSmrg#ifndef SharedLibraryDef 1911d341caSmrg#define SharedLibraryDef 2011d341caSmrg#endif 2111d341caSmrg#ifndef ShLibIncludeFile 2211d341caSmrg#define ShLibIncludeFile <necLib.tmpl> 2311d341caSmrg#endif 2411d341caSmrg#ifndef SharedLibraryLoadFlags 2511d341caSmrg#define SharedLibraryLoadFlags 2611d341caSmrg#endif 2711d341caSmrg#ifndef PositionIndependentCFlags 2811d341caSmrg#define PositionIndependentCFlags 2911d341caSmrg#endif 3011d341caSmrg 3111d341caSmrg 3211d341caSmrg#ifndef SeparateSharedCompile 3311d341caSmrg#define SeparateSharedCompile NO 3411d341caSmrg#endif 3511d341caSmrg 3611d341caSmrg#define SharedLibObjCompile(options) $(_NULLCMD_) 3711d341caSmrg 3811d341caSmrg/* 3911d341caSmrg * InstallSharedLibrary - generate rules to install the shared library. 4011d341caSmrg */ 4111d341caSmrg#ifndef InstallSharedLibrary 4211d341caSmrg#define InstallSharedLibrary(libname,rev,dest) @@\ 4311d341caSmrginstall:: Concat(lib,libname.so.rev) @@\ 4411d341caSmrg MakeDir($(DESTDIR)dest) @@\ 4511d341caSmrg $(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\ 4611d341caSmrg cd $(DESTDIR)/dest; $(LN) Concat(lib,libname.so.rev) Concat(lib,libname.so) @@\ 4711d341caSmrg 4811d341caSmrg#endif /* InstallSharedLibrary */ 4911d341caSmrg 5011d341caSmrg/* 5111d341caSmrg * InstallSharedLibraryData - generate rules to install the shared library data 5211d341caSmrg */ 5311d341caSmrg#ifndef InstallSharedLibraryData 5411d341caSmrg#define InstallSharedLibraryData(libname,rev,dest) @@\ 5511d341caSmrginstall:: Concat(lib,libname.sa.rev) @@\ 5611d341caSmrg MakeDir($(DESTDIR)dest) @@\ 5711d341caSmrg $(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.sa.rev) $(DESTDIR)dest @@\ 5811d341caSmrg RanLibrary($(RANLIBINSTFLAGS) Concat($(DESTDIR)dest/lib,libname.sa.rev)) 5911d341caSmrg 6011d341caSmrg#endif /* InstallSharedLibraryData */ 6111d341caSmrg 6211d341caSmrg/* 6311d341caSmrg * SharedLibraryTarget - generate rules to create a shared library; 6411d341caSmrg * build it into a different name so that we do not hose people by having 6511d341caSmrg * the library gone for long periods. 6611d341caSmrg */ 6711d341caSmrg#ifndef SharedLibraryTarget 6811d341caSmrg#define SharedLibraryTarget(libname,rev,solist,down,up) @@\ 6911d341caSmrgAllTarget(Concat(lib,libname.so.rev)) @@\ 7011d341caSmrg @@\ 7111d341caSmrgConcat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\ 7211d341caSmrg $(RM) $@~ @@\ 7311d341caSmrg $(CC) -G -o $@~ $(SHLIBLDFLAGS) solist @@\ 7411d341caSmrg $(RM) $@ @@\ 7511d341caSmrg $(MV) $@~ $@ @@\ 7611d341caSmrg @@\ 7711d341caSmrgAllTarget(Concat(lib,libname.so)) @@\ 7811d341caSmrg @@\ 7911d341caSmrgConcat(lib,libname.so): Concat(lib,libname.so.rev) @@\ 8011d341caSmrg $(RM) $@ @@\ 8111d341caSmrg $(LN) $? $@ @@\ 8211d341caSmrg LinkBuildLibrary($@) @@\ 8311d341caSmrg LinkBuildLibrary(Concat(lib,libname.so)) @@\ 8411d341caSmrg @@\ 8511d341caSmrgclean:: @@\ 8611d341caSmrg $(RM) Concat(lib,libname.so.rev) 8711d341caSmrg 8811d341caSmrg#endif /* SharedLibraryTarget */ 8911d341caSmrg 9011d341caSmrg/* 9111d341caSmrg * SharedDepLibraryTarget - generate rules to create a shared library. 9211d341caSmrg */ 9311d341caSmrg#ifndef SharedDepLibraryTarget 9411d341caSmrg#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\ 9511d341caSmrgAllTarget(Concat(lib,libname.so.rev)) @@\ 9611d341caSmrg @@\ 9711d341caSmrgConcat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\ 9811d341caSmrg $(RM) $@~ @@\ 9911d341caSmrg $(CC) -G -o $@~ $(SHLIBLDFLAGS) solist @@\ 10011d341caSmrg $(RM) $@ @@\ 10111d341caSmrg $(MV) $@~ $@ @@\ 10211d341caSmrg @@\ 10311d341caSmrgAllTarget(Concat(lib,libname.so)) @@\ 10411d341caSmrg @@\ 10511d341caSmrgConcat(lib,libname.so): Concat(lib,libname.so.rev) @@\ 10611d341caSmrg $(RM) $@ @@\ 10711d341caSmrg $(LN) $? $@ @@\ 10811d341caSmrg LinkBuildLibrary($@) @@\ 10911d341caSmrg LinkBuildLibrary(Concat(lib,libname.so)) @@\ 11011d341caSmrg @@\ 11111d341caSmrgclean:: @@\ 11211d341caSmrg $(RM) Concat(lib,libname.so.rev) 11311d341caSmrg 11411d341caSmrg#endif /* SharedDepLibraryTarget */ 11511d341caSmrg 11611d341caSmrg/* 11711d341caSmrg * SharedLibraryDataTarget - generate rules to create shlib data file; 11811d341caSmrg */ 11911d341caSmrg#ifndef SharedLibraryDataTarget 12011d341caSmrg#define SharedLibraryDataTarget(libname,rev,salist) @@\ 12111d341caSmrgAllTarget(Concat(lib,libname.sa.rev)) @@\ 12211d341caSmrg @@\ 12311d341caSmrgConcat(lib,libname.sa.rev): salist $(EXTRALIBRARYDEPS) @@\ 12411d341caSmrg $(RM) $@ @@\ 12511d341caSmrg $(AR) $@ salist @@\ 12611d341caSmrg RanLibrary($@) @@\ 12711d341caSmrg @@\ 12811d341caSmrgclean:: @@\ 12911d341caSmrg $(RM) Concat(lib,libname.sa.rev) 13011d341caSmrg 13111d341caSmrg#endif /* SharedLibraryDataTarget */ 132