Blame config/cf/sv3Lib.rules

Packit b099d7
XCOMM $XConsortium: sv3Lib.rules /main/1 1996/10/31 14:47:33 kaleb $
Packit b099d7
Packit b099d7
Packit b099d7
Packit b099d7
XCOMM $XFree86: xc/config/cf/sv3Lib.rules,v 3.1 1996/12/27 06:50:27 dawes Exp $
Packit b099d7
/*
Packit b099d7
 * SVR3 shared library rules
Packit b099d7
 * Copyright (c) 1992, 1993 by Thomas Wolfram, Berlin, Germany
Packit b099d7
 * Author: Thomas Wolfram, thomas@aeon.in-berlin.de, wolf@prz.tu-berlin.de
Packit b099d7
 * Conception derived partially from work of Thomas Roell
Packit b099d7
 */
Packit b099d7
Packit b099d7
#ifndef HasSharedLibraries
Packit b099d7
#define HasSharedLibraries NO		/* JUST FOR NOW */
Packit b099d7
#endif
Packit b099d7
#ifndef ForceNormalLib
Packit b099d7
#define ForceNormalLib YES
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#ifndef SharedLibSM
Packit b099d7
#define SharedLibSM HasSharedLibraries
Packit b099d7
#endif
Packit b099d7
#ifndef SharedLibXau
Packit b099d7
#define SharedLibXau HasSharedLibraries
Packit b099d7
#endif
Packit b099d7
#ifndef SharedLibXdmcp
Packit b099d7
#define SharedLibXdmcp HasSharedLibraries
Packit b099d7
#endif
Packit b099d7
#ifndef SharedLibXi
Packit b099d7
#define SharedLibXi HasSharedLibraries
Packit b099d7
#endif
Packit b099d7
#ifndef SharedLibXie
Packit b099d7
#define SharedLibXie HasSharedLibraries
Packit b099d7
#endif
Packit b099d7
#ifndef SharedLibXtst
Packit b099d7
#define SharedLibXtst HasSharedLibraries
Packit b099d7
#endif
Packit b099d7
#ifndef SharedLibPhigs
Packit b099d7
#define SharedLibPhigs HasSharedLibraries
Packit b099d7
#endif
Packit b099d7
#ifndef SharedLibICE
Packit b099d7
#define SharedLibICE HasSharedLibraries
Packit b099d7
#endif
Packit b099d7
#ifndef SharedLibFS
Packit b099d7
#define SharedLibFS HasSharedLibraries
Packit b099d7
#endif
Packit b099d7
#ifndef SharedLibX11
Packit b099d7
#define SharedLibX11 HasSharedLibraries
Packit b099d7
#endif
Packit b099d7
#ifndef SharedOldX
Packit b099d7
#define SharedOldX NO		/* it's obsolete */
Packit b099d7
#endif
Packit b099d7
#ifndef SharedLibXt
Packit b099d7
#define SharedLibXt HasSharedLibraries
Packit b099d7
#endif
Packit b099d7
#ifndef SharedLibXaw
Packit b099d7
#define SharedLibXaw HasSharedLibraries
Packit b099d7
#endif
Packit b099d7
#ifndef SharedLibXmu
Packit b099d7
#define SharedLibXmu HasSharedLibraries
Packit b099d7
#endif
Packit b099d7
#ifndef SharedLibXext
Packit b099d7
#define SharedLibXext HasSharedLibraries
Packit b099d7
#endif
Packit b099d7
#ifndef SharedLibPex
Packit b099d7
#define SharedLibPex NO
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#ifndef SharedDataSeparation
Packit b099d7
#define SharedDataSeparation NO
Packit b099d7
#endif
Packit b099d7
#ifndef SharedCodeDef
Packit b099d7
#define SharedCodeDef /**/
Packit b099d7
#endif
Packit b099d7
#ifndef SharedLibraryDef
Packit b099d7
#define SharedLibraryDef -DSVR3SHLIB
Packit b099d7
#endif
Packit b099d7
#ifndef ShLibIncludeFile
Packit b099d7
#define ShLibIncludeFile <sv3Lib.tmpl>
Packit b099d7
#endif
Packit b099d7
#ifndef SharedLibraryLoadFlags
Packit b099d7
#define SharedLibraryLoadFlags -q
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#ifndef PositionIndependentCFlags
Packit b099d7
# if HasGcc2
Packit b099d7
#  define PositionIndependentCFlags -msvr3-shlib  
Packit b099d7
# else
Packit b099d7
#  define PositionIndependentCFlags /**/
Packit b099d7
# endif
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#ifndef PositionIndependentCplusplusFlags
Packit b099d7
# if HasGcc2
Packit b099d7
#  define PositionIndependentCplusplusFlags -msvr3-shlib  
Packit b099d7
# else
Packit b099d7
#  define PositionIndependentCplusplusFlags /**/
Packit b099d7
# endif
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#if 0
Packit b099d7
/*
Packit b099d7
 * LibCleanDir - helper for cleaning library object subdirectories
Packit b099d7
 */
