1 XCOMM $XFree86: xc/config/cf/ServerLib.tmpl,v 3.0 1996/10/03 08:28:07 dawes Exp $
3 * Server Library imakefile info - this contains any special
4 * redefinitions, etc. that Imakefiles in the various server library
7 * Before including this, you must set the following boolean variables:
8 * DoSharedLib, DoNormalLib, DoDebugLib, DoProfileLib
13 #define DoNormalLib YES
16 #ifndef LibraryDefines
17 #define LibraryDefines StandardDefines
19 #ifndef LibraryCDebugFlags
20 #define LibraryCDebugFlags DefaultCDebugFlags
22 #ifndef SeparateSharedCompile
23 #define SeparateSharedCompile YES
25 #ifndef SharedServerLibraryDef
26 #define SharedServerLibraryDef $(__NOOP__)
30 #if DoSharedLib && defined(SharedLibraryCcCmd)
31 #define LibraryCcCmd SharedLibraryCcCmd
33 #define LibraryCcCmd CcCmd
36 #ifndef LibraryCCOptions
37 #if DoSharedLib && defined(SharedLibraryCCOptions)
38 #define LibraryCCOptions SharedLibraryCCOptions
40 #define LibraryCCOptions DefaultCCOptions
45 #define _DebuggedLibMkdir() LibMkdir(debugger)
46 #define _DebuggedObjCompile(options) DebuggedLibObjCompile(options)
47 #define _DebuggedCleanDir() LibCleanDir(debugger)
49 #define _DebuggedLibMkdir() $(_NULLCMD_)
50 #define _DebuggedObjCompile(options) $(_NULLCMD_)
51 #define _DebuggedCleanDir() $(_NULLCMD_)
55 #define _ProfiledLibMkdir() LibMkdir(profiled)
56 #define _ProfiledObjCompile(options) ProfiledLibObjCompile(options)
57 #define _ProfiledCleanDir() LibCleanDir(profiled)
59 #define _ProfiledLibMkdir() $(_NULLCMD_)
60 #define _ProfiledObjCompile(options) $(_NULLCMD_)
61 #define _ProfiledCleanDir() $(_NULLCMD_)
65 #define _NormalLibMkdir() $(_NULLCMD_)
66 #define _NormalObjCompile(options) $(_NULLCMD_)
67 #define _NormalCleanDir() $(_NULLCMD_)
69 #if DoSharedLib && SeparateSharedCompile
70 #define _NormalLibMkdir() LibMkdir(unshared)
71 #define _NormalObjCompile(options) UnsharedLibObjCompile(options)
72 #define _NormalCleanDir() LibCleanDir(unshared)
74 #define _NormalLibMkdir() $(_NULLCMD_)
75 #define _NormalObjCompile(options) NormalLibObjCompile(options)
76 #define _NormalCleanDir() $(_NULLCMD_)
80 #if !DoSharedLib || (DoNormalLib && !SeparateSharedCompile)
81 #define _SharedObjCompile(options) $(_NULLCMD_)
83 #if SeparateSharedCompile
84 #define _SharedObjCompile(options) NormalSharedLibObjCompile(options)
86 #define _SharedObjCompile(options) NormalLibObjCompile(options)
92 #ifndef LibraryObjectRule
93 #define LibraryObjectRule() @@\
95 _DebuggedLibMkdir() @@\
96 _ProfiledLibMkdir() @@\
100 _DebuggedLibMkdir() @@\
101 _ProfiledLibMkdir() @@\
102 _NormalLibMkdir() @@\
105 _DebuggedObjCompile($(_NOOP_)) @@\
106 _ProfiledObjCompile($(_NOOP_)) @@\
107 _NormalObjCompile($(_NOOP_)) @@\
108 _SharedObjCompile(SharedServerLibraryDef) @@\
111 _DebuggedCleanDir() @@\
112 _ProfiledCleanDir() @@\
113 _NormalCleanDir() @@\
115 #endif /* LibraryObjectRule */
117 #ifndef SpecialLibObjectRule
118 #define SpecialLibObjectRule(objs,depends,options) @@\
120 _DebuggedObjCompile(options) @@\
121 _ProfiledObjCompile(options) @@\
122 _NormalObjCompile(options) @@\
123 _SharedObjCompile(options) @@\
125 #endif /* SpecialLibObjectRule */
127 #ifndef SpecialCLibObjectRule
128 #define SpecialCLibObjectRule(basename,depends,options) @@\
129 SpecialLibObjectRule(basename.Osuf,basename.SRCsuf depends,options) @@\
131 basename.i: basename.SRCsuf depends @@\
132 CPPOnlyCompile(basename.SRCsuf,options) @@\
134 CenterLoadTarget(debug_src,basename.SRCsuf,NullParameter,$(ALLDEFINES) options)
135 #endif /* SpecialCLibObjectRule */
140 NormalLibraryObjectRule()