Initial import of the CDE 2.1.30 sources from the Open Group.
This commit is contained in:
407
cde/programs/dtinfo/tools/config/Library.tmpl
Normal file
407
cde/programs/dtinfo/tools/config/Library.tmpl
Normal file
@@ -0,0 +1,407 @@
|
||||
/*
|
||||
* Library imakefile info - this contains any special redefinitions, etc.
|
||||
* that Imakefiles in the various library subtrees will need.
|
||||
*
|
||||
* Before including this, you must set the following boolean variables:
|
||||
* DoNormalLib, DoSharedLib, DoDebugLib, DoProfileLib
|
||||
*
|
||||
* To get automatic generation of standard rules, also set the variables:
|
||||
* LibName, SoRev, HasSharedData, and optionally HugeLibrary and IncSubdir.
|
||||
*
|
||||
* To suppress installation of the library define LibInstall NO.
|
||||
* To suppress creating (and installing) the library define LibCreate NO.
|
||||
* To suppress installing headers define LibHeaders NO.
|
||||
* Define LargePICTable YES if large (32-bit) PIC tables are needed.
|
||||
*/
|
||||
|
||||
XCOMM $TOG: Library.tmpl /main/44 1997/04/28 11:47:53 kaleb $
|
||||
|
||||
#ifndef LibraryCplusplusOptions
|
||||
# if DoSharedLib && defined(SharedLibraryCplusplusOptions)
|
||||
# define LibraryCplusplusOptions SharedLibraryCplusplusOptions
|
||||
# else
|
||||
# define LibraryCplusplusOptions DefaultCplusplusOptions
|
||||
# endif
|
||||
#endif
|
||||
#ifndef LibraryDefines
|
||||
# define LibraryDefines StandardDefines
|
||||
#endif
|
||||
#ifndef LibraryCDebugFlags
|
||||
# define LibraryCDebugFlags DefaultCDebugFlags
|
||||
#endif
|
||||
#ifndef LibraryCplusplusDebugFlags
|
||||
# define LibraryCplusplusDebugFlags DefaultCplusplusDebugFlags
|
||||
#endif
|
||||
#ifndef SeparateSharedCompile
|
||||
# define SeparateSharedCompile YES
|
||||
#endif
|
||||
|
||||
#ifndef CplusplusSource
|
||||
# ifndef LibraryCcCmd
|
||||
# if DoSharedLib && defined(SharedLibraryCcCmd)
|
||||
# define LibraryCcCmd SharedLibraryCcCmd
|
||||
# else
|
||||
# define LibraryCcCmd CcCmd
|
||||
# endif
|
||||
# endif
|
||||
# ifndef LibraryCCOptions
|
||||
# if DoSharedLib && defined(SharedLibraryCCOptions)
|
||||
# define LibraryCCOptions SharedLibraryCCOptions
|
||||
# else
|
||||
# define LibraryCCOptions DefaultCCOptions
|
||||
# endif
|
||||
# endif
|
||||
|
||||
CC = LibraryCcCmd
|
||||
CCOPTIONS = LibraryCCOptions
|
||||
STD_DEFINES = LibraryDefines $(PROJECT_DEFINES)
|
||||
CDEBUGFLAGS = LibraryCDebugFlags
|
||||
# if defined(LargePICTable) && LargePICTable && defined(LargePositionIndependentCFlags)
|
||||
PICFLAGS = LargePositionIndependentCFlags
|
||||
# endif
|
||||
#else
|
||||
# ifndef LibraryCplusplusCmd
|
||||
# if DoSharedLib && defined(SharedLibraryCplusplusCmd)
|
||||
# define LibraryCplusplusCmd SharedLibraryCplusplusCmd
|
||||
# else
|
||||
# define LibraryCplusplusCmd CplusplusCmd
|
||||
# endif
|
||||
# endif
|
||||
# ifndef LibraryCplusplusOptions
|
||||
# if DoSharedLib && defined(SharedLibraryCplusplusOptions)
|
||||
# define LibraryCplusplusOptions SharedLibraryCplusplusOptions
|
||||
# else
|
||||
# define LibraryCplusplusOptions DefaultCplusplusOptions
|
||||
# endif
|
||||
# endif
|
||||
|
||||
CXX = LibraryCplusplusCmd
|
||||
CXXOPTIONS = LibraryCplusplusOptions
|
||||
STD_DEFINES = LibraryDefines $(PROJECT_DEFINES)
|
||||
CXXDEBUGFLAGS = LibraryCplusplusDebugFlags
|
||||
# if defined(LargePICTable) && LargePICTable
|
||||
# ifdef LargePositionIndependentCplusplusFlags
|
||||
CXXPICFLAGS = LargePositionIndependentCplusplusFlags
|
||||
# elif defined(LargePositionIndependentCFlags)
|
||||
CXXPICFLAGS = LargePositionIndependentCFlags
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
LIB_MT_DEFINES = LibraryMTDefines
|
||||
|
||||
#if defined(IHaveSubdirs) && HasSymLinks
|
||||
#define _LibMkdir LibMkdirLinkSubdirs
|
||||
#else
|
||||
#define _LibMkdir LibMkdir
|
||||
#endif
|
||||
|
||||
#if DoDebugLib
|
||||
# define _DebuggedLibMkdir() _LibMkdir(debugger)
|
||||
# define _DebuggedObjCompile(options) DebuggedLibObjCompile(options)
|
||||
# define _DebuggedObjCplusplusCompile(options) DebuggedLibObjCplusplusCompile(options)
|
||||
# define _DebuggedCleanDir() LibCleanDir(debugger)
|
||||
#else
|
||||
# define _DebuggedLibMkdir() $(_NULLCMD_)
|
||||
# define _DebuggedObjCompile(options) $(_NULLCMD_)
|
||||
# define _DebuggedObjCplusplusCompile(options) $(_NULLCMD_)
|
||||
# define _DebuggedCleanDir() $(_NULLCMD_)
|
||||
#endif
|
||||
|
||||
#if DoProfileLib
|
||||
# define _ProfiledLibMkdir() _LibMkdir(profiled)
|
||||
# define _ProfiledObjCompile(options) ProfiledLibObjCompile(options)
|
||||
# define _ProfiledObjCplusplusCompile(options) ProfiledLibObjCplusplusCompile(options)
|
||||
# define _ProfiledCleanDir() LibCleanDir(profiled)
|
||||
#else
|
||||
# define _ProfiledLibMkdir() $(_NULLCMD_)
|
||||
# define _ProfiledObjCompile(options) $(_NULLCMD_)
|
||||
# define _ProfiledObjCplusplusCompile(options) $(_NULLCMD_)
|
||||
# define _ProfiledCleanDir() $(_NULLCMD_)
|
||||
#endif
|
||||
|
||||
#if !DoNormalLib
|
||||
# define _NormalLibMkdir() $(_NULLCMD_)
|
||||
# define _NormalObjCompile(options) $(_NULLCMD_)
|
||||
# define _NormalObjCplusplusCompile(options) $(_NULLCMD_)
|
||||
# define _NormalCleanDir() $(_NULLCMD_)
|
||||
#else
|
||||
# if DoSharedLib && SeparateSharedCompile
|
||||
# define _NormalLibMkdir() _LibMkdir(unshared)
|
||||
# define _NormalObjCompile(options) UnsharedLibObjCompile(options)
|
||||
# define _NormalObjCplusplusCompile(options) UnsharedLibObjCplusplusCompile(options)
|
||||
# define _NormalCleanDir() LibCleanDir(unshared)
|
||||
# else
|
||||
# define _NormalLibMkdir() $(_NULLCMD_)
|
||||
# define _NormalObjCompile(options) NormalLibObjCompile(options)
|
||||
# define _NormalObjCplusplusCompile(options) NormalLibObjCplusplusCompile(options)
|
||||
# define _NormalCleanDir() $(_NULLCMD_)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if !DoSharedLib || (DoNormalLib && !SeparateSharedCompile)
|
||||
# define _SharedObjCompile(options) $(_NULLCMD_)
|
||||
# define _SharedObjCplusplusCompile(options) $(_NULLCMD_)
|
||||
#else
|
||||
# if SeparateSharedCompile
|
||||
# define _SharedObjCompile(options) NormalSharedLibObjCompile(options)
|
||||
# define _SharedObjCplusplusCompile(options) NormalSharedLibObjCplusplusCompile(options)
|
||||
#else
|
||||
# define _SharedObjCompile(options) NormalLibObjCompile(options)
|
||||
# define _SharedObjCplusplusCompile(options) NormalLibObjCplusplusCompile(options)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef CplusplusSource
|
||||
# define SRCsuf c
|
||||
#else
|
||||
# define SRCsuf CCsuf
|
||||
# ifdef SunArchitecture
|
||||
.SUFFIXES: .CCsuf
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define _CompileObj(target, options) @@\
|
||||
target @@\
|
||||
_DebuggedObjCompile(options) @@\
|
||||
_ProfiledObjCompile(options) @@\
|
||||
_NormalObjCompile(options) @@\
|
||||
_SharedObjCompile(options)
|
||||
|
||||
#ifdef CplusplusSource
|
||||
# define _CompileObjCplusplus(target, options) @@\
|
||||
target @@\
|
||||
_DebuggedObjCplusplusCompile(options) @@\
|
||||
_ProfiledObjCplusplusCompile(options) @@\
|
||||
_NormalObjCplusplusCompile(options) @@\
|
||||
_SharedObjCplusplusCompile(options)
|
||||
#else
|
||||
# define _CompileObjCplusplus(target, options)
|
||||
#endif
|
||||
|
||||
#ifndef LibraryObjectRule
|
||||
# define LibraryObjectRule() @@\
|
||||
all:: @@\
|
||||
_DebuggedLibMkdir() @@\
|
||||
_ProfiledLibMkdir() @@\
|
||||
_NormalLibMkdir() @@\
|
||||
@@\
|
||||
includes:: @@\
|
||||
_DebuggedLibMkdir() @@\
|
||||
_ProfiledLibMkdir() @@\
|
||||
_NormalLibMkdir() @@\
|
||||
@@\
|
||||
_CompileObj(.c.Osuf:,$(_NOOP_)) @@\
|
||||
_CompileObjCplusplus(.SRCsuf.Osuf:,$(_NOOP_)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
_DebuggedCleanDir() @@\
|
||||
_ProfiledCleanDir() @@\
|
||||
_NormalCleanDir() @@\
|
||||
|
||||
#endif /* LibraryObjectRule */
|
||||
|
||||
#ifndef SpecialLibObjectRule
|
||||
# define SpecialLibObjectRule(objs,depends,options) @@\
|
||||
_CompileObj(objs: depends,options)
|
||||
#endif /* SpecialLibObjectRule */
|
||||
|
||||
#ifndef SpecialCLibObjectRule
|
||||
# define SpecialCLibObjectRule(basename,depends,options) @@\
|
||||
_CompileObj(basename.Osuf: basename.SRCsuf depends,options) @@\
|
||||
@@\
|
||||
basename.i: basename.SRCsuf depends @@\
|
||||
CPPOnlyCompile(basename.SRCsuf,options) @@\
|
||||
@@\
|
||||
CenterLoadTarget(debug_src,basename.SRCsuf,NullParameter,$(ALLDEFINES) options)
|
||||
#endif /* SpecialCLibObjectRule */
|
||||
|
||||
#ifndef SpecialCplusplusLibObjectRule
|
||||
# define SpecialCplusplusLibObjectRule(basename,depends,options) @@\
|
||||
_CompileObjCplusplus(basename.Osuf: basename.SRCsuf depends,options) @@\
|
||||
@@\
|
||||
CenterLoadTarget(debug_src,basename.SRCsuf,NullParameter,$(ALLDEFINES) options)
|
||||
#endif /* SpecialCplusplusLibObjectRule */
|
||||
|
||||
/*
|
||||
* ToolkitMakeStrings generates a string-table, i.e., a C source
|
||||
* file and the matching header(s), e.g., Xt's StringDefs.c, StringDefs.h,
|
||||
* and Shell.h files; or Motif's XmStrDefs.c and XmStrDefs.h files.
|
||||
*
|
||||
* The 'files' argument is the list of files that will be produced by
|
||||
* this rule, e.g., for Xt they would be "Shell.h StringDefs.c StringDefs.h"
|
||||
* and for Motif they would be "XmStrDefs.c XmStrDefs.h".
|
||||
*
|
||||
* The 'source' argument is the string-list file to be parsed, e.g., in
|
||||
* Xt that would be "util/string.list". For Motif 2.0 it would be
|
||||
* "../../tools/makestr/xmstring.list", and for Motif-CDE1 it would be
|
||||
* "util/xmstring.list".
|
||||
*
|
||||
* The 'options' argument is passed by the library's Imakefile, see the
|
||||
* Xt Imakefile for an example. Typically this would be nothing, -intelabi,
|
||||
* or -sparcabi; there are other choices, but these are typical.
|
||||
*
|
||||
* The 'depends' argument names additional files the target files
|
||||
* depend on. It should name the #ctmpl and #htmpl files from the
|
||||
* 'source' file.
|
||||
*
|
||||
* The 'dest' argument is the C source output file. For Xt this should
|
||||
* be "StringDefs.c", and for all versions of Motif it would be "XmStrDefs.c"
|
||||
*
|
||||
* Headers are generated and named according to data in the 'source'
|
||||
* file.
|
||||
*/
|
||||
/*
|
||||
* The NoCmpScript
|
||||
* prevents clearmake from trying to remake makestrs if it exists.
|
||||
* Including both $(MAKESTRS) and $(MAKESTRS).o as primary targets
|
||||
* prevents clearmake from trying to recompile makestrs from here.
|
||||
* We have includes, not files, depend on makestrs to try to get
|
||||
* clearmake to wink in the files. Bug in clearmake 2.0.2?
|
||||
*/
|
||||
|
||||
#ifndef MakeStringsDependency
|
||||
# define MakeStringsDependency @@\
|
||||
MAKESTRS = $(CONFIGSRC)/util/makestrs @@\
|
||||
NoCmpScript(ProgramTargetName($(MAKESTRS)) $(MAKESTRS).Osuf) @@\
|
||||
@@\
|
||||
ProgramTargetName($(MAKESTRS)) $(MAKESTRS).Osuf: @@\
|
||||
cd $(CONFIGSRC)/util && $(MAKE) ProgramTargetName(makestrs) @@\
|
||||
@@\
|
||||
includes:: ProgramTargetName($(MAKESTRS))
|
||||
#endif
|
||||
#ifndef ToolkitMakeStrings
|
||||
# if defined(LibTookitMakeStringsDependency) && LibTookitMakeStringsDependency
|
||||
# define ToolkitMakeStrings(files,source,options,depends,dest) @@\
|
||||
files: source depends @@\
|
||||
RemoveFiles(files) @@\
|
||||
RunProgram(MAKESTRS,options < source > dest) @@\
|
||||
@@\
|
||||
AllTarget(files) @@\
|
||||
@@\
|
||||
includes:: files @@\
|
||||
@@\
|
||||
depend:: files @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
RemoveFiles(files)
|
||||
# else
|
||||
# define ToolkitMakeStrings(files,source,options,depends,dest) @@\
|
||||
MakeStringsDependency @@\
|
||||
@@\
|
||||
files: source depends @@\
|
||||
RemoveFiles(files) @@\
|
||||
RunProgram(MAKESTRS,options < source > dest) @@\
|
||||
@@\
|
||||
AllTarget(files) @@\
|
||||
@@\
|
||||
includes:: files @@\
|
||||
@@\
|
||||
depend:: files @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
RemoveFiles(files)
|
||||
# endif
|
||||
#endif /* ToolkitMakeStrings */
|
||||
|
||||
#ifdef LibName
|
||||
|
||||
LIBNAME = LibName
|
||||
|
||||
# if defined(LibTookitMakeStringsDependency) && LibTookitMakeStringsDependency
|
||||
/*
|
||||
* Do ToolkitMakeStrings() before BuildIncludes so makestrs is still
|
||||
* built first, even if the generated header will be installed.
|
||||
*/
|
||||
MakeStringsDependency
|
||||
# endif
|
||||
|
||||
LibraryObjectRule()
|
||||
|
||||
# undef _LinkBuildLibrary
|
||||
# if !defined(LibInstall) || LibInstall
|
||||
# define _LinkBuildLibrary(lib) LinkBuildLibrary(lib)
|
||||
# else
|
||||
# define _LinkBuildLibrary(lib) $(_NULLCMD_)
|
||||
# endif
|
||||
|
||||
# if !defined(LibCreate) || LibCreate
|
||||
# if DoSharedLib
|
||||
# if HugeLibrary && defined(SharedLibraryTarget3)
|
||||
SharedLibraryTarget3($(LIBNAME),$(SoRev),$(OBJS1),$(OBJS2),$(OBJS3),.,.)
|
||||
# else
|
||||
SharedLibraryTarget($(LIBNAME),$(SoRev),$(OBJS),.,.)
|
||||
# endif
|
||||
# if !defined(LibInstall) || LibInstall
|
||||
InstallSharedLibrary($(LIBNAME),$(SoRev),$(SHLIBDIR))
|
||||
# endif
|
||||
# if HasSharedData
|
||||
SharedLibraryDataTarget($(LIBNAME),$(SoRev),$(UNSHAREDOBJS))
|
||||
# if !defined(LibInstall) || LibInstall
|
||||
InstallSharedLibraryData($(LIBNAME),$(SoRev),$(SHLIBDIR))
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# if DoNormalLib
|
||||
# if HugeLibrary
|
||||
# if DoSharedLib && SeparateSharedCompile
|
||||
UnsharedLibraryTarget3($(LIBNAME),$(OBJS1),$(OBJS2),$(OBJS3),unshared,..)
|
||||
# else
|
||||
NormalLibraryTarget3($(LIBNAME),$(OBJS1),$(OBJS2),$(OBJS3))
|
||||
# endif
|
||||
# else
|
||||
# if DoSharedLib && SeparateSharedCompile
|
||||
UnsharedLibraryTarget($(LIBNAME),$(OBJS),unshared,..)
|
||||
# else
|
||||
NormalLibraryTarget($(LIBNAME),$(OBJS))
|
||||
# endif
|
||||
# endif
|
||||
# if !defined(LibInstall) || LibInstall
|
||||
InstallLibrary($(LIBNAME),$(USRLIBDIR))
|
||||
# endif
|
||||
# endif
|
||||
# if DoProfileLib
|
||||
ProfiledLibraryTarget($(LIBNAME),$(OBJS))
|
||||
# if !defined(LibInstall) || LibInstall
|
||||
InstallLibrary($(LIBNAME)_p,$(USRLIBDIR))
|
||||
# endif
|
||||
# endif
|
||||
# if DoDebugLib
|
||||
DebuggedLibraryTarget($(LIBNAME),$(OBJS))
|
||||
# if !defined(LibInstall) || LibInstall
|
||||
InstallLibrary($(LIBNAME)_d,$(USRLIBDIR))
|
||||
# endif
|
||||
# endif
|
||||
|
||||
LintLibraryTarget($(LIBNAME),$(SRCS))
|
||||
# if !defined(LibInstall) || LibInstall
|
||||
InstallLintLibrary($(LIBNAME),$(LINTLIBDIR))
|
||||
# endif
|
||||
# else /* not LibCreate */
|
||||
# if HugeLibrary
|
||||
AllTarget($(OBJS1))
|
||||
AllTarget($(OBJS2))
|
||||
AllTarget($(OBJS3))
|
||||
# else
|
||||
AllTarget($(OBJS))
|
||||
# endif
|
||||
# endif /* LibCreate */
|
||||
# ifdef IncSubdir
|
||||
# ifdef IncSubSubdir
|
||||
BuildIncludes($(HEADERS),IncSubdir/IncSubSubdir,../..)
|
||||
InstallMultipleFlags($(HEADERS),$(INCDIR)/IncSubdir/IncSubSubdir,$(INSTINCFLAGS))
|
||||
# else
|
||||
BuildIncludes($(HEADERS),IncSubdir,..)
|
||||
InstallMultipleFlags($(HEADERS),$(INCDIR)/IncSubdir,$(INSTINCFLAGS))
|
||||
# endif
|
||||
# else
|
||||
# ifndef CplusplusSource
|
||||
# if !defined(LibHeaders) || LibHeaders
|
||||
BuildIncludesTop($(HEADERS))
|
||||
InstallMultipleFlags($(HEADERS),$(INCDIR),$(INSTINCFLAGS))
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
|
||||
NormalLintTarget($(SRCS))
|
||||
#endif /* defined(LibName) */
|
||||
Reference in New Issue
Block a user