Packit b099d7
#ifndef LibCleanDir
Packit b099d7
#define LibCleanDir(dir) -@if [ -d dir ]; then \                           @@\
Packit b099d7
                (set -x; cd dir; $(RM) *.o *.sd); else exit 0; fi
Packit b099d7
#endif
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * SharedLibObjCompile - compile fragment for shared objects
Packit b099d7
 */
Packit b099d7
#ifndef SharedLibObjCompile
Packit b099d7
#define SharedLibObjCompile(options) $(RM) shared/$@ 	                   @@\
Packit b099d7
	cat import.h $*.c >_$*.c                                           @@\
Packit b099d7
        $(CC) -c $(ANSICCOPTIONS) $(CCOPTIONS) $(ALLDEFINES) options \     @@\
Packit b099d7
$(SHLIBDEF) $(SHAREDCODEDEF) $(PICFLAGS) $(CDEBUGFLAGS) _$*.c              @@\
Packit b099d7
	$(MV) _$*.o shared/$@                                              @@\
Packit b099d7
	$(RM) _$*.c
Packit b099d7
#endif
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * NormalSharedLibObjCompile - compile fragment for shared object when
Packit b099d7
 * a normal library is not being built
Packit b099d7
 */
Packit b099d7
#ifndef NormalSharedLibObjCompile
Packit b099d7
#define NormalSharedLibObjCompile(options) $(RM) $@                        @@\
Packit b099d7
	cat import.h $*.c >_$*.c                                           @@\
Packit b099d7
        $(CC) -c $(CFLAGS) options $(SHLIBDEF) $(SHAREDCODEDEF) $(PICFLAGS) _$*.c @@\
Packit b099d7
	$(MV) _$*.o $@                                                     @@\
Packit b099d7
	$(RM) _$*.c
Packit b099d7
#endif
Packit b099d7
Packit b099d7
Packit b099d7
#ifndef LibraryObjectRule
Packit b099d7
#define LibraryObjectRule()                                             @@\
Packit b099d7
all::                                                                   @@\
Packit b099d7
        _DebuggedLibMkdir()                                             @@\
Packit b099d7
        _ProfiledLibMkdir()                                             @@\
Packit b099d7
        _SharedLibMkdir()                                               @@\
Packit b099d7
                                                                        @@\
Packit b099d7
includes::                                                              @@\
Packit b099d7
        _DebuggedLibMkdir()                                             @@\
Packit b099d7
        _ProfiledLibMkdir()                                             @@\
Packit b099d7
        _SharedLibMkdir()                                               @@\
Packit b099d7
                                                                        @@\
Packit b099d7
.c.o:                                                                   @@\
Packit b099d7
        _DebuggedObjCompile($(_NOOP_))                                  @@\
Packit b099d7
        _ProfiledObjCompile($(_NOOP_))                                  @@\
Packit b099d7
        _SharedObjCompile($(_NOOP_))                                    @@\
Packit b099d7
        _NormalObjCompile($(_NOOP_))                                    @@\
Packit b099d7
                                                                        @@\
Packit b099d7
.SUFFIXES: .sd                                                          @@\
Packit b099d7
.c.sd:                                                                  @@\
Packit b099d7
        _SharedDatCompile(-DSVR3SHDAT)                                  @@\
Packit b099d7
                                                                        @@\
Packit b099d7
clean::                                                                 @@\
Packit b099d7
        _DebuggedCleanDir()                                             @@\
Packit b099d7
        _ProfiledCleanDir()                                             @@\
Packit b099d7
        _SharedCleanDir()                                               @@\
Packit b099d7
Packit b099d7
#endif /* LibraryObjectRule */
Packit b099d7
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * InstallSharedLibrary - generate rules to install the shared library.
Packit b099d7
 */
