XCOMM $Header: /home/x_cvs/mit/server/ddx/x386/LinkKit/Imakefile.LK,v 1.6 1992/09/16 14:56:44 dawes Exp $ /* * Server Makefile for Link Kit */ #include #define StdLibs $(DIX) $(OS) $(MI) $(EXTENSIONS) #define NoMFBLibs $(DIX) $(OS) $(FONT) $(MI) $(EXTENSIONS) #define MFBBareLibs $(DIX) $(OS) $(FONT) $(MFB) $(MI) #define MFBLibs MFBBareLibs $(EXTENSIONS) #define CFBBareLibs $(DIX) $(OS) $(FONT) $(CFB) $(MFB) $(MI) #define CFBLibs CFBBareLibs $(EXTENSIONS) #if BuildPexExt PEXTENSIONSRC = $(EXTENSIONSRC)/server/PEX PEXLIBS = $(PEXTENSIONSRC)/dipex/dispatch/libdidipex.a \ $(PEXTENSIONSRC)/dipex/swap/libdiswapex.a \ $(PEXTENSIONSRC)/dipex/objects/libdiobpex.a \ $(PEXTENSIONSRC)/dipex/dispatch/libdidipex.a \ $(PEXTENSIONSRC)/ddpex/mi/level4/libddpex4.a \ $(PEXTENSIONSRC)/ddpex/mi/level3/libddpex3.a \ $(PEXTENSIONSRC)/ddpex/mi/shared/libddpexs.a \ $(PEXTENSIONSRC)/ddpex/mi/level2/libddpex2.a \ $(PEXTENSIONSRC)/ddpex/mi/level1/libddpex1.a \ $(PEXTENSIONSRC)/ospex/libospex.a #endif #if BuildXInputExt OTHEREXTS = $(EXTENSIONSRC)/server/xinput/libxinput.a #endif EXTENSIONS = lib/libext.a XAULIB = lib/libXau.a XDMCPLIB = lib/libXdmcp.a OS = lib/libos.a $(XAULIB) $(XDMCPLIB) BSDEMUL = lib/Berklib.o FONT = lib/libfont.a $(RENDERERLIBS) DIX = lib/libdix.a MI = lib/libmi.a MFB = lib/libmfb.a #if i386Mach #ifdef i386Mach_BsdTree EXTRASYSLIBS = /usr/lib/libmach.a #else EXTRASYSLIBS = /usr/misc/.mach/lib/libmach.a #endif #endif #if HasSdbm DBMLIB = -lsdbm #else #if !i386Bsd DBMLIB = -ldbm #endif #endif #if NeedLibGcc GCCLIB = -lgcc #endif SYSLIBS = -lm $(DBMLIB) $(EXTRASYSLIBS) $(GCCLIB) CBRT = lib/cbrt.o IRULESRC = $(CONFIGDIR) IMAKE_DEFINES = -DX386LinkKit=1 IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(TOP) -I$(IRULESRC) \ $(IMAKE_DEFINES) ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \ $(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \ $(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES) EXTRA_ICONFIGFILES = site.def X386Conf.tmpl INCLUDES = -Iinclude -Idrivers XCOMM XCOMM This turns off the default rule for compiling .c files because XCOMM this makefile does not really know how to build it. This is really XCOMM just a hack because of the Sun version of make and nfs. XCOMM #if X386MonoServer #if X386Server ALL2 = X386mono #else ALL1 = X386mono #endif #endif #if X386Server ALL1 = X386 #endif ALL = $(ALL1) $(ALL2) all: $(ALL) clean:: $(RM) X386Conf.tmpl Configure: $(RM) Makefile.x386 $(IMAKE_CMD) -DMakefileX386 -DInit -s Makefile.x386 $(MAKE) $(MFLAGS) -f Makefile.x386 X386Conf.tmpl $(MAKE) $(MFLAGS) Makefile $(RM) Makefile.x386 #ifdef MakefileX386 #if X386MonoServer #define X386Vga2Args VGA2DRIVER X386Vga2Drivers #else #define X386Vga2Args #endif #if X386Server #define X386VgaArgs VGADRIVER X386Vga256Drivers #else #define X386VgaArgs #endif X386Conf.tmpl:: $(RM) $@ $(SHELL) x386config.sh X386VgaArgs X386Vga2Args RENDERER FontRenderers #endif #ifndef Init /***************************************************************************** * Build rule blocks, add one for each server * *****************************************************************************/ #if X386Server XCOMM XCOMM X386 server XCOMM #ifdef i386SVR3Architecture X386SYSLIBS = $(CBRT) $(BSDEMUL) #endif #ifdef LinuxArchitecture X386SYSLIBS = $(CBRT) #endif #if SpecialMalloc X386MALLOCLIB = /usr/local/lib/libdbmalloc.a #endif X386OBJS1 = lib/x386Init.o vga256Conf.o rendererConf.o X386OBJS2 = lib/dixfonts.o lib/mibitblt.o X386VGALIB = drivers/vga256/libvga256.a $(VGAOBJS) X386LIBS = lib/libx386.a $(X386VGALIB) MFBLibs \ $(X386SYSLIBS) $(X386MALLOCLIB) X386OBJS = $(X386OBJS1) $(X386OBJS2) INSTPGMFLAGS = $(INSTUIDFLAGS) /* server must be suid root */ VGADRIVERS = X386Vga256Drivers reloadX386: $(CONFIGSRC)/X386Conf.tmpl @$(MAKE) $(MFLAGS) Makefile @$(MAKE) $(MFLAGS) DoReload DoReload: $(X386CONFOBJS) $(VGAOBJS) $(RENDERERLIBS) loadX386 vga256Conf.c: $(ICONFIGFILES) confvga256.sh $(RM) $@ $(SHELL) confvga256.sh $(VGADRIVERS) clean:: $(RM) vga256Conf.c ServerTarget(X386,$(X386DIRS),$(X386OBJS),$(X386LIBS),$(SYSLIBS)) #endif /* X386Server */ #if X386MonoServer XCOMM XCOMM X386mono server XCOMM #ifdef i386SVR3Architecture X386SYSLIBS = $(CBRT) $(BSDEMUL) #endif #ifdef LinuxArchitecture X386SYSLIBS = $(CBRT) #endif #if SpecialMalloc X386MALLOCLIB = /usr/local/lib/libdbmalloc.a #endif X386MOBJS1 = lib/x386Init_m.o vga2Conf.o rendererConf.o X386MOBJS2 = lib/dixfonts_m.o lib/mibitblt_m.o X386MVGALIB = drivers/vga2/libvga2.a $(VGA2OBJS) X386MLIBS = lib/libx386.a $(X386MVGALIB) NoMFBLibs \ $(X386SYSLIBS) $(X386MALLOCLIB) X386MOBJS = $(X386MOBJS1) $(X386MOBJS2) VGA2DRIVERS = X386Vga2Drivers INSTPGMFLAGS = $(INSTUIDFLAGS) /* server must be suid root */ vga2Conf.c: $(ICONFIGFILES) configvga2.sh $(RM) $@ $(SHELL) configvga2.sh $(VGA2DRIVERS) clean:: $(RM) vga2Conf.c ServerTarget(X386mono,$(X386MDIRS),$(X386MOBJS),$(X386MLIBS),$(SYSLIBS)) #endif /* X386MonoServer */ /* Common rules */ #if X386Server || X386MonoServer $(CONFIGSRC)/X386Conf.tmpl: $(ICONFIGFILES) @echo Checking in $(CONFIGSRC)... @cd $(CONFIGSRC); set -x; $(MAKE) $(MFLAGS) Makefiles RENDERERS = FontRenderers rendererConf.c: $(ICONFIGFILES) configrend.sh $(RM) $@ $(SHELL) configrend.sh $(RENDERERS) clean:: $(RM) rendererConf.c #endif SUBDIRS = $(SUBDIRS0) $(SUBDIRS1) $(SUBDIRS2) $(SUBDIRS3) InstallMultipleFlags($(ALL),$(BINDIR),$(INSTPGMFLAGS)) install:: -(cd $(DESTDIR)$(BINDIR); $(RM) X; $(LN) $(ALL1) X) clean:: $(RM) $(ALL) #endif /* Init */