📄 ibmlib.rules
字号:
XCOMM $XConsortium: ibmLib.rules /main/15 1996/12/30 16:06:05 kaleb $/* * AIX shared library rules */#ifndef HasSharedLibraries# define HasSharedLibraries YES#endif#ifndef ForceNormalLib# define ForceNormalLib NO#endif#ifndef SharedDataSeparation# define SharedDataSeparation NO#endif#ifndef SharedCodeDef# define SharedCodeDef -DSHAREDCODE#endif#ifndef SharedLibraryDef# define SharedLibraryDef -DAIXSHLIB#endif#ifndef ShLibIncludeFile# define ShLibIncludeFile <ibmLib.tmpl>#endif#ifndef PositionIndependentCFlags# define PositionIndependentCFlags -bM\:SRE#endif#ifndef ExtraLoadFlags# define ExtraLoadFlags -bnodelcsect#endif#if !defined(LdPostLib) && !defined(UseInstalled) && OSMajorVersion > 3# if ThreadedX# define LdPostLib -blibpath:$(USRLIBDIRPATH):/usr/lib/threads:/usr/lib:/lib# else# define LdPostLib -blibpath:$(USRLIBDIRPATH):/usr/lib:/lib# endif# define SharedLibPostRef $(LDPOSTLIBS)#endif#ifndef SharedLibPostRef# define SharedLibPostRef $(LDPOSTLIBS)#endif#if ThreadedX# define BaseShLibReqs -lc_r -lm#else# define BaseShLibReqs -lc -lm#endif#ifndef UseExportLists# define UseExportLists YES#endif/* * MakeExportList - generate an export list file for linking libraries. */#ifndef MakeExportList# if UseExportLists# define MakeExportList(libname,result) \ @-RemoveFile(result) @@\ case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\ @@\ echo "#! $@ ($${shr4obj:-shr.o})" > result @@\ if [ -f Concat(lib,libname.elist) ]; then \ @@\ $(CPP) $(ALLINCLUDES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(DEFINES) Concat(lib,libname.elist) | CppSedMagic > $@.list; \ @@\ $(EXPORTLISTGEN) $@~ $@.list >> result; \ @@\ RemoveFile($@.list); \ @@\ else \ @@\ dump -g $@~ | sed -n -e 's/^[ ]*[0-9][0-9]*[ ]*\([^ .][^ ]*\)$$/\1/p' >> result; \ @@\ fi;# else# define MakeExportList(libname,result) \ @-RemoveFile(result) @@\ case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\ @@\ echo "#! $@ ($${shr4obj:-shr.o})" > result @@\ dump -g $@~ | sed -n -e 's/^[ ]*[0-9][0-9]*[ ]*\([^ .][^ ]*\)$$/\1/p' >> result;# endif#endif /* MakeExportList */#if !defined(UseInstalled) && !defined(UseInstalledX11) \ && !defined(UseImports) && !defined(ImportX11) /* we want this to be defined only when building X */# if OSMajorVersion < 4/* * SharedDSLibReferences - variables for shared libraries */# ifndef SharedLibReferences# define SharedLibReferences(varname,libname,libsource,revname,rev) @@\Concat3(DEP,varname,LIB) = /**/ @@\Concat(varname,LIB) = _Use(Concat(-l,libname),Concat(libsource/lib,libname.a)) @@\LintLibReferences(varname,libname,libsource)# endif# else# ifndef SharedLibReferences# define SharedLibReferences(varname,libname,libsource,revname,rev) @@\Concat3(DEP,varname,LIB) = /**/ @@\Concat(varname,LIB) = _Use(Concat(-l,libname),Concat($(BUILDLIBDIR),/libname.imp) Concat3($(BUILDLIBDIR),/lib,libname.a)) @@\LintLibReferences(varname,libname,libsource)# endif# endif/* * SharedDSLibReferences - variables for shared libraries */# ifndef SharedDSLibReferences# define SharedDSLibReferences(varname,libname,libsource,revname,rev) @@\SharedLibReferences(varname,libname,libsource,revname,rev)# endif# if OSMajorVersion == 4/* * UnsharedLibReferences - variables for unshared libraries */# ifndef UnsharedLibReferences# define UnsharedLibReferences(varname,libname,libsource) @@\Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/lib,$(BUILDLIBDIR)/lib,libname.a) @@\Concat(varname,LIB) = _Use(Concat(-l,libname),Concat($(BUILDLIBDIR)/lib,libname.a)) @@\LintLibReferences(varname,libname,libsource)# endif# endif#endif /* !defined(UseInstalled) && !defined(UseInstalledX11) ... *//* * InstallSharedLibrary - generate rules to install the shared library. */#ifndef InstallSharedLibrary# define InstallSharedLibrary(libname,rev,dest) @@\InstallLibrary(libname,dest)#endif /* InstallSharedLibrary *//* * InstallSharedLibraryData - generate rules to install the shared library data */#ifndef InstallSharedLibraryData# define InstallSharedLibraryData(libname,rev,dest)#endif /* InstallSharedLibraryData *//* * SharedLibraryTarget - generate rules to create a shared library; * build it into a different name so that the we do not hose people by having * the library gone for long periods. * * IBM uses an unusual shared object file name (shr4.o) in some libraries. * Duplicate this behavior to preserve compatibility with IBM's libraries. */#if OSMajorVersion < 4# ifndef SharedLibraryTarget# define SharedLibraryTarget(libname,rev,solist,down,up) @@\AllTarget(Concat(lib,libname.a)) @@\ @@\Concat(lib,libname.a): solist $(UNSHAREDOBJS) $(EXTRALIBRARYDEPS) @@\ $(RM) $@~ shr.o shr4.o @@\ (cd down; $(AR) up/$@~ solist) @@\ dump -g $@~ | sed -n -e 's/^[ ]*[0-9][0-9]*[ ]*\([^ .][^ ]*\)$$/\1/p' > $@.syms @@\ $(LD) -o shr.o $@~ -H512 -T512 -bM\:SRE -bE\:$@.syms $(REQUIREDLIBS) BaseShLibReqs SharedLibPostRef @@\ $(LN) shr.o shr4.o @@\ $(RM) $@~ @@\ case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\ @@\ $(AR) $@~ $${shr4obj} shr.o $(UNSHAREDOBJS) @@\ $(RM) $@.syms $@ shr.o shr4.o @@\ $(MV) $@~ $@ @@\ LinkBuildLibrary($@) @@\ @@\clean:: @@\ $(RM) Concat(lib,libname.a)# endif /* SharedLibraryTarget */#else /* OSMajorVersion >= 4 */# ifndef SharedLibraryTarget# define SharedLibraryTarget(libname,rev,solist,down,up) @@\AllTarget(Concat(lib,libname.a)) @@\ @@\Concat(lib,libname.a): solist $(UNSHAREDOBJS) $(EXTRALIBRARYDEPS) @@\ RemoveFiles($@~ shr.o shr4.o) @@\ (cd down; $(AR) up/$@~ solist) @@\ MakeExportList(libname,libname.imp) @@\ $(LD) -o shr.o $@~ -H512 -T512 -bM\:SRE -bE\:libname.imp -bnoentry $(REQUIREDLIBS) BaseShLibReqs $(LDPOSTLIBS) @@\ $(LN) shr.o shr4.o @@\ RemoveFile($@~) @@\ case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\ @@\ $(AR) $@~ $${shr4obj} shr.o $(UNSHAREDOBJS) @@\ RemoveFile($@) @@\ $(MV) $@~ $@ @@\ LinkBuildLibrary($@) @@\ LinkBuildLibrary(libname.imp) @@\ @@\clean:: @@\ $(RM) Concat(lib,libname.a)# endif /* SharedLibraryTarget */#endif/* * SharedLibraryDataTarget - generate rules to create shlib data file; */#ifndef SharedLibraryDataTarget# define SharedLibraryDataTarget(libname,rev,salist)#endif /* SharedLibraryTarget */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -