XCOMM $XdotOrg: xc/programs/Xserver/Imakefile,v 1.37 2005/11/18 18:15:23 ajax Exp $ XCOMM $Xorg: Imakefile,v 1.4 2001/03/14 18:42:02 pookie Exp $ /**************************************************************************/ /* */ /* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* */ /* NX-X11, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ /* software is allowed according to terms specified in the file LICENSE */ /* which comes in the source distribution. */ /* */ /* Check http://www.nomachine.com/licensing.html for applicability. */ /* */ /* NX and NoMachine are trademarks of Medialogic S.p.A. */ /* */ /* All rights reserved. */ /* */ /**************************************************************************/ /* * Server Master Makefile */ XCOMM $XFree86: xc/programs/Xserver/Imakefile,v 3.296 2003/11/23 06:47:00 torrey Exp $ #include /* On most systems the linker requires the libraries in dependency order. But we have no real order because there are cycles. We fix this by adding some libraries twice on the commandline. dependLib will add the dependency library to the commandline if the link order is important */ #if 1 /* This is currently enabled for all systems */ #define dependLib(x) x #else #define dependLib(x) #endif #if defined(XorgVersion) /* Do not strip server binaries */ INSTPGMFLAGS = #endif #define PreFbLibs $(DIX) $(OS) $(XPDDX) #define PreFbLibsNoFont $(DIX) $(OS) #define BarePostFbLibs $(MFB) $(XPFBLIBS) $(MI) #define PostFbLibs BarePostFbLibs $(EXTENSIONS) #define NoMfbBarePostFbLibs $(XPFBLIBS) $(MI) #if !BuildXinerama #define NoMfbPostFbLibs NoMfbBarePostFbLibs $(EXTENSIONS) #else #define NoMfbPostFbLibs $(EXTENSIONS) NoMfbBarePostFbLibs $(EXTENSIONS) #endif #define MFBBareLibs PreFbLibs BarePostFbLibs #define NoMFBBareLibs PreFbLibs NoMfbBarePostFbLibs #define MFBLibs PreFbLibs PostFbLibs #define NoMFBLibs PreFbLibs NoMfbPostFbLibs #define CFBLibs PreFbLibs $(CFB) PostFbLibs #define CFB4Libs PreFbLibs $(CFB4) PostFbLibs #define CFB8Libs PreFbLibs $(CFB8) PostFbLibs #define CFB16Libs PreFbLibs $(CFB16) PostFbLibs #define CFB24Libs PreFbLibs $(CFB24) PostFbLibs #define CFB32Libs PreFbLibs $(CFB32) PostFbLibs #define NoMFBCFBLibs PreFbLibs $(CFB) NoMfbPostFbLibs #define NoMFBCFB8Libs PreFbLibs $(CFB8) NoMfbPostFbLibs #define FbPostFbLibs $(FB) NoMfbPostFbLibs #define FBLibs PreFbLibs FbPostFbLibs #define MiExtLibs $(SHADOW) #define AllFBLibs PreFbLibs $(FB) $(CFB) PostFbLibs #if BuildGlxExt # if DoLoadableServer GLXLIB = GL/glx/ModuleLibraryTargetName(glx) \ GL/mesa/GLcore/ModuleLibraryTargetName(GLcore) # else GLXLIB = GL/glx/ModuleLibraryTargetName(glx) \ GL/mesa/GLcore/ModuleLibraryTargetName(GLcore) # endif GLXDIR = GL GLXEXT = $(GLXLIB) #endif #if BuildXInputExt XINPUTEXT = Xi/LibraryTargetName(xinput) XIDIR = Xi #endif #if BuildXKB XKBEXT = xkb/LibraryTargetName(xkb) dependLib($(OS)) XKBDIR = xkb #if defined(XorgVersion) XF86XKBOBJS = xkb/xf86KillSrv.o xkb/xf86VT.o xkb/xf86Private.o #endif #endif #if BuildDBE DBEEXT = dbe/LibraryTargetName(dbe) #endif #if BuildDBE DBEDIR = dbe #endif #if BuildRECORD RECORDEXT = record/LibraryTargetName(record) #endif #if BuildRECORD || BuildRECORDlib RECORDDIR = record #endif #if BuildXTrap XTRAPEXT = XTrap/LibraryTargetName(xtrap) XTRAPDIR = XTrap #endif #ifdef SiteExtensionLibs SITEEXTS = SiteExtensionLibs #endif #ifdef SiteExtensionDirs SITEEXTDIRS = SiteExtensionDirs #endif #if DoLoadableServer && HasDlopen LIBDL = DlLibrary #endif LIBREGEX = RegexLibrary #if DoLoadableServer LIBCWRAPPER = os/libcwrapper.o #endif #if BuildRender RENDERDIR = render RENDERLIB = $(RENDERDIR)/librender.a #endif #if BuildRandR RANDRDIR = randr RANDRLIB = $(RANDRDIR)/librandr.a #endif #if BuildXfixes FIXESDIR = xfixes FIXESLIB = $(FIXESDIR)/libxfixes.a #endif #if BuildDamage DAMAGEDIR = damageext DAMAGELIB = $(DAMAGEDIR)/libdamage.a #endif #if BuildComposite CWDIR = miext/cw COMPOSITEDIR = composite COMPOSITELIB = $(COMPOSITEDIR)/libcomposite.a #if DoLoadableServer CW = miext/cw/ModuleLibraryTargetName(cw) #else CW = miext/cw/LibraryTargetName(cw) #endif #endif #if DoLoadableServer EXTENSIONS = $(COMPOSITELIB) $(DAMAGELIB) $(DAMAGE) $(FIXESLIB) $(CW) \ $(OTHEREXTS) $(RANDRLIB) $(RENDERLIB) LOADABLEEXTS = $(MISCEXT) $(DBEEXT) $(RECORDEXT) $(GLXEXT) $(XTRAPEXT) MISCEXT = Xext/LibraryTargetName(ext) OTHEREXTS = Xext/LibraryTargetName(exts) $(XKBEXT) $(XINPUTEXT) \ $(SITEEXTS) #else EXTENSIONS = $(COMPOSITELIB) $(DAMAGELIB) $(DAMAGE) $(FIXESLIB) $(CW) \ $(OTHEREXTS) $(GLXEXT) $(RANDRLIB) $(RENDERLIB) OTHEREXTS = Xext/LibraryTargetName(ext) $(XKBEXT) $(XINPUTEXT) \ $(DBEEXT) $(RECORDEXT) $(SITEEXTS) $(XTRAPEXT) #endif EXTDIRS = Xext $(XKBDIR) $(XIDIR) $(GLXDIR) \ $(DBEDIR) $(RECORDDIR) $(SITEEXTDIRS) \ $(RANDRDIR) $(RENDERDIR) $(XTRAPDIR) $(XPCONFIGDIR) \ $(FIXESDIR) $(DAMAGEDIR) $(CWDIR) $(COMPOSITEDIR) OS = os/LibraryTargetName(os) $(DEPXAUTHLIB) BSDEMUL = $(DEPXBSDLIB) #if DoLoadableServer MFB = mfb/ModuleLibraryTargetName(mfb) FB = fb/ModuleLibraryTargetName(fb) #if XF8_32Wid CFB = cfb/ModuleLibraryTargetName(cfb) \ cfb16/ModuleLibraryTargetName(cfb16) \ cfb24/ModuleLibraryTargetName(cfb24) \ cfb32/ModuleLibraryTargetName(cfb32) #else CFB = cfb/ModuleLibraryTargetName(cfb) \ cfb16/ModuleLibraryTargetName(cfb16) \ cfb32/ModuleLibraryTargetName(cfb32) #endif CFB8 = cfb/ModuleLibraryTargetName(cfb) CFB4 = cfb/ModuleLibraryTargetName(cfb) \ cfb4/ModuleLibraryTargetName(cfb4) CFB16 = cfb/ModuleLibraryTargetName(cfb) \ cfb16/ModuleLibraryTargetName(cfb16) CFB24 = cfb/ModuleLibraryTargetName(cfb) \ cfb24/ModuleLibraryTargetName(cfb24) CFB32 = cfb/ModuleLibraryTargetName(cfb) \ cfb32/ModuleLibraryTargetName(cfb32) DAMAGE = miext/damage/ModuleLibraryTargetName(damage) SHADOW = miext/shadow/ModuleLibraryTargetName(shadow) LAYER = miext/layer/ModuleLibraryTargetName(layer) #else MFB = mfb/LibraryTargetName(mfb) FB = fb/LibraryTargetName(fb) #if XF8_32Wid CFB = cfb16/LibraryTargetName(cfb16) \ cfb24/LibraryTargetName(cfb24) \ cfb32/LibraryTargetName(cfb32) \ cfb/LibraryTargetName(cfb) #else CFB = cfb16/LibraryTargetName(cfb16) \ cfb32/LibraryTargetName(cfb32) \ cfb/LibraryTargetName(cfb) #endif CFB8 = cfb/LibraryTargetName(cfb) CFB4 = cfb4/LibraryTargetName(cfb4) \ cfb/LibraryTargetName(cfb) CFB16 = cfb16/LibraryTargetName(cfb16) \ cfb/LibraryTargetName(cfb) CFB24 = cfb24/LibraryTargetName(cfb24) \ cfb/LibraryTargetName(cfb) CFB32 = cfb32/LibraryTargetName(cfb32) \ cfb/LibraryTargetName(cfb) DAMAGE = miext/damage/LibraryTargetName(damage) SHADOW = miext/shadow/LibraryTargetName(shadow) LAYER = miext/layer/LibraryTargetName(layer) #endif #if !HasFfs && (defined(mingwArchitecture) || defined(cygwinArchitecture)) /* Order of libraries is important when linking in mingw or * cygwin. libmi.a requires ffs from libdix.a. So it is added * after libmi.a on the commandline */ MI = mi/LibraryTargetName(mi) $(DIX) #else MI = mi/LibraryTargetName(mi) #endif MIINITEXTOBJ = mi/miinitext.o DIX = dix/LibraryTargetName(dix) #if UsbMouseSupport #if !HasLibUsb USB = $(XF86OSSRC)/bsd/libusb/LibraryTargetName(usb) #else USB = UsbHidLib #endif #endif #ifdef ServerExtraSysLibs EXTRASYSLIBS = ServerExtraSysLibs #endif #if HasPam && HasPamMisc PAMLIBS = PamLibraries PamMiscLibraries #endif #if !(SystemV4 || defined(SGIArchitecture) || UseRgbTxt) DBMLIBS = DBMLibrary #endif SYSLIBS = $(ZLIB) MathLibrary Krb5Libraries $(DBMLIBS) $(USB) \ $(PAMLIBS) $(EXTRASYSLIBS) #if !HasCbrt CBRT = mi/LibraryTargetName(cbrt) #endif STDDIRS = include dix os mi $(XPDDXDIR) $(EXTDIRS) FBDIR = fb MFBDIR = mfb CFB4DIR = cfb4 CFB8DIR = cfb CFB16DIR = cfb16 CFB24DIR = cfb24 CFB32DIR = cfb32 AFBDIR = afb 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 .c.o: .s.o: /* Build rule blocks, add one for each server * * If a server needs mfb, its build block should have a line like: * MFBSUBDIR = mfb * Similarly, its build block should have: * CFB4SUBDIR = cfb4 (if the server needs 4 bit cfb) * CFB8SUBDIR = cfb (8 bit cfb) * CFB16SUBDIR = cfb16 (16 bit cfb) * CFB24SUBDIR = cfb24 (24 bit cfb) * CFB32SUBDIR = cfb32 (32 bit cfb) * * If a server does not need all of the above components, simply * omit the relevant lines from the build block. * * If these guidelines are followed, a make at the top of the server * tree should result in each subdirectory being built only once, * even if multiple servers that share subdirectories are being built. */ #if HasParallelMake XCOMM XCOMM force non-parallel build of XF86 servers to prevent MUTEX overrides XCOMM #if defined(NXAgentServer) && NXAgentServer NXAGENT = nxagent #endif #if defined(NXWinServer) && NXWinServer && !MakeDllModules NXWIN = NXWin #endif #if (defined(NXAgentServer) && NXAgentServer) || \ (!MakeDllModules && defined(NXWinServer) && NXWinServer) MakeMutex($(NXAGENT) $(NXWIN)) #endif MakeMutex($(STDDIRS) mfb fb cfb cfb16 cfb24 cfb32) #endif #if defined(NXAgentServer) && NXAgentServer XCOMM XCOMM Nested server with NXlib-based ddx and compressed transport. XCOMM FBSUBDIR = fb MIDAMAGEDIR = miext/damage FBDIR = fb #ifndef Win32Architecture NXAGENTDDXDIR = hw/nxagent #else NXAGENTDDXDIR = hw #endif NXAGENTDIRS = $(STDDIRS) $(MFBDIR) $(FBDIR) $(MIDAMAGEDIR) $(NXAGENTDDXDIR) $(DEPDIRS) #if defined(SunArchitecture) || \ defined(SparcArchitecture) NXAGENTOBJS = hw/nxagent/miinitext.o \ hw/nxagent/NXwindow.o \ hw/nxagent/NXevents.o \ hw/nxagent/NXproperty.o \ hw/nxagent/NXdixfonts.o \ hw/nxagent/NXglyphcurs.o \ hw/nxagent/NXdispatch.o \ hw/nxagent/NXrender.o \ hw/nxagent/NXglyph.o \ hw/nxagent/NXpicture.o \ hw/nxagent/NXextension.o \ hw/nxagent/NXglxext.o \ hw/nxagent/NXmiglyph.o \ hw/nxagent/NXmiexpose.o \ hw/nxagent/NXresource.o \ hw/nxagent/NXmiwindow.o \ hw/nxagent/NXdamage.o #elif !defined(LynxOSArchitecture) && \ !defined(Win32Architecture) && \ !defined(QNX4Architecture) NXAGENTOBJS = hw/nxagent/miinitext.o \ hw/nxagent/NXwindow.o \ hw/nxagent/NXevents.o \ hw/nxagent/NXproperty.o \ hw/nxagent/NXdixfonts.o \ hw/nxagent/NXglyphcurs.o \ hw/nxagent/NXdispatch.o \ hw/nxagent/NXrender.o \ hw/nxagent/NXglyph.o \ hw/nxagent/NXpicture.o \ hw/nxagent/NXextension.o \ hw/nxagent/NXglxext.o \ hw/nxagent/NXxvdisp.o \ hw/nxagent/NXmiglyph.o \ hw/nxagent/NXmiexpose.o \ hw/nxagent/NXresource.o \ hw/nxagent/NXmiwindow.o \ hw/nxagent/NXdamage.o #else NXAGENTOBJS = hw/nxagent/miinitext.o \ hw/nxagent/NXwindow.o \ hw/nxagent/NXevents.o \ hw/nxagent/NXproperty.o \ hw/nxagent/NXdixfonts.o \ hw/nxagent/NXglyphcurs.o \ hw/nxagent/NXdispatch.o \ hw/nxagent/NXrender.o \ hw/nxagent/NXglyph.o \ hw/nxagent/NXpicture.o \ hw/nxagent/NXextension.o \ hw/nxagent/NXglxext.o \ hw/nxagent/NXxvdisp.o \ hw/nxagent/NXmiglyph.o \ hw/nxagent/NXmiexpose.o \ hw/nxagent/NXresource.o \ hw/nxagent/NXmiwindow.o \ hw/nxagent/NXdamage.o \ dix/main.o #endif XPMLIB = -lXpm NXAGENT = hw/nxagent/LibraryTargetName(nxagent) NXAGENTLIBS = PreFbLibs $(NXAGENT) FbPostFbLibs $(NXAGENT) $(MI) NXAGENTSYSLIBS = $(LDPRELIBS) $(XLIB) $(SYSLIBS) $(XPMLIB) #if HasParallelMake MakeMutex($(NXAGENTDIRS) $(NXAGENTOBJS) $(NXAGENTLIBS) $(NXAGENTSYSLIBS)) #endif #if ForceServerRemake $(NXAGENTOBJS) $(NXAGENTLIBS) $(NXAGENTSYSLIBS):: $(NXAGENTDIRS) @if [ -f $@ ]; then touch $@ >/dev/null 2>&1 || exit 0; fi #endif #if NXLibraries /* * We need this as the linker will try to locate dependencies of X11 and Xext. */ #if defined(SunArchitecture) NXAGENTNXLIBS = -L ../../../nxcomp -L ../../../nxcompext -L ../../../nxcompshad \ -lXcomp -lXcompext -lXcompshad -lrt -L/usr/sfw/lib -lXrender -lXfixes -lXfont \ -L../../../nx-X11/exports/lib -lXtst -lXrandr -lXcomposite -lXdmcp \ `pkg-config --libs libxml-2.0` #elif defined(cygwinArchitecture) NXAGENTNXLIBS = -L ../../../nxcomp -L ../../../nxcompext \ -lXcomp -lXcompext -lXrender -lX11 -lNX_Xext -lXcomposite -lXfixes -lXfont \ -L ../../../nxcompshad -lXcompshad -L../../../nx-X11/exports/lib -lXtst -lXdmcp \ `pkg-config --libs libxml-2.0` #else NXAGENTNXLIBS = -L ../../../nxcomp -L ../../../nxcompext -L ../../../nxcompshad \ -lXcomp -lXcompext -lXcompshad -lXrender -lNX_X11 -lNX_Xext -lXfixes -lXfont \ -L../../../nx-X11/exports/lib -lXtst -lXrandr -lXcomposite -lXinerama -lXdmcp \ `pkg-config --libs libxml-2.0` #endif #endif #ifdef cygwinArchitecture NX_XSHADOWLIBNAME = cygXcompshad.dll #else NX_XSHADOWLIBNAME = libXcompshad.so #endif NX_XSHADOWLIBDIR = $(XTOP)/../nxcompshad NX_XSHADOWLIBTARGET = $(NX_XSHADOWLIBDIR)/$(NX_XSHADOWLIBNAME) NX_XSHADOWCONFIGTARGET = $(NX_XSHADOWLIBDIR)/config.status CONFIGURE ?= ./configure $(NX_XSHADOWCONFIGTARGET): cd $(NX_XSHADOWLIBDIR) && \ ${CONFIGURE} #ifdef SunArchitecture $(NX_XSHADOWLIBTARGET): $(NX_XSHADOWCONFIGTARGET) cd $(NX_XSHADOWLIBDIR) && \ ${MAKE} #else $(NX_XSHADOWLIBTARGET): $(NX_XSHADOWCONFIGTARGET) cd $(NX_XSHADOWLIBDIR) && \ rm -f *.o && ${MAKE} #endif ServerTarget(nxagent,$(NX_XSHADOWLIBTARGET) $(NXAGENTDIRS),$(NXAGENTOBJS), \ $(LIBCWRAPPER) $(NXAGENTLIBS) $(LOADABLEEXTS),$(NXAGENTSYSLIBS) $(NXAGENTNXLIBS)) /* * Hard coded target to build a static nxagent server. */ nxagent_static: nxagent if [ -f nxagent_static ]; then set -x; \ $(MV) nxagent_static nxagent_static.bak; \ else exit 0; fi $(CCLINK) -o nxagent_static -static $(LDOPTIONS) $(NXAGENTOBJS) \ $(LIBCWRAPPER) $(NXAGENTLIBS) $(LOADABLEEXTS) $(LDLIBS) \ $(NXAGENTSYSLIBS) $(EXTRA_LOAD_FLAGS) /* * Hard coded target to build a static nxagent server except for libX11 and libXext. */ nxagent_static_nolibs: nxagent if [ -f nxagent_static_nolibs ]; then set -x; \ $(MV) nxagent__static_nolibs nxagent_static_nolibs.bak; \ else exit 0; fi $(CCLINK) -o nxagent_static_nolibs -Wl,-Bstatic $(LDOPTIONS) $(NXAGENTOBJS) \ $(NXAGENTLIBS) $(LOADABLEEXTS) $(LIBCWRAPPER) $(LDLIBS) \ $(LDPRELIBS) $(SYSLIBS) -Wl,-Bdynamic -lNX_Xext -lNX_X11 $(EXTRA_LOAD_FLAGS) #endif /* NXAgentServer */ #if defined(NXWinServer) && NXWinServer XCOMM XCOMM X Server for MS Windows XCOMM FBSUBDIR = fb MIDAMAGEDIR = miext/damage SHADOWDIR = miext/shadow #if BuildXWinLayer LAYERDIR = miext/layer XWINLAYERLIB = $(LAYER) #else LAYERDIR = XWINLAYERLIB = #endif #if BuildXWinMultiWindowExtWM ROOTLESSDIR = miext/rootless ROOTLESSLIB = $(ROOTLESSDIR)/LibraryTargetName(rootless) \ $(ROOTLESSDIR)/safeAlpha/LibraryTargetName(safeAlpha) \ $(ROOTLESSDIR)/accel/LibraryTargetName(rlAccel) #else ROOTLESSDIR = ROOTLESSLIB = #endif NXWINDDXDIR = hw/nxwin #if BuildXWinXF86Config XWINPARSERDIR = hw/xfree86/parser XWINPARSERLIB = $(XWINPARSERDIR)/LibraryTargetName(xf86config) #else XWINPARSERDIR = XWINPARSERLIB = #endif XWINOPENGLLIB = NXWINLIB = $(NXWINDDXDIR)/LibraryTargetName(NXWin) NXWINDIRS = $(STDDIRS) $(FBDIR) $(SHADOWDIR) $(LAYERDIR) $(NXWINDDXDIR) \ $(DEPDIRS) $(XWINPARSERDIR) $(ROOTLESSDIR) $(MIDAMAGEDIR) NXWINOBJS = $(NXWINDDXDIR)/stubs.o $(NXWINDDXDIR)/NXWin.res NXWINLIBS = PreFbLibs $(NXWINLIB) FbPostFbLibs $(NXWINLIB) $(XWINLAYERLIB) \ $(SHADOW) $(XWINPARSERLIB) $(ROOTLESSLIB) $(OS) #if BuildXWinMultiWindow || BuildXWinClipboard XWINX11 = $(XONLYLIB) # if defined(Win32Architecture) PTHREADLIB = -lpthreadGC # endif #endif #if defined(Win32Architecture) XWINW32 = -lgdi32 -lwsock32 $(PTHREADLIB) #else XWINW32 = -lgdi32 #endif NXWINSYSLIBS = $(LDPRELIBS) $(XWINX11) $(SYSLIBS) $(XWINW32) NXWINNXLIBS = -L../../../nxcomp -lXcomp /* * These flags cause NXWin.exe to be a Windows executable, which * prevents NXWin.exe from opening a Command Prompt window when it is * started. However, the flags also prevent NXWin.exe from outputting * its status and error message to a Command Prompt; thus, one most * implement a method to redirect status and error messages to a file * before enabling these flags. */ EXTRA_LDOPTIONS = -e _mainCRTStartup #if HasParallelMake MakeMutex($(NXWINDIRS) $(NXWINOBJS) $(NXWINLIB) $(NXWINLIBS) $(NXWINSYSLIBS) $(NXWINNXLIBS)) #endif #if ForceServerRemake $(NXWINOBJS) $(NXWINLIB) $(NXWINLIBS) $(NXWINSYSLIBS) $(NXWINNXLIBS):: $(NXWINDIRS) @if [ -f $@ ]; then touch $@ >/dev/null 2>&1 || exit 0; fi #endif #ifdef mingwArchitecture NXWINSERVERNAME=NXming #else NXWINSERVERNAME=NXWin #endif ServerTarget($(NXWINSERVERNAME),$(NXWINDIRS),$(NXWINOBJS), \ $(LIBCWRAPPER) $(NXWINLIBS) $(LOADABLEEXTS),$(NXWINSYSLIBS) $(NXWINNXLIBS)) #ifndef ServerToInstall # define ServerToInstall $(NXWINSERVERNAME) #endif #endif /* NXWinServer */ #if 0 #if defined(NXWinServer) && NXWinServer XCOMM XCOMM X Server for MS Windows XCOMM FBDIR = fb SHADOWDIR = miext/shadow LAYERDIR = miext/layer NXWINDDXDIR = hw/nxwin XWINPARSERDIR = hw/xfree86/parser XWINPARSERLIB = $(XWINPARSERDIR)/LibraryTargetName(xf86config) NXWINLIB = $(NXWINDDXDIR)/LibraryTargetName(nxwin) NXWINDIRS = $(STDDIRS) $(FBDIR) $(SHADOWDIR) $(LAYERDIR) $(NXWINDDXDIR) \ $(DEPDIRS) $(XWINPARSERDIR) #NXWINOBJS = $(NXWINDDXDIR)/stubs.o $(NXWINDDXDIR)/NX.res \ $(NXWINDDXDIR)/NXwindow.o \ $(NXWINDDXDIR)/NXdispatch.o $(NXWINDDXDIR)/NXproperty.o \ $(NXWINDDXDIR)/NXevents.o NXWINOBJS = $(NXWINDDXDIR)/stubs.o $(NXWINDDXDIR)/NX.res NXWINLIBS = PreFbLibs $(NXWINLIB) FbPostFbLibs $(LAYER) $(SHADOW) \ $(XWINPARSERLIB) NXWINSYSLIBS = $(LDPRELIBS) $(XLIB) $(SYSLIBS) -lgdi32 -lddraw NXWINNXLIBS = -L../../../nxcomp -lXcomp /* * These flags cause NXWin.exe to be a Windows executable, which * prevents NXWin.exe from opening a Command Prompt window when it is * started. However, the flags also prevent NXWin.exe from outputting * its status and error message to a Command Prompt; thus, one most * implement a method to redirect status and error messages to a file * before enabling these flags. */ EXTRA_LDOPTIONS = -mwindows -e _mainCRTStartup #if HasParallelMake MakeMutex($(NXWINDIRS) $(NXWINOBJS) $(NXWINLIB) $(NXWINLIBS) $(NXWINSYSLIBS) $(NXWINNXLIBS)) #endif #if ForceServerRemake $(NXWINOBJS) $(NXWINLIB) $(NXWINLIBS) $(NXWINSYSLIBS) $(NXWINNXLIBS):: $(NXWINDIRS) @if [ -f $@ ]; then touch $@ >/dev/null 2>&1 || exit 0; fi #endif ServerTarget(NXWin,$(NXWINDIRS),$(NXWINOBJS), \ $(NXWINLIBS) $(LOADABLEEXTS) $(LIBCWRAPPER),$(NXWINSYSLIBS) $(NXWINNXLIBS)) #ifndef ServerToInstall #define ServerToInstall NXWin #endif #endif /* NXWinServer */ #endif CFBSUBDIRS = $(CFB8SUBDIR) $(CFB16SUBDIR) $(CFB24SUBDIR) $(CFB32SUBDIR) MIEXTDIRS = $(SHADOWDIR) $(LAYERDIR) $(ROOTLESSDIR) $(MIDAMAGEDIR) IPLANDIRS = $(IPLAN2P2DIR) $(IPLAN2P4DIR) $(IPLAN2P8DIR) DDXDIRS = $(DECWSDDXDIR) $(SUNDDXDIR) $(LYNXDDXDIR) \ $(HPDDXDIR) $(XFREE86DDXDIR) \ $(NXAGENTDDXDIR) $(NXWINDDXDIR) SUBDIRS = $(STDDIRS) $(MFBSUBDIR) $(CFBSUBDIRS) \ $(IPLANDIRS) $(ILBMDIR) $(AFBSUBDIR) \ $(DDXDIRS) $(FBSUBDIR) $(KDRIVEDIRS) $(MIEXTDIRS) #if defined(ServerToInstall) && !defined(OS2Architecture) install:: -(cd $(DESTDIR)$(BINDIR); $(RM) X; $(LN) ServerToInstall X) #endif #define IHaveSubdirs DependSubdirs($(SUBDIRS)) MakeLintLibSubdirs($(SUBDIRS)) LintSubdirs($(SUBDIRS)) ForceSubdirs($(DEPDIRS) $(SUBDIRS)) DEFAULTFONTPATH = DefaultFontPath EXTRAMANDEFS = -D__default_font_path__="`echo $(DEFAULTFONTPATH) | sed -e 's/,/, /g'`" InstallManPage(Xserver,$(MANDIR)) #if MakeDllModules && DoLoadableServer && \ (defined(SunArchitecture) && defined(SVR4Architecture)) XCOMM Hackery for building dlopen-able .so modules on Solaris AllTarget(linker-deps) LINKER_DEPS_DIRS = $(SUBDIRS) XCOMM After everything is built, run through and generate linker dependencies linker-deps: RunPerlScript($(XF86SRC)/os-support/sunos/find_deps.pl,-R ProjectRoot $(LINKER_DEPS_DIRS)) for i in $(LINKER_DEPS_DIRS) ; do \ echo "relinking with dependency flags in $(CURRENT_DIR)/$$i..."; \ MakeNamedTargetSubdir($$i,NullParameter,all) ; \ done #endif