xref: /386bsd/usr/X386/lib/Server/Imakefile (revision a2142627)
1XCOMM $XFree86: mit/server/ddx/x386/LinkKit/Imakefile.LK,v 2.15 1993/10/02 07:13:55 dawes Exp $
2/*
3 * Server Makefile for Link Kit
4 */
5
6#include <Server.tmpl>
7
8#define StdLibs $(DIX) $(OS) $(MI) $(EXTENSIONS)
9#define NoMFBLibs $(DIX) $(OS) $(FONT) $(MI) $(EXTENSIONS)
10#define NoMFBBareLibs $(DIX) $(OS) $(FONT) $(MI)
11#define MFBBareLibs $(DIX) $(OS) $(FONT) $(MFB) $(MI)
12#define MFBLibs MFBBareLibs $(EXTENSIONS)
13#define CFBBareLibs $(DIX) $(OS) $(FONT) $(CFB) $(MFB) $(MI)
14#define CFBLibs CFBBareLibs $(EXTENSIONS)
15
16#if BuildPexExt
17         PEXLIBS = lib/libdidipex.a \
18                   lib/libdiswapex.a \
19                   lib/libdiobpex.a \
20                   lib/libdidipex.a \
21                   lib/libddpex4.a \
22                   lib/libddpex3.a \
23                   lib/libddpexs.a \
24                   lib/libddpex2.a \
25                   lib/libddpex1.a \
26		   lib/libospex.a
27#endif
28#if BuildXInputExt
29      OTHEREXTS = lib/libxinput.a
30#endif
31
32     NONPEXEXTS = $(OTHEREXTS) lib/libext.a
33     EXTENSIONS = $(NONPEXEXTS) $(PEXLIBS)
34         XAULIB = lib/libXau.a
35       XDMCPLIB = lib/libXdmcp.a
36             OS = lib/libos.a $(XAULIB) $(XDMCPLIB)
37        BSDEMUL = lib/Berklib.o
38           FONT = lib/libfont.a $(RENDERERLIBS)
39            DIX = lib/libdix.a
40             MI = lib/libmi.a
41            MFB = lib/libmfb.a
42            CFB = lib/libcfb.a
43#if i386Mach
44#ifdef i386Mach_BsdTree
45   EXTRASYSLIBS = /usr/lib/libmach.a
46#else
47   EXTRASYSLIBS = /usr/misc/.mach/lib/libmach.a
48#endif
49#endif
50#if HasSdbm
51         DBMLIB = -lsdbm
52#else
53#if !i386Bsd
54         DBMLIB = -ldbm
55#endif
56#endif
57#if NeedLibGcc
58         GCCLIB = -lgcc
59#endif
60        SYSLIBS = -lm $(DBMLIB) $(MALLOCLIBS) $(EXTRASYSLIBS) $(GCCLIB)
61           CBRT = lib/cbrt.o
62
63       IRULESRC = $(CONFIGDIR)
64
65  IMAKE_DEFINES = -DX386LinkKit=1
66      IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(TOP)/$(NEWTOP) -I$(IRULESRC) \
67                  $(IMAKE_DEFINES)
68   ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
69		  $(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
70			$(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
71EXTRA_ICONFIGFILES = site.def X386Conf.tmpl
72       INCLUDES = -Iinclude -Idrivers
73
74all: xf86all
75
76Configure:
77	$(RM) Makefile.x386
78	$(IMAKE_CMD) -DMakefileX386 -DInit -s Makefile.x386
79	$(MAKE) $(MFLAGS) -f Makefile.x386 X386Conf.tmpl
80	$(MAKE) $(MFLAGS) Makefile
81	$(RM) Makefile.x386
82
83#ifdef MakefileX386
84#if XF86MonoServer
85# define X386Vga2Args VGA2DRIVER X386Vga2Drivers
86# define X386Hga2Args HGA2DRIVER X386Hga2Drivers
87# define X386Bdm2Args BDM2DRIVER X386Bdm2Drivers
88#else
89# define X386Vga2Args /**/
90# define X386Hga2Args /**/
91# define X386Bdm2Args /**/
92#endif
93#if XF86VGA16Server
94# define X386Vga16Args VGA16DRIVER X386Vga16Drivers
95#else
96# define X386Vga16Args /**/
97#endif
98#if XF86SVGAServer
99# define X386VgaArgs VGADRIVER X386Vga256Drivers
100#else
101# define X386VgaArgs /**/
102#endif
103#if XF86S3Server
104# define XF86S3Args S3DRIVER XF86S3Drivers
105#else
106# define XF86S3Args /**/
107#endif
108X386Conf.tmpl::
109	$(RM) $@
110	$(SHELL) x386config.sh \
111	  X386VgaArgs X386Vga16Args X386Vga2Args X386Hga2Args X386Bdm2Args \
112	  XF86S3Args RENDERER FontRenderers
113#endif
114
115#ifndef Init
116
117/* Common stuff */
118
119#include <xf86.rules>
120
121#ifdef XFree86DefaultServer
122XF86DEFSERVER = XFree86DefaultServer
123#endif
124
125#ifdef i386SVR3Architecture
126    XF86SYSLIBS = $(CBRT) $(BSDEMUL)
127#endif
128#ifdef LinuxArchitecture
129    XF86SYSLIBS = $(CBRT)
130#endif
131
132#if SpecialMalloc
133     MALLOCLIBS = -ldbmalloc
134#endif
135
136INSTPGMFLAGS = $(INSTUIDFLAGS)     /* server must be suid root  */
137
138XF86COMMONLIB = lib/libx386.a
139    XF86OSLIB = lib/libxf86_os.a
140    XF86HWLIB = lib/libxf86_hw.a
141XF86COMMONOBJ = $(RENDERERCONFOBJ) xf86_Option.o
142
143    RENDERERS = FontRenderers
144
145rendererConf.c: $(ICONFIGFILES) configrend.sh
146	$(RM) $@
147	$(SHELL) configrend.sh $(RENDERERS)
148
149clean::
150	$(RM) rendererConf.c
151
152/*****************************************************************************
153 *		  Build rule blocks, add one for each server                 *
154 *****************************************************************************/
155
156#if XF86SVGAServer
157XCOMM
158XCOMM XFree86 SVGA server
159XCOMM
160
161       SUBDIRS1 = drivers/vga256
162
163   XF86SVGADIRS = $(SUBDIRS1)
164SVGASPECIALOBJS = lib/x386Init.o lib/dixfonts.o lib/mibitblt.o
165   XF86SVGALIBS = drivers/libvga256.a MFBLibs
166     VGADRIVERS = X386Vga256Drivers
167
168vga256Conf.c: $(ICONFIGFILES) confvga256.sh
169	$(RM) $@
170	$(SHELL) confvga256.sh $(VGADRIVERS)
171
172clean::
173	$(RM) vga256Conf.c
174
175XFree86Server(XF86_SVGA,$(XF86SVGADIRS),$(XF86SVGALIBS),$(SVGASPECIALOBJS),$(VGAOBJS),$(XF86SVGADIRS),$(X386CONFOBJS),/**/)
176
177#endif /* XF86SVGAServer */
178
179
180#if XF86VGA16Server
181XCOMM
182XCOMM XFree86 16 Colour (largely generic) VGA server
183XCOMM
184
185          SUBDIRS5 = drivers/vga16
186
187     XF86VGA16DIRS = $(SUBDIRS5)
188  VGA16SPECIALOBJS = lib/x386Init_m.o lib/dixfonts_m.o lib/mibitblt16.o \
189		     lib/mipushpx16.o
190XF86_VGA16CONFDEFS = $(X386SCREENFLAGS)
191
192     XF86VGA16LIBS = drivers/libvga16.a NoMFBBareLibs $(NONPEXEXTS)
193      VGA16DRIVERS = X386Vga16Drivers
194
195vga16Conf.c: $(ICONFIGFILES) confvga16.sh
196	$(RM) $@
197	$(SHELL) confvga16.sh $(VGA16DRIVERS)
198
199clean::
200	$(RM) vga16Conf.c
201
202XFree86Server(XF86_VGA16,$(XF86VGA16DIRS),$(XF86VGA16LIBS),$(VGA16SPECIALOBJS),$(VGA16OBJS),$(XF86VGA16DIRS),$(VGA16CONFOBJS),/**/)
203
204#endif /* XF86VGA16Server */
205
206
207#if XF86MonoServer
208XCOMM
209XCOMM XFree86 Mono server
210XCOMM
211
212#if BuildVga2
213       SUBDIRS2 = drivers/vga2
214#endif
215#if BuildHga2
216       SUBDIRS3 = drivers/hga2
217#endif
218#if BuildBdm2
219       SUBDIRS4 = drivers/bdm2
220#endif
221   XF86MONODIRS = $(SUBDIRS2) $(SUBDIRS3) $(SUBDIRS4)
222MONOSPECIALOBJS = lib/x386Init_m.o lib/dixfonts_m.o lib/mibitblt_m.o
223XF86_MonoCONFDEFS = $(X386SCREENFLAGS)
224
225#if BuildVga2
226        VGA2LIB = drivers/libvga2.a
227#endif
228#if BuildHga2
229        HGA2LIB = drivers/libhga2.a
230#endif
231#if BuildBdm2
232        BDM2LIB = drivers/libbdm2.a
233#endif
234
235   XF86MONOLIBS = $(VGA2LIB) $(HGA2LIB) $(BDM2LIB) NoMFBBareLibs $(NONPEXEXTS)
236    VGA2DRIVERS = X386Vga2Drivers
237    HGA2DRIVERS = X386Hga2Drivers
238    BDM2DRIVERS = X386Bdm2Drivers
239
240vga2Conf.c: $(ICONFIGFILES) configvga2.sh
241	$(RM) $@
242	$(SHELL) configvga2.sh $(VGA2DRIVERS)
243
244clean::
245	$(RM) vga2Conf.c
246
247hga2Conf.c: $(ICONFIGFILES) confhga2.sh
248	$(RM) $@
249	$(SHELL) confhga2.sh $(HGA2DRIVERS)
250
251clean::
252	$(RM) hga2Conf.c
253
254bdm2Conf.c: $(ICONFIGFILES) confbdm2.sh
255	$(RM) $@
256	$(SHELL) confbdm2.sh $(BDM2DRIVERS)
257
258clean::
259	$(RM) bdm2Conf.c
260
261XFree86Server(XF86_Mono,$(XF86MONODIRS),$(XF86MONOLIBS),$(MONOSPECIALOBJS),$(VGA2OBJS) $(HGA2OBJS) $(BDM2OBJS),$(XF86MONODIRS),$(X386MCONFOBJS),/**/)
262
263#endif /* XF86MonoServer */
264
265#if XF86S3Server
266XCOMM
267XCOMM XFree86 S3 server
268
269       SUBDIRS6 = drivers/s3
270
271     XF86S3DIRS = $(SUBDIRS6)
272  S3SPECIALOBJS = lib/x386Init.o lib/dixfonts.o lib/mibitblt.o
273     XF86S3LIBS = drivers/libs3mmio.a drivers/libs3.a CFBLibs
274      S3DRIVERS = XF86S3Drivers
275
276s3Conf.c: $(ICONFIGFILES) confS3.sh
277	$(RM) $@
278	$(SHELL) confS3.sh $(S3DRIVERS)
279
280clean::
281	$(RM) s3Conf.c
282
283XFree86Server(XF86_S3,$(XF86S3DIRS),$(XF86S3LIBS),$(S3SPECIALOBJS),$(S3OBJS),$(S3DRIVERSRC),$(S3CONFOBJ),/**/)
284
285#endif /* XF86S3Server */
286
287#if XF86I8514Server
288XCOMM
289XCOMM XFree86 8514 server
290X8514SPECIALOBJS = lib/x386Init.o lib/dixfonts.o lib/mibitblt.o
291   XF86I8514LIBS = drivers/lib8514.a CFBLibs
292
293XFree86ServerNoDrv(XF86_8514,/**/,$(XF86I8514LIBS),$(X8514SPECIALOBJS))
294
295#endif /* XF86I8514Server */
296
297#if XF86Mach8Server
298XCOMM
299XCOMM XFree86 Mach8 server
300MACH8SPECIALOBJS = lib/x386Init.o lib/dixfonts.o lib/mibitblt.o
301   XF86MACH8LIBS = drivers/libmach8.a CFBLibs
302
303XFree86ServerNoDrv(XF86_Mach8,/**/,$(XF86MACH8LIBS),$(MACH8SPECIALOBJS))
304
305#endif /* XF86Mach8Server */
306
307#if XF86Mach32Server
308XCOMM
309XCOMM XFree86 Mach32 server
310MACH32SPECIALOBJS = lib/x386Init.o lib/dixfonts.o lib/mibitblt.o
311   XF86MACH32LIBS = drivers/libmach32.a CFBLibs
312
313XFree86ServerNoDrv(XF86_Mach32,/**/,$(XF86MACH32LIBS),$(MACH32SPECIALOBJS))
314
315#endif /* XF86Mach32Server */
316
317
318InstallMultipleFlags($(ALL),$(BINDIR),$(INSTPGMFLAGS))
319
320#ifdef XFree86DefaultServer
321install::
322	-(cd $(DESTDIR)$(BINDIR); $(RM) X; $(LN) $(XF86DEFSERVER) X)
323#endif
324
325/* Only these servers have subdirs */
326#if XF86SVGAServer || XF86MonoServer
327
328SUBDIRS = $(SUBDIRS0) $(SUBDIRS1) $(SUBDIRS2) $(SUBDIRS3) $(SUBDIRS4) $(SUBDIRS5) $(SUBDIRS6)
329
330#define IHaveSubdirs
331
332DependSubdirs($(SUBDIRS))
333MakeLintLibSubdirs($(SUBDIRS))
334LintSubdirs($(SUBDIRS))
335
336ForceSubdirs($(SUBDIRS))
337
338#else
339
340DependTarget()
341
342#endif /* XF86SVGAServer || XF86MonoServer */
343
344#endif /* Init */
345