1XCOMM $XFree86: xc/config/cf/ServerLib.tmpl,v 3.0tsi Exp $ 2/* 3 * Server Library imakefile info - this contains any special 4 * redefinitions, etc. that Imakefiles in the various server library 5 * subtrees will need. 6 * 7 * Before including this, you must set the following boolean variables: 8 * DoSharedLib, DoNormalLib, DoDebugLib, DoProfileLib 9 * 10 */ 11 12#ifndef DoNormalLib 13#define DoNormalLib YES 14#endif 15 16#ifndef LibraryDefines 17#define LibraryDefines StandardDefines 18#endif 19#ifndef LibraryCDebugFlags 20#define LibraryCDebugFlags DefaultCDebugFlags 21#endif 22#ifndef SeparateSharedCompile 23#define SeparateSharedCompile YES 24#endif 25#ifndef SharedServerLibraryDef 26#define SharedServerLibraryDef $(__NOOP__) 27#endif 28 29#ifndef LibraryCcCmd 30#if DoSharedLib && defined(SharedLibraryCcCmd) 31#define LibraryCcCmd SharedLibraryCcCmd 32#else 33#define LibraryCcCmd CcCmd 34#endif 35#endif 36#ifndef LibraryCCOptions 37#if DoSharedLib && defined(SharedLibraryCCOptions) 38#define LibraryCCOptions SharedLibraryCCOptions 39#else 40#define LibraryCCOptions DefaultCCOptions 41#endif 42#endif 43 44#if DoDebugLib 45#define _DebuggedLibMkdir() LibMkdir(debugger) 46#define _DebuggedObjCompile(options) DebuggedLibObjCompile(options) 47#define _DebuggedCleanDir() LibCleanDir(debugger) 48#else 49#define _DebuggedLibMkdir() $(_NULLCMD_) 50#define _DebuggedObjCompile(options) $(_NULLCMD_) 51#define _DebuggedCleanDir() $(_NULLCMD_) 52#endif 53 54#if DoProfileLib 55#define _ProfiledLibMkdir() LibMkdir(profiled) 56#define _ProfiledObjCompile(options) ProfiledLibObjCompile(options) 57#define _ProfiledCleanDir() LibCleanDir(profiled) 58#else 59#define _ProfiledLibMkdir() $(_NULLCMD_) 60#define _ProfiledObjCompile(options) $(_NULLCMD_) 61#define _ProfiledCleanDir() $(_NULLCMD_) 62#endif 63 64#if !DoNormalLib 65#define _NormalLibMkdir() $(_NULLCMD_) 66#define _NormalObjCompile(options) $(_NULLCMD_) 67#define _NormalCleanDir() $(_NULLCMD_) 68#else 69#if DoSharedLib && SeparateSharedCompile 70#define _NormalLibMkdir() LibMkdir(unshared) 71#define _NormalObjCompile(options) UnsharedLibObjCompile(options) 72#define _NormalCleanDir() LibCleanDir(unshared) 73#else 74#define _NormalLibMkdir() $(_NULLCMD_) 75#define _NormalObjCompile(options) NormalLibObjCompile(options) 76#define _NormalCleanDir() $(_NULLCMD_) 77#endif 78#endif 79 80#if !DoSharedLib || (DoNormalLib && !SeparateSharedCompile) 81#define _SharedObjCompile(options) $(_NULLCMD_) 82#else 83#if SeparateSharedCompile 84#define _SharedObjCompile(options) NormalSharedLibObjCompile(options) 85#else 86#define _SharedObjCompile(options) NormalLibObjCompile(options) 87#endif 88#endif 89 90#define SRCsuf c 91#define Isuf i 92 93#ifndef LibraryObjectRule 94#define LibraryObjectRule() @@\ 95all:: @@\ 96 _DebuggedLibMkdir() @@\ 97 _ProfiledLibMkdir() @@\ 98 _NormalLibMkdir() @@\ 99 @@\ 100includes:: @@\ 101 _DebuggedLibMkdir() @@\ 102 _ProfiledLibMkdir() @@\ 103 _NormalLibMkdir() @@\ 104 @@\ 105.SRCsuf.Osuf: @@\ 106 _DebuggedObjCompile($(_NOOP_)) @@\ 107 _ProfiledObjCompile($(_NOOP_)) @@\ 108 _NormalObjCompile($(_NOOP_)) @@\ 109 _SharedObjCompile(SharedServerLibraryDef) @@\ 110 @@\ 111clean:: @@\ 112 _DebuggedCleanDir() @@\ 113 _ProfiledCleanDir() @@\ 114 _NormalCleanDir() @@\ 115 116#endif /* LibraryObjectRule */ 117 118#ifndef SpecialLibObjectRule 119#define SpecialLibObjectRule(objs,depends,options) @@\ 120objs: depends @@\ 121 _DebuggedObjCompile(options) @@\ 122 _ProfiledObjCompile(options) @@\ 123 _NormalObjCompile(options) @@\ 124 _SharedObjCompile(options) @@\ 125 126#endif /* SpecialLibObjectRule */ 127 128#ifndef SpecialCLibObjectRule 129#define SpecialCLibObjectRule(basename,depends,options) @@\ 130SpecialLibObjectRule(basename.Osuf,basename.SRCsuf depends,options) @@\ 131 @@\ 132basename.Isuf: basename.SRCsuf depends @@\ 133 CPPOnlyCompile(basename.SRCsuf,options) @@\ 134 @@\ 135CenterLoadTarget(debug_src,basename.SRCsuf,NullParameter,$(ALLDEFINES) options) 136#endif /* SpecialCLibObjectRule */ 137 138#if DoSharedLib 139LibraryObjectRule() 140#else 141NormalLibraryObjectRule() 142#endif 143