123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- XCOMM platform: $TOG: sgi.cf /main/49 1998/02/26 09:12:19 barstow $
- #ifndef OSName
- # define OSName DefaultOSName
- #endif
- #ifndef OSMajorVersion
- # define OSMajorVersion DefaultOSMajorVersion
- #endif
- #ifndef OSMinorVersion
- # define OSMinorVersion DefaultOSMinorVersion
- #endif
- #ifndef OSTeenyVersion
- # define OSTeenyVersion DefaultOSTeenyVersion
- #endif
- XCOMM operating system: OSName (OSMajorVersion.OSMinorVersion.OSTeenyVersion)
- #if OSMajorVersion < 4
- /* We do not guarantee this will work */
- #define BootstrapCFlags -DX_WCHAR -DX_LOCALE -DX_USEBFUNCS -DSYSV
- #define StandardDefines -DX_WCHAR -DX_LOCALE -DX_USEBFUNCS -DSYSV
- #define SetTtyGroup NO
- #else
- #define HasPlugin YES
- #define SetTtyGroup YES
- #define ExtraFilesToClean so_locations
- #endif
- #if OSMajorVersion < 5
- #define SystemV YES
- #define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
- #else
- #define BootstrapCFlags -DSVR4
- #define StandardDefines -DSVR4
- #define SystemV4 YES
- #define HasWChar32 YES
- #define HasVFork NO
- #if OSMajorVersion < 6
- #define XawI18nDefines -DHAS_WCTYPE_H -DHAS_ISW_FUNCS
- #else
- #define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS
- #endif
- #define AllocateLocalDefines -DINCLUDE_ALLOCA_H
- #ifndef ExtraLoadFlags
- #define ExtraLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
- #endif
- #endif
- /*
- * To build 64-bit binaries define Mips64Architecture in your site.def or
- * host.def file. This is usually on done at the X Consortium to test
- * big endian 64-bit cleanliness.
- * To build 32-bit binaries using the old 32-bit mode, define
- * NoMipsN32Archtecture in your site.def or host.def file.
- * Otherwise the default is to use the "new 32" mode as requested by SGI.
- */
- #ifndef MipsN32Architecture
- #if !defined(Mips64Architecture) && !defined(NoMipsN32Architecture)
- #define MipsN32Architecture YES
- #endif
- #endif
- #ifdef Mips64Architecture
- # define BuildLibPathVar _RLD_ROOT=/dev/null LD_LIBRARY64_PATH
- # define SystemBuildLibPath /usr/lib64:/lib64
- # define LdCmd ld -64
- #elif defined(MipsN32Architecture)
- # define BuildLibPathVar _RLD_ROOT=/dev/null LD_LIBRARYN32_PATH
- # define SystemBuildLibPath /usr/lib32:/lib32
- # define LdCmd ld -n32
- #else
- # define BuildLibPathVar _RLD_ROOT=/dev/null LD_LIBRARY_PATH
- # define SystemBuildLibPath /usr/lib:/lib
- #endif
- #define HasCplusplus YES
- #define Malloc0ReturnsNull YES /* IRIX [56].x -lmalloc needs this */
- #define HasPutenv YES
- #define ExecableScripts YES
- #define HasNdbm YES
- #define HasPoll YES
- #define ExpandManNames YES
- #ifndef BuildXInputExt
- #define BuildXInputExt YES
- #endif
- #if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion > 2)
- #define NeedVarargsPrototypes YES
- #define NeedConstPrototypes YES
- #define NeedWidePrototypes NO
- #endif
- #include <sgiLib.rules>
- #if OSMajorVersion < 5
- #define SymbolTables -Wf,-XNp16000,-XNd16000,-XNh2000
- #define PexSymbolTables -Wf,-XNp15000,-XNd15000,-XNh2000
- #define ServerSymbolTables -Wf,-XNp8000,-XNh2000,-XNd8000
- #else
- #define SymbolTables
- #define PexSymbolTables
- #define ServerSymbolTables
- #endif
- /* this is for floating point, ANSI cpp */
- #if OSMajorVersion < 5
- /* Extra libraries provide : yp, sysV malloc, shared libc, and widechar */
- # define ExtraLibraries -lsun -lmalloc -lc_s -lw
- # define sgiCCOptions -xansi -D__STDC__=1 -float
- #else
- # if OSMajorVersion < 6
- # define sgiCCOptions -xansi
- # else
- # define CppCmd cc -E -cckr
- # ifdef Mips64Architecture
- /* set Mips64Architecture in host.def. Usually don't need it but we
- * (the X Consortium) want a 64-bit big-endian machine to test on. */
- # define sgiCCOptions -xansi -mips3 -64
- # define DlLibrary /**/
- # elif defined(MipsN32Architecture)
- /* Set MipsN32Architecture to build "new" 32-bit objs with a 32-bit kernel. */
- # define sgiCCOptions -xansi -mips3 -n32
- # else
- # define sgiCCOptions -xansi
- # endif
- # if OSMinorVersion == 2
- /* if you haven't installed patch 1361, 1403, or 1645 on IRIX 6.2 then you
- * must add "#define HasPosixThreads NO" in your site.def or host.def file
- */
- # ifndef HasPosixThreads
- # define HasPosixThreads YES
- # endif
- # define ThreadedX HasPosixThreads
- # define ThreadsLibraries -lpthread
- /*
- * Add "#define HasSgiThreadsPatch1403 YES" to your site.def or host.def if
- * that's which patch you have.
- */
- # ifndef HasSgiThreadsPatch1403
- # define HasSgiThreadsPatch1403 NO
- # endif
- # if (HasSgiThreadsPatch1403)
- # define SystemMTDefines -D_POSIX_THREAD_SAFE_FUNCTIONS
- # endif
- # endif
- # endif
- /* SGI's -lsocket -lnsl is broken, at least in 5.2, so override here */
- # define ExtraLibraries /**/
- #endif
- #define DefaultCCOptions sgiCCOptions SymbolTables
- #define PexCCOptions sgiCCOptions PexSymbolTables
- #define ServerCCOptions sgiCCOptions ServerSymbolTables
- /* For SGI C++ compiler, need to search extra dirs in make depend */
- #ifndef CplusplusDependIncludes
- #define CplusplusDependIncludes -I/usr/include/CC
- #endif
- /* At SGI, we don't need this */
- #define ConstructMFLAGS NO /* build MFLAGS from MAKEFLAGS */
- /* Used only for compressed fonts */
- #define UNCOMPRESSPATH /usr/bsd/uncompress
- /* Normally used only to conditionally chose the default font path order */
- #define PrimaryScreenResolution 96
- /* Override Imake.tmpl's "-X" flag */
- #define LdCombineFlags -r
- /* Installation Build Parameters */
- #define InstKmemFlags -m 2711 -g sys
- #define ArCmd ar scq
- /* for xdm or anyone else to use */
- #define DefaultUserPath :/usr/sbin:/usr/bsd:/usr/bin:/bin:$(BINDIR):/etc:/usr/etc
- #define DefaultSystemPath /usr/sbin:/usr/bsd:/bin:/etc:/usr/bin:/usr/etc:$(BINDIR)
- #ifndef BuildServer
- #define BuildServer NO
- #endif
- #define ServerOSDefines -DDDXTIME
- /* only need this for binary compatibility with their ddx */
- #ifndef Mips64Architecture
- #define ServerExtraDefines -DNEED_LINEHELPER AllocateLocalDefines
- #else
- #define ServerExtraDefines -D_XSERVER64 -DNEED_LINEHELPER AllocateLocalDefines
- #endif
- /* Changed to a single shell command for pmake/smake */
- #if OSMajorVersion < 5
- /*
- * NormalLibObjCompile - compile fragment for a library object file
- * do ld -x to remove line number symbols for libraries
- */
- #define NormalLibObjCompile(options) ClearmakeOSName \
- $(RM) $@ $*.os \ @@\
- && $(CC) -c options $(CFLAGS) $*.c \ @@\
- && $(LD) $(LDSTRIPFLAGS) -r $@ -o $*.os \ @@\
- && $(MV) $*.os $@
- #endif
- #define LibObjCompile(dir,options) ClearmakeOSName \
- $(RM) $@ dir/$@ \ @@\
- && $(CC) -c $(CCOPTIONS) $(ALLDEFINES) options $*.c \ @@\
- && $(MV) $@ dir/$@
- #ifndef HasMakefileSafeInclude
- #define HasMakefileSafeInclude YES
- #endif
- #ifndef IncludeMakefile
- #define IncludeMakefile(file) @@sinclude file
- #endif
- /* needs to find nroff on the system to work */
- #ifndef ManKeywordsTarget
- #define ManKeywordsTarget(manpath) @@\
- man_keywords:: @@\
- /usr/lib/makewhatis -M $(DESTDIR)manpath $(DESTDIR)manpath/whatis
- #endif
- #define MotifDefines -DSYS_DIR -DPORT_NOVFORK -DNO_REGCOMP
- #ifndef CppFileTarget
- #define CppFileTarget(dst,src,defs,deplist) @@\
- dst:: src deplist @@\
- RemoveFile($@) @@\
- ClearmakeOSName \
- $(CPP) CppNoLineInfoOption defs src 2>/dev/null | CppSedMagic >$@; @@\
- @@\
- clean:: @@\
- RemoveFiles(dst)
- #endif /* CppFileTarget */
- #ifndef CppScriptTarget
- #if ExecableScripts /* can use #! instead of colon */
- #define CppScriptTarget(dst,src,defs,deplist) @@\
- dst:: src deplist @@\
- RemoveFile($@) @@\
- ClearmakeOSName \
- $(CPP) CppNoLineInfoOption defs src | CppSedMagic >$@ @@\
- chmod a+x $@ @@\
- @@\
- clean:: @@\
- RemoveFiles(dst)
- #else
- #define CppScriptTarget(dst,src,defs,deplist) @@\
- dst:: src deplist @@\
- RemoveFile($@) @@\
- ClearmakeOSName \
- echo \: >$@ @@\
- sed '1d' src | $(CPP) CppNoLineInfoOption defs | CppSedMagic >>$@ @@\
- chmod a+x $@ @@\
- @@\
- clean:: @@\
- RemoveFile(dst)
- #endif /* ExecableScripts */
- #endif /* CppScriptTarget */
|