home *** CD-ROM | disk | FTP | other *** search
- XCOMM $XFree86: xc/config/cf/ServerLib.tmpl,v 3.0 1996/10/03 08:28:07 dawes Exp $
- /*
- * Server Library imakefile info - this contains any special
- * redefinitions, etc. that Imakefiles in the various server library
- * subtrees will need.
- *
- * Before including this, you must set the following boolean variables:
- * DoSharedLib, DoNormalLib, DoDebugLib, DoProfileLib
- *
- */
-
- #ifndef DoNormalLib
- #define DoNormalLib YES
- #endif
-
- #ifndef LibraryDefines
- #define LibraryDefines StandardDefines
- #endif
- #ifndef LibraryCDebugFlags
- #define LibraryCDebugFlags DefaultCDebugFlags
- #endif
- #ifndef SeparateSharedCompile
- #define SeparateSharedCompile YES
- #endif
- #ifndef SharedServerLibraryDef
- #define SharedServerLibraryDef $(__NOOP__)
- #endif
-
- #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
-
- #if DoDebugLib
- #define _DebuggedLibMkdir() LibMkdir(debugger)
- #define _DebuggedObjCompile(options) DebuggedLibObjCompile(options)
- #define _DebuggedCleanDir() LibCleanDir(debugger)
- #else
- #define _DebuggedLibMkdir() $(_NULLCMD_)
- #define _DebuggedObjCompile(options) $(_NULLCMD_)
- #define _DebuggedCleanDir() $(_NULLCMD_)
- #endif
-
- #if DoProfileLib
- #define _ProfiledLibMkdir() LibMkdir(profiled)
- #define _ProfiledObjCompile(options) ProfiledLibObjCompile(options)
- #define _ProfiledCleanDir() LibCleanDir(profiled)
- #else
- #define _ProfiledLibMkdir() $(_NULLCMD_)
- #define _ProfiledObjCompile(options) $(_NULLCMD_)
- #define _ProfiledCleanDir() $(_NULLCMD_)
- #endif
-
- #if !DoNormalLib
- #define _NormalLibMkdir() $(_NULLCMD_)
- #define _NormalObjCompile(options) $(_NULLCMD_)
- #define _NormalCleanDir() $(_NULLCMD_)
- #else
- #if DoSharedLib && SeparateSharedCompile
- #define _NormalLibMkdir() LibMkdir(unshared)
- #define _NormalObjCompile(options) UnsharedLibObjCompile(options)
- #define _NormalCleanDir() LibCleanDir(unshared)
- #else
- #define _NormalLibMkdir() $(_NULLCMD_)
- #define _NormalObjCompile(options) NormalLibObjCompile(options)
- #define _NormalCleanDir() $(_NULLCMD_)
- #endif
- #endif
-
- #if !DoSharedLib || (DoNormalLib && !SeparateSharedCompile)
- #define _SharedObjCompile(options) $(_NULLCMD_)
- #else
- #if SeparateSharedCompile
- #define _SharedObjCompile(options) NormalSharedLibObjCompile(options)
- #else
- #define _SharedObjCompile(options) NormalLibObjCompile(options)
- #endif
- #endif
-
- #define SRCsuf c
-
- #ifndef LibraryObjectRule
- #define LibraryObjectRule() @@\
- all:: @@\
- _DebuggedLibMkdir() @@\
- _ProfiledLibMkdir() @@\
- _NormalLibMkdir() @@\
- @@\
- includes:: @@\
- _DebuggedLibMkdir() @@\
- _ProfiledLibMkdir() @@\
- _NormalLibMkdir() @@\
- @@\
- .SRCsuf.Osuf: @@\
- _DebuggedObjCompile($(_NOOP_)) @@\
- _ProfiledObjCompile($(_NOOP_)) @@\
- _NormalObjCompile($(_NOOP_)) @@\
- _SharedObjCompile(SharedServerLibraryDef) @@\
- @@\
- clean:: @@\
- _DebuggedCleanDir() @@\
- _ProfiledCleanDir() @@\
- _NormalCleanDir() @@\
-
- #endif /* LibraryObjectRule */
-
- #ifndef SpecialLibObjectRule
- #define SpecialLibObjectRule(objs,depends,options) @@\
- objs: depends @@\
- _DebuggedObjCompile(options) @@\
- _ProfiledObjCompile(options) @@\
- _NormalObjCompile(options) @@\
- _SharedObjCompile(options) @@\
-
- #endif /* SpecialLibObjectRule */
-
- #ifndef SpecialCLibObjectRule
- #define SpecialCLibObjectRule(basename,depends,options) @@\
- SpecialLibObjectRule(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 */
-
- #if DoSharedLib
- LibraryObjectRule()
- #else
- NormalLibraryObjectRule()
- #endif
-