1XCOMM $Xorg: necLib.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $ 2 3/* 4 * NECOS shared library rules 5 */ 6 7XCOMM $XFree86: xc/config/cf/necLib.rules,v 1.2 1999/01/11 05:13:07 dawes Exp $ 8 9#ifndef HasSharedLibraries 10#define HasSharedLibraries YES 11#endif 12#ifndef SharedDataSeparation 13#define SharedDataSeparation YES 14#endif 15#ifndef SharedCodeDef 16#define SharedCodeDef 17#endif 18#ifndef SharedLibraryDef 19#define SharedLibraryDef 20#endif 21#ifndef ShLibIncludeFile 22#define ShLibIncludeFile <necLib.tmpl> 23#endif 24#ifndef SharedLibraryLoadFlags 25#define SharedLibraryLoadFlags 26#endif 27#ifndef PositionIndependentCFlags 28#define PositionIndependentCFlags 29#endif 30 31 32#ifndef SeparateSharedCompile 33#define SeparateSharedCompile NO 34#endif 35 36#define SharedLibObjCompile(options) $(_NULLCMD_) 37 38/* 39 * InstallSharedLibrary - generate rules to install the shared library. 40 */ 41#ifndef InstallSharedLibrary 42#define InstallSharedLibrary(libname,rev,dest) @@\ 43install:: Concat(lib,libname.so.rev) @@\ 44 MakeDir($(DESTDIR)dest) @@\ 45 $(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\ 46 cd $(DESTDIR)/dest; $(LN) Concat(lib,libname.so.rev) Concat(lib,libname.so) @@\ 47 48#endif /* InstallSharedLibrary */ 49 50/* 51 * InstallSharedLibraryData - generate rules to install the shared library data 52 */ 53#ifndef InstallSharedLibraryData 54#define InstallSharedLibraryData(libname,rev,dest) @@\ 55install:: Concat(lib,libname.sa.rev) @@\ 56 MakeDir($(DESTDIR)dest) @@\ 57 $(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.sa.rev) $(DESTDIR)dest @@\ 58 RanLibrary($(RANLIBINSTFLAGS) Concat($(DESTDIR)dest/lib,libname.sa.rev)) 59 60#endif /* InstallSharedLibraryData */ 61 62/* 63 * SharedLibraryTarget - generate rules to create a shared library; 64 * build it into a different name so that we do not hose people by having 65 * the library gone for long periods. 66 */ 67#ifndef SharedLibraryTarget 68#define SharedLibraryTarget(libname,rev,solist,down,up) @@\ 69AllTarget(Concat(lib,libname.so.rev)) @@\ 70 @@\ 71Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\ 72 $(RM) $@~ @@\ 73 $(CC) -G -o $@~ $(SHLIBLDFLAGS) solist @@\ 74 $(RM) $@ @@\ 75 $(MV) $@~ $@ @@\ 76 @@\ 77AllTarget(Concat(lib,libname.so)) @@\ 78 @@\ 79Concat(lib,libname.so): Concat(lib,libname.so.rev) @@\ 80 $(RM) $@ @@\ 81 $(LN) $? $@ @@\ 82 LinkBuildLibrary($@) @@\ 83 LinkBuildLibrary(Concat(lib,libname.so)) @@\ 84 @@\ 85clean:: @@\ 86 $(RM) Concat(lib,libname.so.rev) 87 88#endif /* SharedLibraryTarget */ 89 90/* 91 * SharedDepLibraryTarget - generate rules to create a shared library. 92 */ 93#ifndef SharedDepLibraryTarget 94#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\ 95AllTarget(Concat(lib,libname.so.rev)) @@\ 96 @@\ 97Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\ 98 $(RM) $@~ @@\ 99 $(CC) -G -o $@~ $(SHLIBLDFLAGS) solist @@\ 100 $(RM) $@ @@\ 101 $(MV) $@~ $@ @@\ 102 @@\ 103AllTarget(Concat(lib,libname.so)) @@\ 104 @@\ 105Concat(lib,libname.so): Concat(lib,libname.so.rev) @@\ 106 $(RM) $@ @@\ 107 $(LN) $? $@ @@\ 108 LinkBuildLibrary($@) @@\ 109 LinkBuildLibrary(Concat(lib,libname.so)) @@\ 110 @@\ 111clean:: @@\ 112 $(RM) Concat(lib,libname.so.rev) 113 114#endif /* SharedDepLibraryTarget */ 115 116/* 117 * SharedLibraryDataTarget - generate rules to create shlib data file; 118 */ 119#ifndef SharedLibraryDataTarget 120#define SharedLibraryDataTarget(libname,rev,salist) @@\ 121AllTarget(Concat(lib,libname.sa.rev)) @@\ 122 @@\ 123Concat(lib,libname.sa.rev): salist $(EXTRALIBRARYDEPS) @@\ 124 $(RM) $@ @@\ 125 $(AR) $@ salist @@\ 126 RanLibrary($@) @@\ 127 @@\ 128clean:: @@\ 129 $(RM) Concat(lib,libname.sa.rev) 130 131#endif /* SharedLibraryDataTarget */ 132