cdesktopenv/cde/config/cf/bsdLib.rules

98 lines
3.0 KiB
Plaintext

XCOMM $XConsortium: bsdLib.rules /main/3 1996/09/28 16:09:18 rws $
/*
* NetBSD/FreeBSD shared library rules
*/
#ifndef HasSharedLibraries
#define HasSharedLibraries YES
#endif
#ifndef SharedDataSeparation
#define SharedDataSeparation NO
#endif
#ifndef SharedCodeDef
#define SharedCodeDef
#endif
#ifndef SharedLibraryDef
#define SharedLibraryDef -DBSDSHLIB
#endif
#ifndef ShLibIncludeFile
#define ShLibIncludeFile <bsdLib.tmpl>
#endif
#ifndef SharedLibraryLoadFlags
#define SharedLibraryLoadFlags -shared
#endif
#ifndef PositionIndependentCFlags
#define PositionIndependentCFlags -fpic
#endif
/*
* InstallSharedLibrary - generate rules to install the shared library.
*/
#ifndef InstallSharedLibrary
#define InstallSharedLibrary(libname,rev,dest) @@\
install:: Concat(lib,libname.so.rev) @@\
MakeDir($(DESTDIR)dest) @@\
$(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
$(LN) Concat(lib,libname.so.rev) Concat($(DESTDIR)dest/lib,libname.so)
#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(lib,libname.so.rev)) @@\
@@\
Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
$(RM) $@~ @@\
(cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$@ solist $(REQUIREDLIBS)) @@\
$(RM) $@ @@\
$(MV) $@~ $@ @@\
$(RM) Concat(lib,libname.so) @@\
$(LN) $@ Concat(lib,libname.so) @@\
LinkBuildLibrary($@) @@\
(cd $(BUILDLIBDIR) && $(RM) Concat(lib,libname.so) && \
$(LN) $@ Concat(lib,libname.so)) @@\
@@\
clean:: @@\
$(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
#endif /* SharedLibraryTarget */
/*
* 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
/*
* 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