1 XCOMM ----------------------------------------------------------------------
2 XCOMM X Window System Build Parameters and Rules
3 XCOMM $TOG: X11.tmpl /main/308 1998/06/16 15:14:24 msr $
5 /***************************************************************************
7 * DEFAULT DEFINITIONS *
9 * The following section contains defaults for things that can *
10 * overridden in the various *.cf and site.def files. DO NOT EDIT! *
12 **************************************************************************/
14 #define ProjectX 604 /* do *not* change this line */
16 /* The following project-specific rules are defined at the end of this file:
18 * InstallAppDefaults (class)
19 * InstallAppDefaultsLong (file,class)
20 * MakeFontsDir (deplist)
22 * InstallFontObjs (objs,dest)
24 * InstallFontAliases (dest)
26 * FontBaseObj (basename)
27 * InstallFontScale (dest)
28 * UncompressedFontTarget (basename)
29 * CompressedFontTarget (basename)
30 * FontTarget (basename)
32 * MakeXkbDir (basedir,subdir)
39 #define HasXServer YES
42 #define BuildServer HasXServer
44 #ifndef BuildFontServer
45 #define BuildFontServer YES
48 #define BuildFonts (BuildServer | BuildFontServer)
54 #define BuildXAudio (HasXAudio & HasCplusplus)
57 #define HasXAServer NO
60 #define BuildXAServer (HasXAServer & HasCplusplus)
66 #define BuildPexExt NO
68 #ifndef BuildXInputExt
69 #define BuildXInputExt NO
84 #define BuildLowMem NO
91 * Turn off building XIE if you are building for low memory
104 #define BuildXKBlib YES
107 * WARNING: Setting UseXKBInClients to YES cause incompatibilities
108 * between many clients (such as xterm) and pre-XKB shared
111 #ifndef UseXKBInClients
112 #define UseXKBInClients NO /* use XKB in "normal" clients? */
114 #ifndef BuildMultibuffer
115 #define BuildMultibuffer NO
118 #define BuildRECORD YES
120 #ifndef BuildXinerama
121 #define BuildXinerama NO
123 #ifndef BuildXCSecurity
124 #define BuildXCSecurity YES
126 #ifndef BuildAppgroup
127 #define BuildAppgroup YES
133 * Turn off building PEX if you are building for low memory
137 #define BuildPexExt NO
143 #define BuildPlugin HasPlugin
146 #define XprtServer BuildServer
150 #define BuildXprint YES
152 #define BuildXprint NO
155 #ifndef InstallLibManPages
156 #define InstallLibManPages YES
158 #ifndef InstallXtermSetUID
159 #define InstallXtermSetUID YES /* xterm needs to be set uid */
161 #ifndef InstallXinitConfig
162 #define InstallXinitConfig NO /* install sample xinit config */
164 #ifndef InstallXdmConfig
165 #define InstallXdmConfig NO /* install sample xdm config */
167 #ifndef XdmServersType /* what Xservers files to use */
169 #define XdmServersType ws
171 #define XdmServersType fs
174 #ifndef InstallFSConfig
175 #define InstallFSConfig NO /* install sample fs config */
177 #ifndef InstallAppDefFiles
178 #define InstallAppDefFiles YES /* install application defaults */
181 #if HasPosixThreads || HasCThreads
182 #define ThreadedX YES /* multi-threaded libraries */
187 #ifndef ThreadedProject
188 #define ThreadedProject ThreadedX
191 #define HasWChar32 SystemV4
194 #define HasXdmAuth NO /* if you can not use XDM-AUTH* */
196 #ifndef PrimaryScreenResolution
197 #define PrimaryScreenResolution 72 /* a common resolution */
199 #ifndef DefaultFontPath
201 * Turn off building Speedo and Type1 fonts if you are building for
202 * low memory footprint
205 #define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/
207 #if PrimaryScreenResolution < 88 /* (75 + 100) / 2 */
208 #define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/
210 #define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,$(FONTDIR)/100dpi/,$(FONTDIR)/75dpi/
214 #ifndef DefaultFSFontPath
216 * Define a default fontpath for Font Server independent of that
217 * for X server if building the X server for low memory footprint
220 #if PrimaryScreenResolution < 88 /* (75 + 100) / 2 */
221 #define DefaultFSFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,
222 $(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/
224 #define DefaultFSFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,
225 $(FONTDIR)/100dpi/,$(FONTDIR)/75dpi/
228 #define DefaultFSFontPath DefaultFontPath
231 #ifndef DefaultRGBDatabase
232 #define DefaultRGBDatabase $(LIBDIR)/rgb
235 #define UseRgbTxt NO /* default is to compile with dbm */
237 #ifndef FontCompilerFlags
238 #define FontCompilerFlags -t
240 #ifndef ConnectionFlags
242 #define ConnectionFlags -DSTREAMSCONN
245 #define ConnectionFlags -DTCPCONN -DUNIXCONN -DDNETCONN
247 #define ConnectionFlags -DTCPCONN -DUNIXCONN
251 #ifndef ProjectThreadsDefines
252 #define ProjectThreadsDefines -DXTHREADS
254 #ifndef FontOSDefines
255 #define FontOSDefines /**/
258 #define FontDefines -DFONT_SNF -DFONT_BDF -DFONT_PCF -DCOMPRESSED_FONTS FontOSDefines
260 #ifndef XawI18nDefines
262 #define XawI18nDefines -DHAS_WCTYPE_H
264 #define XawI18nDefines -DUSE_XWCHAR_STRING
267 #if Malloc0ReturnsNull
268 #ifndef XMalloc0ReturnsNullDefines
269 #define XMalloc0ReturnsNullDefines Malloc0ReturnsNullDefines
271 #ifndef XtMalloc0ReturnsNullDefines
272 #define XtMalloc0ReturnsNullDefines Malloc0ReturnsNullDefines
275 #ifndef ExtensionOSDefines
276 #define ExtensionOSDefines /**/
278 #ifndef ExtensionDefines
281 #define PexDefines -DPEXEXT
283 #define PexDefines /**/
288 #define ShmDefines -DMITSHM
290 #define ShmDefines /**/
293 #ifndef XInputDefines
295 #define XInputDefines -DXINPUT
297 #define XInputDefines /**/
300 #ifndef XineramaDefines
302 #define XineramaDefines -DPANORAMIX
304 #define XineramaDefines /**/
309 #define XieDefines -DXIE
311 #define XieDefines /**/
314 #ifndef PrintOnlyServer
315 #define PrintOnlyServer YES
317 #ifndef XprintDefines
320 #define XprintDefines -DPIXPRIV
322 #define XprintDefines -DXPRINT -DPIXPRIV
325 #define XprintDefines /**/
330 #define XkbDefines -DXKB
332 #define XkbDefines /**/
335 #ifndef XkbClientDefines
337 #define XkbClientDefines -DXKB
339 #define XkbClientDefines /**/
342 #ifndef XkbServerDefines
343 #define XkbServerDefines /**/
347 #define LbxDefines -DLBX
349 #define LbxDefines /**/
352 #ifndef BigReqDefines
353 #define BigReqDefines -DBIGREQS
358 #define EVIDefines -DEVI
360 #define EVIDefines /**/
366 #define DBEDefines -DDBE
368 #define DBEDefines /**/
372 #ifndef PervasiveDBEDefines
373 #define PervasiveDBEDefines /* -DNEED_DBE_BUF_BITS -DNEED_DBE_BUF_VALIDATE */
376 #ifndef MultibufferDefines
378 #define MultibufferDefines -DMULTIBUFFER
380 #define MultibufferDefines /**/
384 #ifndef VidTuneExtensionDefines
385 #define VidTuneExtensionDefines /**/
388 #ifndef RECORDDefines
390 #define RECORDDefines -DXRECORD
392 #define RECORDDefines /**/
396 #ifndef AppgroupDefines
398 #define AppgroupDefines -DXAPPGROUP
400 #define AppgroupDefines /**/
404 #ifndef XCSecurityDefines
406 #define XCSecurityDefines -DXCSECURITY
408 #define XCSecurityDefines /**/
414 #define CupDefines -DTOGCUP
416 #define CupDefines /**/
420 #ifndef LowMemDefines
422 #define LowMemDefines -DLOWMEMFTPT
424 #define LowMemDefines /**/
430 #define DPMSDefines -DDPMSExtension
432 #define DPMSDefines /**/
436 #ifndef SitePervasiveExtensionDefines
437 #define SitePervasiveExtensionDefines /**/
439 #ifndef PervasiveExtensionDefines
440 #define PervasiveExtensionDefines \
441 -DSHAPE XInputDefines XkbDefines LbxDefines AppgroupDefines \
442 XCSecurityDefines CupDefines PervasiveDBEDefines DPMSDefines \
443 LowMemDefines XprintDefines XineramaDefines SitePervasiveExtensionDefines
445 #ifndef SiteExtensionDefines
446 #define SiteExtensionDefines /**/
448 #ifndef BaseExtensionDefines
449 #define BaseExtensionDefines \
450 MultibufferDefines -DMITMISC -DXTEST -DXSYNC -DXCMISC RECORDDefines \
451 PexDefines ShmDefines XieDefines BigReqDefines VidTuneExtensionDefines \
452 DBEDefines DPMSDefines EVIDefines SiteExtensionDefines
454 #define ExtensionDefines BaseExtensionDefines ExtensionOSDefines
455 #endif /* ExtensionDefines */
457 #ifndef HasStrcasecmp
458 #define HasStrcasecmp YES
461 #ifndef StrcasecmpDefines
463 # define StrcasecmpDefines /**/
465 # define StrcasecmpDefines -DNEED_STRCASECMP
469 #ifndef ServerXdmcpDefines
470 #define ServerXdmcpDefines -DXDMCP
472 #ifndef ServerOSDefines
473 #define ServerOSDefines /**/
477 #define Krb5Defines -DK5AUTH
480 #define Krb5Defines /**/
482 #ifndef ServerExtraDefines
483 #define ServerExtraDefines /* -DPIXPRIV */
485 #ifndef ServerAssertDefines
486 #define ServerAssertDefines -DNDEBUG
488 #ifndef ServerDefines
489 #define ServerDefines StandardDefines PervasiveExtensionDefines ServerExtraDefines ServerAssertDefines
491 #ifndef PexDipexDefines
492 #define PexDipexDefines /**/
494 #ifndef PexDdpexDefines
495 #define PexDdpexDefines /**/
497 #ifndef PexPhigsDefines
499 #define PexShmIPC HasShm
502 #define PexPhigsDefines /**/
504 #define PexPhigsDefines -DPEX_API_SOCKET_IPC
507 #ifndef PexClientDefines
508 #define PexClientDefines -DPEX_SI_PHIGS
512 #define PhigsInclude -I$(INCDIR)/X11
514 #define PhigsInclude -I$(BUILDINCDIR)
517 #ifndef PexCDebugFlags
518 #define PexCDebugFlags DebuggableCDebugFlags
521 #ifdef LibraryCCOptions
522 #define PexCCOptions LibraryCCOptions
524 #define PexCCOptions DefaultCCOptions
527 #ifndef DefaultFSConfigFile
528 #define DefaultFSConfigFile $(LIBDIR)/fs/config
532 #define BinDir Concat(ProjectRoot,/bin)
534 #define BinDir /usr/bin/X11
538 #define BuildIncRoot $(TOP)/exports
541 #define BuildIncDir $(BUILDINCROOT)/include
544 #define BuildIncTop ../.. /* relative to BuildIncDir */
548 # define XTop $(TOP)/imports/x11
553 #ifndef XBuildIncRoot
555 # define XBuildIncRoot $(XTOP)
557 # define XBuildIncRoot $(XTOP)/exports
561 # define XBuildIncDir $(XBUILDINCROOT)/include/X11
564 # define XBuildIncTop ../../..
567 # define XBuildBinDir $(XBUILDINCROOT)/bin
570 #define BuildBinDir $(TOP)/exports/bin
573 #define BuildBinTop ../.. /* relative to BuildBinDir */
576 #define BuildLibDir $(TOP)/exports/lib
579 #define BuildLibTop ../.. /* relative to BuildLibDir */
582 #define LibDir $(USRLIBDIR)/X11
585 #define ConfigDir $(LIBDIR)/config
588 #define FontDir $(LIBDIR)/fonts
591 #define AdmDir /usr/adm
594 #define XinitDir $(LIBDIR)/xinit
597 #define XdmDir $(LIBDIR)/xdm
599 #ifndef XdmConfigurationSubdirectory /* under xdm sources */
600 #define XdmConfigurationSubdirectory config
603 #define TwmDir $(LIBDIR)/twm
606 #define XsmDir $(LIBDIR)/xsm
609 #define NlsDir $(LIBDIR)/nls
612 #define XLocaleDir $(LIBDIR)/locale
615 #define PexApiDir $(LIBDIR)/PEX
618 #define LbxproxyDir $(LIBDIR)/lbxproxy
620 #ifndef LbxproxyConfigSubdir /* under lbxproxy sources */
621 #define LbxproxyConfigSubdir config
623 #ifndef ProxyManagerDir
624 #define ProxyManagerDir $(LIBDIR)/proxymngr
626 #ifndef ServerConfigDir
627 #define ServerConfigDir $(LIBDIR)/xserver
630 #define XPrintDir ServerConfigDir
633 #define VarDirectory /var/X11
635 #ifndef InstallSecurityConfig
636 #define InstallSecurityConfig YES /* Install sample security policy */
638 #ifndef XFileSearchPathBase
639 /* avoid SCCS keyword */
640 #define XFileSearchPathBase Concat4($(LIBDIR)/%L/%T/%N%C,%S:$(LIBDIR)/%l/%T/%N%C,%S:$(LIBDIR)/%T/%N%C,%S:$(LIBDIR)/%L/%T/%N%S:$(LIBDIR)/%l/%T/%N%S:$(LIBDIR)/%T/%N%S)
642 #ifndef XFileSearchPathDefault
644 /* avoid SCCS keyword */
645 #define XFileSearchPathDefault XAppLoadDir/Concat(%N%C,%S):XAppLoadDir/%N%S:XFileSearchPathBase
647 #define XFileSearchPathDefault XFileSearchPathBase
651 #define XAppLoadDir $(LIBDIR)/app-defaults
653 #ifndef XtErrorPrefix
654 #define XtErrorPrefix /* as empty string */
656 #ifndef XtExtraDefines
657 #define XtExtraDefines /* as empty string */
659 #ifndef XtWarningPrefix
660 #define XtWarningPrefix /* as empty string */
662 #ifndef OsNameDefines
663 #define OsNameDefines /* as nothing */
665 #ifndef DefaultUserPath /* for xdm */
666 #define DefaultUserPath :/bin:/usr/bin:$(BINDIR):/usr/ucb
668 #ifndef DefaultSystemPath /* for xdm */
669 #define DefaultSystemPath /etc:/bin:/usr/bin:$(BINDIR):/usr/ucb
671 #ifndef DefaultSystemShell /* for xdm to set in SHELL */
672 #define DefaultSystemShell BourneShell
675 #define ContribDir $(XTOP)/../contrib /* contrib is outside core tree */
677 #ifndef UnsupportedDir
678 #define UnsupportedDir $(XTOP)/unsupported
680 #ifndef AllocateLocalDefines
681 #define AllocateLocalDefines /**/
684 #ifndef ForceNormalLib
685 #define ForceNormalLib (HasGcc && !HasGcc2)
688 #ifndef ResourceConfigurationManagement
689 #define ResourceConfigurationManagement YES
692 #ifndef XtPopdownConformance
693 #define XtPopdownConformance YES
696 XCOMM -----------------------------------------------------------------------
697 XCOMM X Window System make variables; these need to be coordinated with rules
700 * This list must be reflected in the DIRS_TO_BUILD list in the top-level
704 BINDIR = BinDir /* programs */
705 BUILDINCROOT = BuildIncRoot /* base of build loc */
706 BUILDINCDIR = BuildIncDir /* built headers */
707 BUILDINCTOP = BuildIncTop /* top relative to BUILDINCDIR */
708 BUILDLIBDIR = BuildLibDir /* built libraries */
709 BUILDLIBTOP = BuildLibTop /* top relative to BUILDLIBDIR */
710 BUILDBINDIR = BuildBinDir /* built binaries */
711 BUILDBINTOP = BuildBinTop /* top relative to BUILDBINDIR */
712 XBUILDINCROOT = XBuildIncRoot /* base of X build loc */
713 XBUILDINCDIR = XBuildIncDir
714 XBUILDINCTOP = XBuildIncTop
715 XBUILDBINDIR = XBuildBinDir
716 INCDIR = $(INCROOT) /* header files */
717 ADMDIR = AdmDir /* server log files */
718 LIBDIR = LibDir /* rgb, XErrorDB, etc. */
719 TOP_X_INCLUDES = TopXInclude
722 VARDIR = VarDirectory
724 FONTDIR = FontDir /* font directories */
725 XINITDIR = XinitDir /* xinit config files */
726 XDMDIR = XdmDir /* xdm config files */
727 TWMDIR = TwmDir /* twm config files */
728 XSMDIR = XsmDir /* xsm config files */
729 NLSDIR = NlsDir /* nls files */
730 XLOCALEDIR = XLocaleDir /* locale files */
731 PEXAPIDIR = PexApiDir /* PEX support files */
732 LBXPROXYDIR = LbxproxyDir /* lbxproxy files */
733 PROXYMANAGERDIR = ProxyManagerDir /* proxy manager config files */
734 XPRINTDIR = XPrintDir /* print config file root */
735 XAPPLOADDIR = XAppLoadDir /* application default resource dir */
736 FONTCFLAGS = FontCompilerFlags
738 INSTAPPFLAGS = $(INSTDATFLAGS) /* XXX - this should go away - XXX */
740 #ifdef X11ProjectRoot
741 XPROJECTROOT = X11ProjectRoot
744 #if defined(X11ProjectRoot)
745 RGB = $(XPROJECTROOT)/bin/rgb
746 FONTC = $(XPROJECTROOT)/bin/bdftopcf
747 MKFONTDIR = $(XPROJECTROOT)/bin/mkfontdir
748 #elif UseInstalledX11
750 FONTC = $(BINDIR)/bdftopcf
751 MKFONTDIR = $(BINDIR)/mkfontdir
753 RGB = $(CLIENTENVSETUP) $(XBUILDBINDIR)/rgb
754 FONTC = $(CLIENTENVSETUP) $(XBUILDBINDIR)/bdftopcf
755 MKFONTDIR = $(CLIENTENVSETUP) $(XBUILDBINDIR)/mkfontdir
758 DOCUTILSRC = $(XTOP)/doc/util
759 XDOCMACROS = $(DOCUTILSRC)/macros.t
760 XIDXMACROS = $(DOCUTILSRC)/indexmacros.t
761 PROGRAMSRC = $(TOP)/programs
763 FONTSRC = $(XTOP)/fonts
764 INCLUDESRC = BuildIncDir
765 XINCLUDESRC = $(INCLUDESRC)/X11
766 SERVERSRC = $(XTOP)/programs/Xserver
767 CONTRIBSRC = ContribDir
768 UNSUPPORTEDSRC = UnsupportedDir
770 RGBSRC = $(XTOP)/programs/rgb
771 BDFTOPCFSRC = $(PROGRAMSRC)/bdftopcf
772 MKFONTDIRSRC = $(PROGRAMSRC)/mkfontdir
773 FONTSERVERSRC = $(PROGRAMSRC)/xfs
774 FONTINCSRC = $(XTOP)/include/fonts
775 EXTINCSRC = $(XTOP)/include/extensions
776 TRANSCOMMSRC = $(LIBSRC)/xtrans
777 TRANS_INCLUDES = -I$(TRANSCOMMSRC)
778 #ifdef BuildLibPathVar
779 # ifdef SystemBuildLibPath
780 SYSTEMENVLIBDIR = SystemBuildLibPath
782 XENVLIBDIR = X11BuildLibPath
783 CLIENTENVSETUP = BuildLibPathVar=BuildLibPath
788 #ifndef ShLibIncludeFile
789 /* need this to make ANSI-style preprocessors happy */
790 #define ShLibIncludeFile <noop.rules>
793 #include ShLibIncludeFile
796 # define XBuildLibDir BuildLibDir
800 #define SharedLibX11 HasSharedLibraries
803 #define NormalLibX11 (!SharedLibX11 | ForceNormalLib)
806 #define DebugLibX11 NO /* debugged X library */
808 #ifndef ProfileLibX11
809 #define ProfileLibX11 NO /* profiled X library */
811 XLIBSRC = $(LIBSRC)/X11
814 #define SharedX11Rev 6.1
816 SharedLibReferences(XONLY,X11,$(XLIBSRC),SOXLIBREV,SharedX11Rev)
818 ProjectUnsharedLibReferences(XONLY,X11,$(XLIBSRC),XBuildLibDir)
820 XLIBONLY = $(XONLYLIB)
822 #ifndef SharedLibXext
823 #define SharedLibXext HasSharedLibraries
825 #ifndef NormalLibXext
826 #define NormalLibXext (!SharedLibXext | ForceNormalLib)
829 #define DebugLibXext NO /* debugged Xext library */
831 #ifndef ProfileLibXext
832 #define ProfileLibXext NO /* profiled Xext library */
834 XEXTLIBSRC = $(LIBSRC)/Xext
836 #ifndef SharedXextRev
837 #define SharedXextRev 6.4
839 SharedLibReferences(EXTENSION,Xext,$(XEXTLIBSRC),SOXEXTREV,SharedXextRev)
841 ProjectUnsharedLibReferences(EXTENSION,Xext,$(XEXTLIBSRC),XBuildLibDir)
843 LINTEXTENSIONLIB = $(LINTEXTENSION)
844 DEPXLIB = $(DEPEXTENSIONLIB) $(DEPXONLYLIB)
845 XLIB = $(EXTENSIONLIB) $(XONLYLIB)
846 LINTXLIB = $(LINTXONLYLIB)
849 #define SharedLibXau NO /* don't need shared form */
852 #define NormalLibXau (!SharedLibXau | ForceNormalLib)
855 #define DebugLibXau NO /* debugged auth library */
857 #ifndef ProfileLibXau
858 #define ProfileLibXau NO /* profiled auth library */
860 XAUTHSRC = $(LIBSRC)/Xau
863 #define SharedXauRev 6.0
865 SharedLibReferences(XAUTH,Xau,$(XAUTHSRC),SOXAUTHREV,SharedXauRev)
867 ProjectUnsharedLibReferences(XAUTH,Xau,$(XAUTHSRC),XBuildLibDir)
870 #ifndef SharedLibXdmcp
871 #define SharedLibXdmcp NO /* don't need shared form */
873 #ifndef NormalLibXdmcp
874 #define NormalLibXdmcp (!SharedLibXdmcp | ForceNormalLib)
876 #ifndef DebugLibXdmcp
877 #define DebugLibXdmcp NO /* debugged XDMCP library */
879 #ifndef ProfileLibXdmcp
880 #define ProfileLibXdmcp NO /* profiled XDMCP library */
882 XDMCPLIBSRC = $(LIBSRC)/Xdmcp
884 #ifndef SharedXdmcpRev
885 #define SharedXdmcpRev 6.0
887 SharedLibReferences(XDMCP,Xdmcp,$(XDMCPLIBSRC),SOXDMCPREV,SharedXdmcpRev)
889 ProjectUnsharedLibReferences(XDMCP,Xdmcp,$(XDMCPLIBSRC),XBuildLibDir)
893 #define SharedLibXmu HasSharedLibraries
896 #define NormalLibXmu (!SharedLibXmu | ForceNormalLib)
899 #define DebugLibXmu NO /* debugged Xmu library */
901 #ifndef ProfileLibXmu
902 #define ProfileLibXmu NO /* profiled Xmu library */
904 XMUSRC = $(LIBSRC)/Xmu
907 #define SharedXmuRev 6.0
909 SharedDSLibReferences(XMU,Xmu,$(XMUSRC),SOXMUREV,SharedXmuRev)
911 ProjectUnsharedLibReferences(XMU,Xmu,$(XMUSRC),XBuildLibDir)
915 #define SharedOldX HasSharedLibraries
918 #define NormalOldX (!SharedOldX | ForceNormalLib)
921 #define DebugOldX NO /* debugged old X library */
924 #define ProfileOldX NO /* profiled old X library */
926 OLDXLIBSRC = $(LIBSRC)/oldX
928 #ifndef SharedOldXRev
929 #define SharedOldXRev 6.0
931 SharedLibReferences(OLDX,oldX,$(OLDXLIBSRC),SOOLDXREV,SharedOldXRev)
933 ProjectUnsharedLibReferences(OLDX,oldX,$(OLDXLIBSRC),XBuildLibDir)
937 #define SharedLibXt HasSharedLibraries
940 #define NormalLibXt (!SharedLibXt | ForceNormalLib)
943 #define DebugLibXt NO /* debugged toolkit library */
946 #define ProfileLibXt NO /* profiled toolkit library */
948 TOOLKITSRC = $(LIBSRC)/Xt
951 #define SharedXtRev 6.0
953 SharedDSLibReferences(XTOOLONLY,Xt,$(TOOLKITSRC),SOXTREV,SharedXtRev)
955 ProjectUnsharedLibReferences(XTOOLONLY,Xt,$(TOOLKITSRC),XBuildLibDir)
957 DEPXTOOLLIB = $(DEPXTOOLONLYLIB) $(DEPSMLIB) $(DEPICELIB)
958 XTOOLLIB = $(XTOOLONLYLIB) $(SMLIB) $(ICELIB)
959 LINTXTOOLLIB = $(LINTXTOOLONLYLIB)
962 #define SharedLibXa (HasSharedLibraries & HasCplusplus)
965 /* #define NormalLibXa ((!SharedLibXa | ForceNormalLib) & HasCplusplus) */
966 #define NormalLibXa YES /* needed for current tests, will correct later */
969 #define DebugLibXa NO /* debugged audio library */
972 #define ProfileLibXa NO /* profiled audio library */
974 XALIBSRC = $(LIBSRC)/Xa
977 #define SharedXaRev 1.0
979 SharedLibReferences(XA,Xa,$(XALIBSRC),SOXAREV,SharedXaRev)
981 UnsharedLibReferences(XA,Xa,$(XALIBSRC))
985 #define SharedLibXaw HasSharedLibraries
988 #define NormalLibXaw (!SharedLibXaw | ForceNormalLib)
991 #define DebugLibXaw NO /* debugged widget library */
993 #ifndef ProfileLibXaw
994 #define ProfileLibXaw NO /* profiled widget library */
996 AWIDGETSRC = $(LIBSRC)/Xaw
999 #define SharedXawRev 6.1
1001 SharedDSLibReferences(XAW,Xaw,$(AWIDGETSRC),SOXAWREV,SharedXawRev)
1003 ProjectUnsharedLibReferences(XAW,Xaw,$(AWIDGETSRC),XBuildLibDir)
1007 #define SharedLibXi HasSharedLibraries
1010 #define NormalLibXi (!SharedLibXi | ForceNormalLib)
1013 #define DebugLibXi NO /* debugged Xi library */
1015 #ifndef ProfileLibXi
1016 #define ProfileLibXi NO /* profiled Xi library */
1018 XILIBSRC = $(LIBSRC)/Xi
1021 #define SharedXiRev 6.0
1023 SharedLibReferences(XI,Xi,$(XILIBSRC),SOXINPUTREV,SharedXiRev)
1025 ProjectUnsharedLibReferences(XI,Xi,$(XILIBSRC),XBuildLibDir)
1028 #ifndef SharedLibXtst
1029 #define SharedLibXtst HasSharedLibraries
1031 #ifndef NormalLibXtst
1032 #define NormalLibXtst (!SharedLibXtst | ForceNormalLib)
1034 #ifndef DebugLibXtst
1035 #define DebugLibXtst NO /* debugged Xtst library */
1037 #ifndef ProfileLibXtst
1038 #define ProfileLibXtst NO /* profiled Xtst library */
1040 XTESTLIBSRC = $(LIBSRC)/Xtst
1042 #ifndef SharedXtstRev
1043 #define SharedXtstRev 6.1
1045 SharedLibReferences(XTEST,Xtst,$(XTESTLIBSRC),SOXTESTREV,SharedXtstRev)
1047 ProjectUnsharedLibReferences(XTEST,Xtst,$(XTESTLIBSRC),XBuildLibDir)
1050 #ifndef SharedLibPex
1051 #define SharedLibPex HasSharedLibraries
1053 #ifndef NormalLibPex
1054 #define NormalLibPex (!SharedLibPex | ForceNormalLib)
1057 #define DebugLibPex NO /* debugged PEX5 library */
1059 #ifndef ProfileLibPex
1060 #define ProfileLibPex NO /* profiled PEX5 library */
1062 PEXLIBSRC = $(LIBSRC)/PEX5
1064 #ifndef SharedPexRev
1065 #define SharedPexRev 6.0
1067 SharedLibReferences(PEX,PEX5,$(PEXLIBSRC),SOPEXREV,SharedPexRev)
1069 ProjectUnsharedLibReferences(PEX,PEX5,$(PEXLIBSRC),XBuildLibDir)
1072 #ifndef SharedLibXie
1073 #define SharedLibXie HasSharedLibraries
1075 #ifndef NormalLibXie
1076 #define NormalLibXie (!SharedLibXie | ForceNormalLib)
1079 #define DebugLibXie NO /* debugged XIE library */
1081 #ifndef ProfileLibXie
1082 #define ProfileLibXie NO /* profiled XIE library */
1084 XIELIBSRC = $(LIBSRC)/XIE
1086 #ifndef SharedXieRev
1087 #define SharedXieRev 6.0
1089 SharedLibReferences(XIE,XIE,$(XIELIBSRC),SOXIEREV,SharedXieRev)
1091 ProjectUnsharedLibReferences(XIE,XIE,$(XIELIBSRC),XBuildLibDir)
1094 #ifndef SharedLibPhigs
1095 #define SharedLibPhigs NO /* XXX - haven't made it sharable yet */
1097 #ifndef NormalLibPhigs
1098 #define NormalLibPhigs (!SharedLibPhigs | ForceNormalLib)
1100 PHIGSLIBSRC = $(LIBSRC)/PHIGS
1102 #ifndef SharedPhigsRev
1103 #define SharedPhigsRev 6.0
1105 SharedLibReferences(PHIGS,phigs,$(PHIGSLIBSRC),SOPHIGSREV,SharedPhigsRev)
1107 ProjectUnsharedLibReferences(PHIGS,phigs,$(PHIGSLIBSRC),XBuildLibDir)
1110 ProjectUnsharedLibReferences(XBSD,Xbsd,$(LIBSRC)/Xbsd,XBuildLibDir)
1112 #ifndef SharedLibICE
1113 #define SharedLibICE HasSharedLibraries
1115 #ifndef NormalLibICE
1116 #define NormalLibICE (!SharedLibICE | ForceNormalLib)
1119 #define DebugLibICE NO /* debugged ICE library */
1121 #ifndef ProfileLibICE
1122 #define ProfileLibICE NO /* profiled ICE library */
1124 ICESRC = $(LIBSRC)/ICE
1126 #ifndef SharedICERev
1127 #define SharedICERev 6.3
1129 SharedLibReferences(ICE,ICE,$(ICESRC),SOICEREV,SharedICERev)
1131 ProjectUnsharedLibReferences(ICE,ICE,$(ICESRC),XBuildLibDir)
1135 #define SharedLibSM HasSharedLibraries
1138 #define NormalLibSM (!SharedLibSM | ForceNormalLib)
1141 #define DebugLibSM NO /* debugged SM library */
1143 #ifndef ProfileLibSM
1144 #define ProfileLibSM NO /* profiled SM library */
1146 SMSRC = $(LIBSRC)/SM
1149 #define SharedSMRev 6.0
1151 SharedLibReferences(SM,SM,$(SMSRC),SOSMREV,SharedSMRev)
1153 ProjectUnsharedLibReferences(SM,SM,$(SMSRC),XBuildLibDir)
1156 #ifndef SharedLibXkey
1157 #define SharedLibXkey HasSharedLibraries
1159 #ifndef NormalLibXkey
1160 #define NormalLibXkey (!SharedLibXkey | ForceNormalLib)
1162 #ifndef DebugLibXkey
1163 #define DebugLibXkey NO /* debugged Xkey library */
1165 #ifndef ProfileLibXkey
1166 #define ProfileLibXkey NO /* profiled Xkey library */
1168 XKEYSRC = $(LIBSRC)/Xkey
1170 #ifndef SharedXkeyRev
1171 #define SharedXkeyRev 6.0
1173 SharedLibReferences(XKEY,Xkey,$(XKEYSRC),SOXKEYREV,SharedXkeyRev)
1175 ProjectUnsharedLibReferences(XKEY,Xkey,$(XKEYSRC),XBuildLibDir)
1179 #define SharedLibFS NO /* for now */
1182 #define NormalLibFS (!SharedLibFS | ForceNormalLib)
1185 #define DebugLibFS NO /* debugged FS library */
1187 #ifndef ProfileLibFS
1188 #define ProfileLibFS NO /* profiled FS library */
1190 FSLIBSRC = $(LIBSRC)/FS
1193 #define SharedFSRev 6.0
1195 SharedLibReferences(FS,FS,$(FSLIBSRC),SOFSREV,SharedFSRev)
1197 ProjectUnsharedLibReferences(FS,FS,$(FSLIBSRC),XBuildLibDir)
1200 FONTLIBSRC = $(LIBSRC)/font
1201 ProjectUnsharedLibReferences(FONT,font,$(FONTLIBSRC),XBuildLibDir)
1204 XKBFILELIBSRC = $(LIBSRC)/xkbfile
1205 ProjectUnsharedLibReferences(XKBFILE,xkbfile,$(XKBFILELIBSRC),XBuildLibDir)
1206 #ifndef XkbClientDepLibs
1208 #define XkbClientDepLibs $(DEPXKBFILELIB)
1210 #define XkbClientDepLibs /**/
1213 #ifndef XkbClientLibs
1215 #define XkbClientLibs $(XKBFILELIB)
1217 #define XkbClientLibs /**/
1221 XKBCOMPCMD = $(BINDIR)/xkbcomp
1223 XKBCOMPSRC = $(PROGRAMSRC)/xkbcomp
1224 XKBCOMPCMD = $(CLIENTENVSETUP) $(XBUILDBINDIR)/xkbcomp
1226 #else /* !BuildXKBlib */
1227 #ifndef XkbClientDepLibs
1228 #define XkbClientDepLibs
1230 #ifndef XkbClientLibs
1231 #define XkbClientLibs
1233 #endif /* BuildXKBlib */
1235 #ifndef XawClientDepLibs
1236 #define XawClientDepLibs $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
1238 #ifndef XawClientLibs
1239 #define XawClientLibs $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
1242 #ifndef NeedDefaultDepLibs
1243 #define NeedDefaultDepLibs YES
1246 #if NeedDefaultDepLibs
1248 * Individual libraries should override this
1250 #if HasSharedLibraries || defined(UseInstalled)
1251 DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
1253 DEPLIBS = $(LOCAL_LIBRARIES)
1255 DEPLIBS1 = $(DEPLIBS)
1256 DEPLIBS2 = $(DEPLIBS)
1257 DEPLIBS3 = $(DEPLIBS)
1258 DEPLIBS4 = $(DEPLIBS)
1259 DEPLIBS5 = $(DEPLIBS)
1260 DEPLIBS6 = $(DEPLIBS)
1261 DEPLIBS7 = $(DEPLIBS)
1262 DEPLIBS8 = $(DEPLIBS)
1263 DEPLIBS9 = $(DEPLIBS)
1264 DEPLIBS10 = $(DEPLIBS)
1265 #endif /* NeedDefaultDepLibs */
1269 * InstallAppDefaults - simple rules to install application default file
1271 #ifndef InstallAppDefaults
1272 #define InstallAppDefaults(class) InstallAppDefaultsLong(class,class)
1273 #endif /* InstallAppDefaults */
1276 * InstallAppDefaultsLong - general rule to install application default file
1277 * if the InstallAppDefFiles configuration parameter is set.
1279 #ifndef InstallAppDefaultsLong
1280 #if InstallAppDefFiles
1281 #define InstallAppDefaultsLong(file,class) @@\
1282 LinkVarDirectory(app-defaults,.,app-defaults,.) @@\
1283 InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
1285 #define InstallAppDefaultsLong(file,class) @@\
1286 LinkVarDirectory(app-defaults,.,app-defaults,.) @@\
1287 InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
1288 #endif /* InstallAppDefFiles */
1289 #endif /* InstallAppDefaultsLong */
1292 * MakeFontsDir - generate rules to build fonts.dir database.
1294 #ifndef MakeFontsDir
1295 #define MakeFontsDir(deplist) @@\
1298 fonts.dir: deplist @@\
1299 RunProgram(MKFONTDIR,.) @@\
1302 RemoveFile(fonts.dir)
1303 #endif /* MakeFontsDir */
1307 * MakeFonts - generate rules to build font database.
1310 #define MakeFonts() @@\
1313 MakeFontsDir($(OBJS)) @@\
1316 RemoveFiles(*.pcf *.pcf.Z *.pcf.gz)
1317 #endif /* MakeFonts */
1321 * InstallFontObjs - generate rules to install font files
1323 #ifndef InstallFontObjs
1324 #define InstallFontObjs(objs,dest) @@\
1325 InstallMultipleFlags(objs,dest,$(INSTDATFLAGS)) @@\
1327 InstallTarget(install,fonts.dir,$(INSTDATFLAGS),dest)
1328 #endif /* InstallFontObjs */
1332 * InstallFonts - generate rules to install font files
1334 #ifndef InstallFonts
1335 #define InstallFonts(dest) @@\
1336 InstallFontObjs($(OBJS),dest)
1337 #endif /* InstallFonts */
1341 * InstallFontAliases - generate rules to install font aliases databases.
1343 #ifndef InstallFontAliases
1344 #define InstallFontAliases(dest) @@\
1345 InstallTarget(install,fonts.alias,$(INSTDATFLAGS),dest)
1346 #endif /* InstallFontAliases */
1349 #define FontSrc(basename) basename.bdf
1353 #define FontBaseObj(basename)basename.pcf
1357 * InstallFontScale - generate rules to install font scale database.
1359 #ifndef InstallFontScale
1360 #define InstallFontScale(dest) @@\
1361 InstallTarget(install,fonts.scale,$(INSTDATFLAGS),dest)
1362 #endif /* InstallFontScale */
1365 * UncompressedFontTarget
1367 #ifndef UncompressedFontTarget
1368 #define UncompressedFontTarget(basename) @@\
1369 FontBaseObj(basename): FontSrc(basename) @@\
1370 RunProgram(FONTC,$(FONTCFLAGS) $? -o $@)
1371 #endif /* UncompressedFontTarget */
1374 * CompressedFontTarget
1376 #ifndef GzipFontCompression
1377 #define GzipFontCompression NO
1380 #ifndef CompressedFontTarget
1381 #if GzipFontCompression
1382 #define CompressedFontTarget(basename) @@\
1383 FontBaseObj(basename).gz: FontSrc(basename) @@\
1384 RunProgram(FONTC,$(FONTCFLAGS) $?) | $(GZIPCMD) > $@
1386 #define CompressedFontTarget(basename) @@\
1387 FontBaseObj(basename).Z: FontSrc(basename) @@\
1388 RunProgram(FONTC,$(FONTCFLAGS) $?) | $(COMPRESS) > $@
1390 #endif /* CompressedFontTarget */
1392 #ifdef CompressAllFonts
1393 #define FontTarget(basename) CompressedFontTarget(basename)
1394 #if GzipFontCompression
1395 #define FontObj(basename) FontBaseObj(basename).gz
1397 #define FontObj(basename) FontBaseObj(basename).Z
1400 #define FontTarget(basename) UncompressedFontTarget(basename)
1401 #define FontObj(basename) FontBaseObj(basename)
1402 #endif /* CompressAllFonts */
1408 #define MakeXkbDir(basedir,subdir) @@\
1409 all:: Concat(subdir,.dir) @@\
1411 Concat(subdir,.dir): @@\
1412 $(XKBCOMPCMD) -lfhlpR -o Concat(subdir,.dir) '*' @@\
1414 InstallTarget(install,Concat(subdir,.dir),$(INSTDATFLAGS),basedir) @@\
1417 $(RM) Concat(subdir,.dir)
1421 * PostProcessTroffPS - by default moves the working output into place,
1422 * but can be a hook for more complicated post-processing.
1424 #ifndef PostProcessTroffPS
1425 #define PostProcessTroffPS(temp,real) $(MV) temp real
1428 #ifndef MakeSimpleDoc
1429 #define MakeSimpleDoc(file,srcs) @@\
1431 .PRECIOUS: file.PS @@\
1434 -$(TROFF) $(MSMACROS) $(XDOCMACROS) srcs 2> index.raw > file.nPS \@@\
1435 && PostProcessTroffPS(file.nPS,$@) @@\
1436 @if grep '^[^1-9.]' index.raw; then exit 1; else test $$? = 1; fi @@\
1439 $(NROFF) $(MSMACROS) $(XDOCMACROS) srcs 2> index.raw > $@ @@\
1442 $(RM) index.raw file.nPS file.PS file.txt
1446 #define MakeTblDoc(file,srcs) @@\
1448 .PRECIOUS: file.PS @@\
1451 -$(TBL) $(XDOCMACROS) srcs | $(TROFF) $(MSMACROS) 2> index.raw > file.nPS \@@\
1452 && PostProcessTroffPS(file.nPS,$@) @@\
1453 @if grep '^[^1-9.]' index.raw; then exit 1; else test $$? = 1; fi @@\
1456 $(TBL) $(XDOCMACROS) srcs | $(NROFF) $(MSMACROS) 2> index.raw | $(COL) > $@ @@\
1459 $(RM) index.raw file.nPS file.PS file.txt
1463 #define MakeEqnDoc(file,srcs) @@\
1465 .PRECIOUS: file.PS @@\
1468 -$(TBL) $(XDOCMACROS) srcs | $(EQN) | $(TROFF) $(MSMACROS) 2> index.raw > file.nPS \@@\
1469 && PostProcessTroffPS(file.nPS,$@) @@\
1470 @if grep '^[^1-9.]' index.raw; then exit 1; else test $$? = 1; fi @@\
1473 $(TBL) $(XDOCMACROS) srcs | $(NEQN) | $(NROFF) $(MSMACROS) 2> index.raw | $(COL) > $@ @@\
1476 $(RM) index.raw file.nPS file.PS file.txt
1479 #ifndef MakeDocIndex
1480 #define MakeDocIndex(file,srcs) @@\
1481 all:: file.idx.PS @@\
1483 file.idx.PS: srcs index.raw @@\
1484 tail -1 index.raw > index.pageno @@\
1485 grep '^[1-9]' index.raw | sort -f '-t:' +1 -3 +0n -1n | awk -f $(DOCUTILSRC)/fixindex.awk | awk -f $(DOCUTILSRC)/block.awk > index.troff @@\
1486 cat srcs $(XIDXMACROS) index.troff | $(TROFF) -me > file.idx.nPS \@@\
1487 && $(MV) file.idx.nPS $@ @@\
1488 $(RM) index.troff index.pageno @@\
1491 $(RM) index.troff index.pageno file.idx.nPS file.idx.PS
1494 #ifndef MakeLatexDoc
1496 #define MakeLatexDoc(file,src) @@\
1502 file.PS: file.dvi @@\
1503 $(DVIPS) -o file.nPS file && $(MV) file.nPS $@ @@\
1506 RemoveFiles(file.nPS file.PS file.dvi file.log) @@\
1507 RemoveFiles(file.aux file.toc file.lof file.lot)
1508 #else /* HasLatex */
1509 #define MakeLatexDoc(file,src) @@\
1512 @echo "cannot make file.PS: no latex on this system"; exit 1
1513 #endif /* HasLatex (else) */
1514 #endif /* MakeLatexDoc */