XCOMM $XFree86: xc/config/cf/bsdLib.rules,v 3.36 2004/06/01 00:16:53 dawes Exp $ /* * Copyright (c) 1994-2004 by The XFree86 Project, Inc. * All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject * to the following conditions: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions, and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer * in the documentation and/or other materials provided with the * distribution, and in the same place and form as other copyright, * license and disclaimer information. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: "This product * includes software developed by The XFree86 Project, Inc * (http://www.xfree86.org/) and its contributors", in the same * place and form as other third-party acknowledgments. Alternately, * this acknowledgment may appear in the software itself, in the * same form and location as other such third-party acknowledgments. * * 4. Except as contained in this notice, the name of The XFree86 * Project, Inc shall not be used in advertising or otherwise to * promote the sale, use or other dealings in this Software without * prior written authorization from The XFree86 Project, Inc. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE XFREE86 PROJECT, INC OR ITS CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * NetBSD/FreeBSD shared library rules */ #ifndef UseElfFormat #define UseElfFormat NO #endif #if !UseElfFormat /* a.out shared libs */ #ifndef HasSharedLibraries # ifndef Arm32Architecture # define HasSharedLibraries YES # endif #endif #ifndef SharedDataSeparation #define SharedDataSeparation NO #endif #ifndef SharedCodeDef #define SharedCodeDef #endif #ifndef SharedLibraryDef #define SharedLibraryDef -DBSDSHLIB #endif #ifndef ShLibIncludeFile #define ShLibIncludeFile #endif #ifndef SharedLibraryLoadFlags #define SharedLibraryLoadFlags -Bshareable #endif #ifndef PositionIndependentCFlags #define PositionIndependentCFlags -fpic #endif /* * InstallSharedLibrary - generate rules to install the shared library. */ #ifndef InstallSharedLibrary #define InstallSharedLibrary(libname,rev,dest) @@\ install:: @@\ MakeDir($(DESTDIR)dest) @@\ $(INSTALL) -c $(INSTLIBFLAGS) Concat($(LIBPREFIX),libname.so.rev) $(DESTDIR)dest #endif /* InstallSharedLibrary */ /* * SharedLibraryTarget - generate rules to create a shared library; * build it into a different name so that we do not hose people by having * the library gone for long periods. */ #ifndef SharedLibraryTarget #define SharedLibraryTarget(libname,rev,solist,down,up) @@\ AllTarget(Concat($(LIBPREFIX),libname.so.rev)) @@\ @@\ Concat($(LIBPREFIX),libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\ $(RM) $@~ @@\ (cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS)) @@\ $(RM) $@ @@\ $(MV) $@~ $@ @@\ LinkBuildLibrary($@) @@\ @@\ clean:: @@\ $(RM) Concat($(LIBPREFIX),libname.so.rev) #endif /* SharedLibraryTarget */ /* * SharedDepLibraryTarget - generate rules to create a shared library. */ #ifndef SharedDepLibraryTarget #define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\ AllTarget(Concat($(LIBPREFIX),libname.so.rev)) @@\ @@\ Concat($(LIBPREFIX),libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\ $(RM) $@~ @@\ (cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS)) @@\ $(RM) $@ @@\ $(MV) $@~ $@ @@\ LinkBuildLibrary($@) @@\ @@\ clean:: @@\ $(RM) Concat($(LIBPREFIX),libname.so.rev) #endif /* SharedDepLibraryTarget */ #ifndef SharedDepModuleTarget #define SharedDepModuleTarget(name,deps,solist) @@\ AllTarget(name) @@\ @@\ name: deps @@\ $(RM) $@~ @@\ $(LD) -o $@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) @@\ $(RM) $@ @@\ $(MV) $@~ $@ @@\ @@\ clean:: @@\ $(RM) name #endif /* SharedDepModuleTarget */ /* * SharedLibraryDataTarget - generate rules to create shlib data file; */ #ifndef SharedLibraryDataTarget #define SharedLibraryDataTarget(libname,rev,salist) #endif /* SharedLibraryDataTarget */ #ifndef InstallSharedLibraryData #define InstallSharedLibraryData(libname,rev,dest) #endif /* InstallSharedLibraryData */ /* * SharedLibReferences - variables for shared libraries */ #ifndef SharedLibReferences #define SharedLibReferences(varname,libname,libsource,revname,rev) @@\ revname = rev @@\ Concat3(DEP,varname,LIB) = SharedLibDependencies(libname,libsource,revname) @@\ Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) @@\ LintLibReferences(varname,libname,libsource) #endif /* * SharedFontLibReferences - shared font libraries */ #ifndef SharedFontLibReferences #define SharedFontLibReferences() @@\ SOFONTREV = SharedFontRev @@\ DEPFONTLIB = SharedLibDependencies(Xfont,$(FONTLIBSRC),SOFONTREV) @@\ FONTLIB = -L$(FREETYPELIBDIR) -L$(FONTLIBSRC) LoaderLibPrefix -lXfont @@\ LintLibReferences(XFONT,Xfont,$(FONTLIBSRC)) #endif /* * SharedDSLibReferences - variables for shared libraries */ #ifndef SharedDSLibReferences #define SharedDSLibReferences(varname,libname,libsource,revname,rev) @@\ revname = rev @@\ Concat3(DEP,varname,LIB) = SharedDSLibDependencies(libname,libsource,revname) @@\ Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) Concat3(Shared,libname,Reqs) @@\ LintLibReferences(varname,libname,libsource) #endif #else /* UseElfFormat */ /* * NetBSD/FreeBSD (ELF) shared library rules * Cloned from Linux ELF rules, with the following major change: * * Shared libraries depend on -lc. Since we don't have to worry * about libc vs. libg, etc., this is a good idea. (This is actually * implied by using $(CC) to build the shared libraries.) Adding it * explicitly will break threaded applications on platforms that use * libc_r for thread support. */ #ifndef HasSharedLibraries #define HasSharedLibraries YES #endif #ifndef ForceNormalLib #define ForceNormalLib YES #endif #ifndef UseRpath #define UseRpath YES #endif #ifndef BaseShLibReqs #define BaseShLibReqs /* -lc */ #endif #ifndef SharedDataSeparation #define SharedDataSeparation NO #endif #ifndef SharedCodeDef #define SharedCodeDef /**/ #endif #ifndef SharedLibraryDef #define SharedLibraryDef /**/ #endif #ifndef ShLibIncludeFile #define ShLibIncludeFile #endif #ifndef RpathLoadFlags #if UseRpath #define RpathLoadFlags -Wl,-rpath,$(USRLIBDIRPATH) #else #define RpathLoadFlags /**/ #endif #endif #ifndef LibraryRpathLoadFlags #define LibraryRpathLoadFlags RpathLoadFlags #endif #ifndef SharedLibraryLoadFlags #define SharedLibraryLoadFlags -shared LibraryRpathLoadFlags #endif #ifndef PositionIndependentCFlags #define PositionIndependentCFlags -fPIC #endif #ifndef PositionIndependentCplusplusFlags #define PositionIndependentCplusplusFlags -fPIC #endif #ifndef ExtraLoadFlags #ifdef UseInstalled #define ExtraLoadFlags RpathLoadFlags #else #define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(BUILDLIBDIR) #endif #endif #ifndef HardCodeLibdirFlag #define HardCodeLibdirFlag RpathLoadFlags #endif #if !defined(ShlibGlobalsFlags) #define ShlibGlobalsFlags -Wl,-Bsymbolic #endif /* * InstallSharedLibrary - generate rules to install the shared library. * NOTE: file must be executable, hence "INSTBINFLAGS" */ #ifndef FreeBSDArchitecture INSTALLMINORREV = true #else INSTALLMINORREV = false #endif #ifndef SetSonameRev #define SetSonameRev(rev) set +e; S=`expr rev : '\([0-9]*\)'`; set -e #endif #ifndef InstallSharedLibrary #define InstallSharedLibrary(libname,rev,dest) @@\ install:: @@\ MakeDir($(DESTDIR)dest) @@\ @SetSonameRev(rev); \ @@\ T=Concat($(LIBPREFIX),libname.so.$$S) ;\ @@\ if $(INSTALLMINORREV); then \ @@\ INST=Concat($(LIBPREFIX),libname.so.rev); \ @@\ LINK=$$T; \ @@\ else \ @@\ INST=$$T; \ @@\ fi; \ @@\ (set -x; \ @@\ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) $$INST $(DESTDIR)dest); \ @@\ if [ X"$$LINK" != X -a X"$$LINK" != X"$$INST" ]; then (set -x; \ @@\ $(RM) $(DESTDIR)dest/$$LINK; \ @@\ $(LN) $$INST $(DESTDIR)dest/$$LINK); \ @@\ fi; \ @@\ if $(SOSYMLINK); then (set -x; \ @@\ $(RM) Concat($(DESTDIR)dest/$(LIBPREFIX),libname.so); \ @@\ $(LN) $$T Concat($(DESTDIR)dest/$(LIBPREFIX),libname.so)); \ @@\ fi #endif /* InstallSharedLibrary */ #ifndef InstallSharedLibtoolLibrary #define SetRevisions(rev) V=`expr rev : '\([^:]*\)'`; \ @@\ R=`expr rev : '.*:\([^:]*\):'`; \ @@\ A=`expr rev : '.*:\([^:]*\)'`; \ @@\ REV=$$V; \ @@\ REVLIST=""; \ @@\ i=$$A; \ @@\ while [ $$i -gt 0 ]; do \ @@\ REVLIST="$$REVLIST `expr $$REV - $$i`"; \ @@\ i=`expr $$i - 1`; \ @@\ done #define InstallSharedLibtoolLibrary(libname,rev,dest) @@\ install:: @@\ MakeDir($(DESTDIR)dest) @@\ @set +e; SetRevisions(rev); \ @@\ set -e; \ @@\ T=Concat($(LIBPREFIX),libname.so.$$REV); \ @@\ if $(INSTALLMINORREV); then \ @@\ INST=$$T.0; \ @@\ LINK=$$T; \ @@\ else \ @@\ INST=$$T; \ @@\ fi; \ @@\ (set -x; \ @@\ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) $$INST $(DESTDIR)dest); \ @@\ if [ X"$$LINK" != X ]; then (set -x; \ @@\ $(RM) $(DESTDIR)dest/$$LINK; \ @@\ $(LN) $$INST $(DESTDIR)dest/$$LINK); \ @@\ fi; \ @@\ for i in $$REVLIST; do (set -x; \ @@\ $(RM) Concat($(DESTDIR)dest/$(LIBPREFIX),libname.so.$$i); \ @@\ $(LN) Concat($(LIBPREFIX),libname.so.$$REV) Concat($(DESTDIR)dest/$(LIBPREFIX),libname.so.$$i)); \ @@\ done; \ @@\ if $(SOSYMLINK); then (set -x; \ @@\ $(RM) Concat($(DESTDIR)dest/$(LIBPREFIX),libname.so); \ @@\ $(LN) Concat($(LIBPREFIX),libname.so.$$REV) Concat($(DESTDIR)dest/$(LIBPREFIX),libname.so)); \ @@\ fi #endif /* InstallSharedLibtoolLibrary */ /* * 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 we do not hose people by having * the library gone for long periods. */ #ifndef SharedLibraryTarget #define SharedLibraryTarget(libname,rev,solist,down,up) @@\ AllTarget(Concat($(LIBPREFIX),libname.so.rev)) @@\ @@\ Concat($(LIBPREFIX),libname.so.rev): solist @@\ $(RM) $@~ @@\ @SetSonameRev(rev); \ @@\ SONAME=Concat($(LIBPREFIX),libname.so.$$S); \ @@\ (set -x; cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\ if [ $$SONAME != $@ ]; then (set -x; \ @@\ $(RM) $$SONAME; $(LN) $@ $$SONAME); fi; \ @@\ LinkBuildSonameLibrary($$SONAME) @@\ $(RM) $@ @@\ $(MV) $@~ $@ @@\ LinkBuildLibrary($@) @@\ @if $(SOSYMLINK); then (set -x; \ @@\ $(RM) Concat($(LIBPREFIX),libname.so); \ @@\ $(LN) $@ Concat($(LIBPREFIX),libname.so)); fi @@\ LinkBuildLibraryMaybe(Concat($(LIBPREFIX),libname.so),$(SOSYMLINK)) @@\ @@\ clean:: @@\ @SetSonameRev(rev); \ @@\ SONAME=Concat($(LIBPREFIX),libname.so.$$S); \ @@\ set -x; $(RM) $$SONAME @@\ $(RM) Concat($(LIBPREFIX),libname.so) @@\ $(RM) Concat($(LIBPREFIX),libname.so.rev) #endif /* SharedLibraryTarget */ #ifndef SharedLibtoolLibraryTarget #define SharedLibtoolLibraryTarget(libname,rev,solist,down,up) @@\ AllTarget(Concat($(LIBPREFIX),libname.so)) @@\ @@\ Concat($(LIBPREFIX),libname.so): solist @@\ $(RM) $@~ @@\ @set +e; SetRevisions(rev); \ @@\ SONAME=$@.$$REV; \ @@\ set -e; \ @@\ (set -x; cd down; $(CC) -o up/$$SONAME~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\ (set -x; $(RM) $$SONAME; $(MV) $$SONAME~ $$SONAME); \ @@\ LinkBuildSonameLibrary($$SONAME); \ @@\ if $(INSTALLMINORREV); then (set -x; \ @@\ $(RM) $$SONAME.0; \ @@\ $(LN) $$SONAME $$SONAME.0); \ @@\ fi; \ @@\ if $(SOSYMLINK); then (set -x; \ @@\ $(RM) $@; \ @@\ $(LN) $$SONAME $@); \ @@\ LinkBuildLibraryInline($@); \ @@\ fi @@\ @@\ clean:: @@\ @set +e; SetRevisions(rev); \ @@\ set -xe; \ @@\ $(RM) Concat($(LIBPREFIX),libname.so.$$REV); \ @@\ $(RM) Concat($(LIBPREFIX),libname.so.$$REV.0) @@\ $(RM) Concat($(LIBPREFIX),libname.so) #endif /* SharedLibtoolLibraryTarget */ /* * SharedDepLibraryTarget - generate rules to create a shared library. */ #ifndef SharedDepLibraryTarget #define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\ AllTarget(Concat($(LIBPREFIX),libname.so.rev)) @@\ @@\ Concat($(LIBPREFIX),libname.so.rev): deplist @@\ $(RM) $@~ @@\ @SetSonameRev(rev); \ @@\ SONAME=Concat($(LIBPREFIX),libname.so.$$S); \ @@\ (set -x; cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\ if [ $$SONAME != $@ ]; then (set -x; \ @@\ $(RM) $$SONAME; $(LN) $@ $$SONAME); fi; \ @@\ LinkBuildSonameLibrary($$SONAME) @@\ $(RM) $@ @@\ $(MV) $@~ $@ @@\ @if $(SOSYMLINK); then (set -x; \ @@\ $(RM) Concat($(LIBPREFIX),libname.so); \ @@\ $(LN) $@ Concat($(LIBPREFIX),libname.so)); fi @@\ LinkBuildLibrary($@) @@\ LinkBuildLibraryMaybe(Concat($(LIBPREFIX),libname.so),$(SOSYMLINK)) @@\ @@\ clean:: @@\ @SetSonameRev(rev); \ @@\ SONAME=Concat($(LIBPREFIX),libname.so.$$S); \ @@\ set -x; $(RM) $$SONAME @@\ $(RM) Concat($(LIBPREFIX),libname.so) @@\ $(RM) Concat($(LIBPREFIX),libname.so.rev) #endif /* SharedDepLibraryTarget */ /* * SharedDepCplusplusLibraryTarget - generate rules to create a shared library. */ #ifndef SharedDepCplusplusLibraryTarget #define SharedDepCplusplusLibraryTarget(libname,rev,deplist,solist,down,up) @@\ AllTarget(Concat($(LIBPREFIX),libname.so.rev)) @@\ @@\ Concat($(LIBPREFIX),libname.so.rev): deplist @@\ $(RM) $@~ @@\ @SetSonameRev(rev); \ @@\ SONAME=Concat($(LIBPREFIX),libname.so.$$S); \ @@\ (set -x; cd down; $(CXX) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\ if [ $$SONAME != $@ ]; then (set -x; \ @@\ $(RM) $$SONAME; $(LN) $@ $$SONAME); fi; \ @@\ LinkBuildSonameLibrary($$SONAME) @@\ $(RM) $@ @@\ $(MV) $@~ $@ @@\ @if $(SOSYMLINK); then (set -x; \ @@\ $(RM) Concat($(LIBPREFIX),libname.so); \ @@\ $(LN) $@ Concat($(LIBPREFIX),libname.so)); fi @@\ LinkBuildLibrary($@) @@\ LinkBuildLibraryMaybe(Concat($(LIBPREFIX),libname.so),$(SOSYMLINK)) @@\ @@\ clean:: @@\ @SetSonameRev(rev); \ @@\ SONAME=Concat($(LIBPREFIX),libname.so.$$S); \ @@\ set -x; $(RM) $$SONAME @@\ $(RM) Concat($(LIBPREFIX),libname.so) @@\ $(RM) Concat($(LIBPREFIX),libname.so.rev) #endif /* SharedDepCplusplusLibraryTarget */ #ifndef SharedDepModuleTarget #define SharedDepModuleTarget(name,deps,solist) @@\ AllTarget(name) @@\ @@\ name: deps @@\ $(RM) $@~ @@\ $(CC) -o $@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) @@\ $(RM) $@ @@\ $(MV) $@~ $@ @@\ @@\ clean:: @@\ $(RM) name #endif /* SharedDepModuleTarget */ #ifndef SharedDriModuleTarget #define SharedDriModuleTarget(name,deps,solist) @@\ AllTarget(name) @@\ @@\ name: deps @@\ $(RM) $@~ $@.map @@\ @(echo 'DRI_MODULE { global: __dri*; local: *; };' > $@.map) @@\ $(CC) -o $@~ -Wl,--version-script=$@.map $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) BaseShLibReqs @@\ $(RM) $@ $@.map @@\ $(MV) $@~ $@ @@\ LinkBuildModule($@,dri) @@\ @@\ clean:: @@\ $(RM) name @@\ $(RM) name.map #endif /* SharedDriModuleTarget */ /* * SharedLibraryDataTarget - generate rules to create shlib data file; */ #ifndef SharedLibraryDataTarget #define SharedLibraryDataTarget(libname,rev,salist) #endif /* SharedLibraryTarget */ #if defined(FreeBSDArchitecture) /* * Support for building a.out compatibility libraries on a FreeBSD/ELF system. */ #ifndef BuildAoutLibraries #define BuildAoutLibraries NO #endif #if BuildAoutLibraries #define ExtraLibRules #define AoutSubdir aout #ifndef AoutSharedLibraryDef #define AoutSharedLibraryDef -DBSDSHLIB #endif #ifndef AoutSharedLibraryLoadFlags #define AoutSharedLibraryLoadFlags -aout -Bshareable #endif #ifndef AoutPositionIndependentCFlags #define AoutPositionIndependentCFlags -fpic #endif #ifndef AoutAsmOptions #define AoutAsmOptions -aout #endif /* * InstallAoutSharedLibrary - generate rules to install the shared library. */ #ifndef InstallAoutSharedLibrary #define InstallAoutSharedLibrary(libname,rev,dest) @@\ install:: @@\ MakeDir($(DESTDIR)dest) @@\ $(INSTALL) -c $(INSTLIBFLAGS) Concat(AoutSubdir/$(LIBPREFIX),libname.so.rev) $(DESTDIR)dest #endif /* InstallAoutSharedLibrary */ /* * AoutSharedLibraryTarget - generate rules to create a shared library; * build it into a different name so that we do not hose people by having * the library gone for long periods. */ #ifndef AoutSharedLibraryTarget #define AoutSharedLibraryTarget(libname,rev,solist,down,up) @@\ AllTarget(Concat(down/$(LIBPREFIX),libname.so.rev)) @@\ @@\ Concat(down/$(LIBPREFIX),libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\ $(RM) $@~ @@\ $(LD) -o $@~ AoutSharedLibraryLoadFlags solist @@\ $(RM) $@ @@\ $(MV) $@~ $@ @@\ @@\ clean:: @@\ $(RM) Concat(down/$(LIBPREFIX),libname.so.rev) #endif /* AoutSharedLibraryTarget */ #ifndef AoutSharedDepLibraryTarget #define AoutSharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\ AllTarget(Concat(down/lib,libname.so.rev)) @@\ @@\ Concat(down/lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\ $(RM) $@~ @@\ $(LD) -o $@~ AoutSharedLibraryLoadFlags solist @@\ $(RM) $@ @@\ $(MV) $@~ $@ @@\ @@\ clean:: @@\ $(RM) Concat(down/lib,libname.so.rev) #endif /* AoutSharedDepLibraryTarget */ #define AoutCDebugFlags -aout DefaultCDebugFlags #define AoutCplusplusDebugFlags -aout DefaultCplusplusDebugFlags #define AoutLibObjCompile(options) LibObjCompile(AoutSubdir,AoutCDebugFlags AoutSharedLibraryDef AoutPositionIndependentCFlags options) #define AoutLibObjAsm(options) LibObjAsm(AoutSubdir,options -U__ELF__ -D__AOUT__ -UUSE_SSE_ASM -UUSE_MMX_ASM -UUSE_3DNOW_ASM, AoutAsmOptions) #define AoutLibObjCplusplusCompile(options) LibObjCompile(AoutSubdir,AoutCplusplusDebugFlags options) #define ExtraSubdir AoutSubdir EXTRASUBDIR = ExtraSubdir #define ObjectPrefix ExtraSubdir/ #define ExtraLibMkdir() _LibMkdir(AoutSubdir) #define ExtraObjCompile(options) AoutLibObjCompile(options) #define ExtraObjAsm(options) AoutLibObjAsm(options) #define ExtraObjCplusplusCompile(options) AoutLibObjCplusplusCompile(options) #define ExtraCleanDir() LibCleanDir(AoutSubdir) #define ExtraLibraryTarget(libname,so,objs) AoutSharedLibraryTarget(libname,so,objs,AoutSubdir,..) #define ExtraDepLibraryTarget(libname,so,deplist,objs) AoutSharedDepLibraryTarget(libname,so,deplist,objs,AoutSubdir,..) #define ExtraInstallLibrary(libname,so) InstallAoutSharedLibrary(libname,so,$(SHLIBDIR)/AoutSubdir) #endif #endif #endif /* UseElfFormat */