Packit b099d7
#ifndef InstallSharedLibrary
Packit b099d7
#if StripInstalledPrograms
Packit b099d7
#define	InstallSharedLibrary(libname,rev,dest)				@@\
Packit b099d7
install:: Concat(lib,libname.rev) 					@@\
Packit b099d7
	MakeDir($(DESTDIR)dest)						@@\
Packit b099d7
	$(INSTALL) -c $(INSTLIBFLAGS) Concat3(lib,libname,_s.a) $(DESTDIR)dest @@\
Packit b099d7
	MakeDir($(DESTDIR)$(LIBDIR)/shlib)                              @@\
Packit b099d7
        $(INSTALL) -c $(INSTPGMFLAGS) Concat(lib,libname.rev) \         @@\
Packit b099d7
	$(DESTDIR)$(LIBDIR)/shlib                                       @@\
Packit b099d7
	strip Concat($(DESTDIR)$(LIBDIR)/shlib/lib,libname.rev)         @@\
Packit b099d7
	mcs -d Concat($(DESTDIR)$(LIBDIR)/shlib/lib,libname.rev)
Packit b099d7
#else
Packit b099d7
#define	InstallSharedLibrary(libname,rev,dest)				@@\
Packit b099d7
install:: Concat(lib,libname.rev) 					@@\
Packit b099d7
	MakeDir($(DESTDIR)dest)						@@\
Packit b099d7
	$(INSTALL) -c $(INSTLIBFLAGS) Concat3(lib,libname,_s.a) $(DESTDIR)dest @@\
Packit b099d7
	MakeDir($(DESTDIR)$(LIBDIR)/shlib)                              @@\
Packit b099d7
        $(INSTALL) -c $(INSTPGMFLAGS) Concat(lib,libname.rev) \         @@\
Packit b099d7
	$(DESTDIR)$(LIBDIR)/shlib
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#endif /* InstallSharedLibrary */
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * InstallSharedLibraryData - generate rules to install the shared library data
Packit b099d7
 */
Packit b099d7
#ifndef InstallSharedLibraryData
Packit b099d7
#define	InstallSharedLibraryData(libname,rev,dest)
Packit b099d7
#endif /* InstallSharedLibraryData */
Packit b099d7
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * SharedLibraryTarget - generate rules to create a shared library;
Packit b099d7
 * build it into a different name so that we do not hose people by having
Packit b099d7
 * the library gone for long periods.
Packit b099d7
 */
Packit b099d7
#ifndef SharedLibraryTarget
Packit b099d7
#define SharedLibraryTarget(libname,rev,solist,down,up)			@@\
Packit b099d7
AllTarget(Concat(lib,libname.rev))					@@\
Packit b099d7
									@@\
Packit b099d7
Concat(lib,libname.rev):  solist					@@\
Packit b099d7
	$(RM) $@ Concat3(lib,libname,_s.a)				@@\
Packit b099d7
        $(CPP) -DDOWN=down ConnectionFlags ShlibDefines Concat(lib,libname.def) | \ @@\
Packit b099d7
        sed -e '/^#  *[0-9][0-9]*  *.*$$/d; /^$$/d' >spec.cpp           @@\
Packit b099d7
        sed -e '1,/#libraries/d; /#externals/,$$d' spec.cpp | \         @@\
Packit b099d7
        nawk '{ system("ar x " $$1 " " $$2 )}'                          @@\
Packit b099d7
        echo "#target " Concat($(LIBDIR)/shlib/lib,libname.rev) >spec   @@\
Packit b099d7
        sed -e '/#libraries/,$$d' spec.cpp >>spec                             @@\
Packit b099d7
        mkshlib -s spec -t $@ -h Concat3(lib,libname,_s.a) $(SHLIBLDFLAGS)    @@\
Packit b099d7
        ar rulv Concat3(lib,libname,_s.a) `sed -e '1,/#externals/d' spec.cpp` @@\
Packit b099d7
        $(RM) spec.cpp spec                                             @@\
Packit b099d7
									@@\
Packit b099d7
clean::									@@\
Packit b099d7
	$(RM) Concat(lib,libname.rev) Concat3(lib,libname,_s.a)
Packit b099d7
Packit b099d7
#endif /* SharedLibraryTarget */
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * SharedLibraryDataTarget - generate rules to create shlib data file;
Packit b099d7
 */
Packit b099d7
#ifndef SharedLibraryDataTarget
Packit b099d7
#define SharedLibraryDataTarget(libname,rev,salist)
Packit b099d7
#endif /* SharedLibraryTarget */
Packit b099d7
Packit b099d7
#endif