xorg.tmpl revision 11d341ca
1XCOMM $Xorg: xf86.tmpl,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
2XCOMM $XdotOrg: util/cf/xorg.tmpl,v 1.5 2005/11/08 06:33:24 jkj Exp $
3
4#ifndef ConfigDefines
5# define ConfigDefines -D__XCONFIGFILE__='"$(XCONFIGFILE)"' \
6	-D__XCONFIGDIR__='"$(XCONFIGDIR)"' -D__XLOGFILE__='"$(XLOGFILE)"' \
7	-D__XSERVERNAME__='"$(XSERVERNAME)"'
8#endif
9
10CONFIG_DEFINES = ConfigDefines
11
12#ifndef ServerDefines
13#define ServerDefines StandardDefines VersionDefines
14#endif
15
16#ifdef BuilderEMailAddr
17BUILDERADDR = BuilderEMailAddr
18#else 
19BUILDERADDR = "xorg@lists.freedesktop.org"
20#endif
21#ifdef VendorSupportAddress
22 VENDORSUPPORT = VendorSupportAddress
23 BUGMSG = -DBUILDERADDR='$(BUILDERADDR)' -DVENDORSUPPORT='$(VENDORSUPPORT)'
24#else
25 BUGMSG = -DBUILDERADDR='$(BUILDERADDR)'
26#endif
27
28#if defined(XF86DriverSDK)
29    BUILDMODULEDIR = $(DRIVERSDKMODULEDIR)
30    BUILDMODULETOP = ..
31    TOP_INCLUDES = TopIncludes
32   IMAKE_DEFINES = -DXF86DriverSDK=1
33#ifdef UseInstalled
34       IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(TOP) -I$(IRULESRC) \
35		   $(IMAKE_DEFINES) $(IMAKE_WARNINGS)
36#else
37       IMAKE_CMD = $(IMAKE) -I$(TOP) -I$(IRULESRC) \
38		   $(IMAKE_DEFINES) $(IMAKE_WARNINGS)
39#endif
40
41#undef ImakeSubCmdHelper
42#ifdef UseInstalled
43#define ImakeSubCmdHelper $(IMAKE) -DUseInstalled -I$(IMAKETOP) \
44			  -I$(IRULESRC) $(IMAKE_DEFINES) $(IMAKE_WARNINGS)
45#else
46#define ImakeSubCmdHelper $(IMAKEPREFIX)$(IMAKE) -I$(IMAKETOP) \
47			  $(IMAKE_DEFINES) $(IMAKE_WARNINGS) \
48			  -I$(IMAKEPREFIX)$(IRULESRC)
49#endif
50#endif
51
52#ifndef JoystickSupport
53#define JoystickSupport		NO
54#endif
55
56/*
57 * Module support: These overrides must be here, not in xf86.rules,
58 * because they will replace rules after having seen the first lines
59 * of Imakefile (include <Server.tmpl>)
60 */
61
62#ifndef ProPoliceSupport
63#define ProPoliceSupport	O
64#endif
65
66#ifndef HasGccMergeConstants
67#define HasGccMergeConstants	NO
68#endif
69
70#if HasGccMergeConstants && DoLoadableServer && !MakeDllModules
71MODULE_GCC_FLAGS = -fno-merge-constants
72#endif
73
74#if defined(IHaveModules) && MakeDllModules
75MODULE_PIC_FLAGS = $(PICFLAGS)
76#endif
77
78MODULE_CFLAGS = $(MODULE_PIC_FLAGS) $(MODULE_GCC_FLAGS)
79
80#if defined(IHaveModules)
81# if DoLoadableServer
82MODULE_DEFINES = -DIN_MODULE -DXFree86Module
83# else
84MODULE_DEFINES = -DXFree86Module
85# endif
86#endif
87
88#if defined(IHaveModules) && DoLoadableServer
89
90/* This overrides the ObjCompile in Imake.rules! */
91#undef ObjectCompile
92#define ObjectCompile(options) RemoveFile($@)                           @@\
93	ClearmakeOSName\
94	$(MODCC) $(MODCFLAGS) options -c $*.c
95
96/* This overrides an AssembleObject in xf86.rules or in an os-dependent
97 * rules file (currently only minix.cf and os2.rules (uncritical))
98 */
99#define ModCPPOnlyAsm(basename,options) RemoveFile(basename.i)		@@\
100	$(MODCPP) AsmDefines $(DEFINES) $(INCLUDES) options basename.S | \	@@\
101		grep -v '^\#' > basename.i
102
103#undef AssembleObject
104#define AssembleObject(basename,flags) ModCPPOnlyAsm(basename,flags)	@@\
105	RemoveFile(basename.o)						@@\
106	$(MODAS) $(MODASFLAGS) -o basename.o basename.i			@@\
107	RemoveFile(basename.i)
108
109/* This overrides the NormalRelocatableTarget in Imake.rules */
110#undef NormalRelocatableTarget
111#define	NormalRelocatableTarget(objname,objlist)			@@\
112AllTarget(objname.Osuf)							@@\
113									@@\
114objname.Osuf: objlist $(EXTRALIBRARYDEPS)				@@\
115	RemoveFile($@)							@@\
116	$(MODLD) $(MODLDCOMBINEFLAGS) objlist -o $@
117
118/* This overrides the NormalDepRelocatableTarget in Imake.rules */
119#undef NormalDepRelocatableTarget
120#define	NormalDepRelocatableTarget(objname,deplist,objlist)		@@\
121AllTarget(objname.Osuf)							@@\
122									@@\
123objname.Osuf: deplist $(EXTRALIBRARYDEPS)				@@\
124	RemoveFile($@)							@@\
125	$(MODLD) $(MODLDCOMBINEFLAGS) objlist -o $@
126
127/* This overrides the RanLibrary in Imake.rules */
128#if DoRanlibCmd || NeedModuleRanlib
129#undef RanLibrary
130#define RanLibrary(args) $(MODRANLIB) args
131#endif
132
133/* This overrides the MakeLibrary rule in Imake.rules */
134#undef MakeLibrary
135#define MakeLibrary(libname,objlist) $(MODAR) libname objlist
136
137/* This overrides the LibraryTargetName rule in Imake.rules */
138#undef LibraryTargetName
139#define LibraryTargetName(libname)Concat(lib,libname.a)
140
141/* This disables an OS/2 rule */
142#undef BuildLibSupportLibs
143#define BuildLibSupportLibs(dummy)
144
145#endif /* IHaveModules */
146