XCOMM $Xorg: Imakefile,v 1.5 2000/08/17 19:41:44 cpqbld Exp $ XCOMM $XFree86: xc/Imakefile,v 3.29tsi Exp $ #define IHaveSubdirs #define PassCDebugFlags CDEBUGFLAGS="$(CDEBUGFLAGS)" RELEASE = XOrgReleaseString #ifndef OSName #define OSName Unknown Operating System! #endif #if !BuildServersOnly #if BuildFonts FONTSDIR = fonts #endif #ifndef Win32Architecture #if BuildDocs DOCSDIR = doc #endif NLSSUBDIR = nls #endif #endif SUBDIRS = include config lib $(NLSSUBDIR) \ programs $(FONTSDIR) $(DOCSDIR) LNINSTALLDIRS = lib #if HasParallelMake #ifdef ParallelDefines TOPPARALLELMFLAGS = TopParallelDefines #endif #endif MakeSubdirs($(SUBDIRS)) MakeLintSubdirs($(LNINSTALLDIRS),install.ln,install.ln) MakeLintSubdirs($(LNINSTALLDIRS),external.ln,lintlib) DependSubdirs($(SUBDIRS)) #define IHaveSpecialMakefileTarget #ifndef Win32Architecture VerifyOS:: @echo "" @echo Building on OSName "("OSMajorVersion"."OSMinorVersion"."OSTeenyVersion")." @echo "" #ifdef LinuxArchitecture VerifyOS:: @echo Linux Distribution: LinuxDistName @echo libc version: LinuxCLibMajorVersion"."LinuxCLibMinorVersion"."LinuxCLibTeenyVersion @echo binutils version: `expr LinuxBinUtilsMajorVersion / 10`.`expr LinuxBinUtilsMajorVersion % 10` @echo "" #endif #if defined(GccMajorVersion) && defined(GccMinorVersion) VerifyOS:: @echo GCC version: GccMajorVersion"."GccMinorVersion @echo "" #endif #ifndef OS2Architecture version.def:: $(RM) $(IRULESRC)/date.def @if [ -f ../../$(XF86SRC)/xf86Date.h ]; then \ $(LN) ../../$(XF86SRC)/xf86Date.h $(IRULESRC)/date.def; \ else \ echo "" > $(IRULESRC)/date.def; \ fi; $(RM) $(IRULESRC)/version.def @if [ -f ../../$(XF86SRC)/xf86Version.h ]; then \ echo foo; \ $(LN) ../../$(XF86SRC)/xf86Version.h $(IRULESRC)/version.def; \ else \ echo "" > $(IRULESRC)/version.def; \ fi; #else /*OS2Architecture*/ version.def:: $(RM) $(IRULESRC)/date.def $(CP) $(XF86SRC)/xf86Date.h $(IRULESRC)/date.def #endif includes:: MakeDir($(BUILDINCDIR)) MakeDir($(BUILDBINDIR)) XCOMM XCOMM Watch out!!! Make sure you do make includes after removing X11.... XCOMM clean:: $(RM) -r $(BUILDINCDIR) $(RM) -r $(BUILDLIBDIR) $(RM) -r $(BUILDBINDIR) MAKE_OPTS = -f xmakefile World:: $(MAKE) $(MFLAGS) $(MAKE_OPTS) $(TOPPARALLELMFLAGS) all Everything:: @echo "" @echo Rebuilding $(RELEASE) of the X Window System. @echo "" @date @echo "" cd $(IMAKESRC) && if [ -f Makefile ]; then \ $(MAKE) $(MFLAGS) BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)"; \ else \ $(MAKE) $(MFLAGS) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)"; \ fi -$(RM) xmakefile.bak; $(MV) xmakefile xmakefile.bak $(MAKE) $(MFLAGS) xmakefile $(MAKE) $(MFLAGS) $(MAKE_OPTS) Makefiles $(MAKE) $(MFLAGS) $(MAKE_OPTS) includes $(MAKE) $(MFLAGS) $(MAKE_OPTS) depend $(MAKE) $(MFLAGS) $(MAKE_OPTS) $(WORLDOPTS) @echo "" @date @echo "" @echo Rebuild of $(RELEASE) of the X Window System complete. @echo "" XCOMM clean out link tree looking for stuff that should get checked in dangerous_strip_clean:: $(MAKE) -k distclean find . -type l -exec rm {} \; find . \( \! -type d \) -print #else /* not Win32Architecture else */ VerifyOS:: @echo : @echo Building on OSName. @echo : includes:: MakeDir($(BUILDINCDIR:/=\)) XCOMM XCOMM Watch out!!! Make sure you do make includes after removing X11.... XCOMM clean:: RmTreeCmd $(BUILDINCDIR:/=\) RmTreeCmd $(BUILDLIBDIR:/=\) Everything:: @echo : @echo Rebuilding $(RELEASE) of the X Window System. @echo : @echo : cd $(IMAKESRC) $(MAKE) $(MFLAGS) -f Makefile.ini imake.exe cd ..\.. RMoveToBakFile(xmakefile) $(MAKE) $(MFLAGS) xmakefile $(MAKE) $(MFLAGS) $(MAKE_OPTS) Makefiles $(MAKE) $(MFLAGS) $(MAKE_OPTS) includes $(MAKE) $(MFLAGS) $(MAKE_OPTS) depend $(MAKE) $(MFLAGS) $(MAKE_OPTS) $(WORLDOPTS) @echo : @echo : @echo Rebuild of $(RELEASE) of the X Window System complete. @echo : #ifdef ProjectRoot install:: MakeDir($(PROJECTROOT:/=\)) #endif install:: MakeDir($(INCROOT:/=\)) MakeDir($(USRLIBDIR:/=\)) MakeDir($(LIBDIR:/=\)) #endif /* not Win32Architecture else */ XCOMM special target to determine if the xmakefile exists. XCOMM Works on both Unix and NMAKE.EXE xmakefile-exists:: #ifndef MakeManKeywords #define MakeManKeywords YES /* install.man rebuilds "man -k" database? */ #endif #ifndef MakeHtmlManIndex #define MakeHtmlManIndex YES /* install.man generates HTML man page index */ #endif #undef BootstrapCleanSubdirs #define BootstrapCleanSubdirs BOOTSTRAPSUBDIRS="$(BOOTSTRAPSUBDIRS)" BOOTSTRAPSUBDIRS = imake makedepend