Files
cdesktop/cde/config/cf/linux.cf
Jon Trulson 4d48253234 linux depend: stop using makedepend, use gcc instead
gcc can generate dependencies, so use that instead of building and
depending on the rather delicate and archaic 'makedepend'.

This fix removes makedepend from being built or used on linux, and
instead uses gcc to generate dependency data in .depend files.

I think pretty much every platform that uses gcc should do this.  I am
not sure if other compilers (intel, clang) can do this though.
2014-03-08 23:43:17 -07:00

301 lines
8.6 KiB
CFEngine3

XCOMM platform: $TOG: linux.cf /main/47 1998/04/17 11:32:51 mgreess $
/* To reduce the number of warnings generated by X11 and Motif headers that
dislike -ansi and -pedantic we can include them with -isystem instead of
-I, this tells GCC to treat them as system includes out of our control */
#define TopXInclude -isystem$(TOP)/imports/x11/include
#ifndef OSName
# define OSName DefaultOSName
#endif
#ifndef OSMajorVersion
# define OSMajorVersion DefaultOSMajorVersion
#endif
#ifndef OSMinorVersion
# define OSMinorVersion DefaultOSMinorVersion
#endif
#ifndef OSTeenyVersion
# define OSTeenyVersion DefaultOSTeenyVersion
#endif
#ifndef LinuxDistribution
#define LinuxDistribution DefaultLinuxDistribution
/*
Add "#define LinuxDistribution Linux<mumble>" to your site.def or host.def.
Currently only LinuxSuSE will be figured out automatically.
Valid values are (from the list at www.linux.org in Oct. 1997):
LinuxUnknown (0)
LinuxSuSE (1)
LinuxCaldera (2)
LinuxCraftworks (3)
LinuxDebian (4)
LinuxInfoMagic (5)
LinuxKheops (6)
LinuxPro (7)
LinuxRedHat (8)
LinuxSlackware (9)
LinuxTurbo (10)
LinuxWare (11)
LinuxYggdrasil (12)
*/
#endif
#ifndef LinuxCLibMajorVersion
# define LinuxCLibMajorVersion DefaultLinuxCLibMajorVersion
#endif
#ifndef LinuxCLibMinorVersion
# define LinuxCLibMinorVersion DefaultLinuxCLibMinorVersion
#endif
#ifndef LinuxCLibTeenyVersion
# define LinuxCLibTeenyVersion DefaultLinuxCLibTeenyVersion
#endif
#ifndef LinuxBinUtilsMajorVersion
# define LinuxBinUtilsMajorVersion DefaultLinuxBinUtilsMajorVersion
#endif
XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
XCOMM libc: (LinuxCLibMajorVersion./**/LinuxCLibMinorVersion./**/LinuxCLibTeenyVersion)
XCOMM binutils: (LinuxBinUtilsMajorVersion)
#ifndef UseElfFormat
# if OSMajorVersion > 1 || (OSMajorVersion == 1 && OSMinorVersion > 1)
# define UseElfFormat YES
# else
# define UseElfFormat NO
# error "Only ELF format is supported on linux"
# endif
#endif
#define BuildLibPathVar LD_LIBRARY_PATH
#define HasGcc YES
#define HasGcc2 YES
#define HasGcc2ForCplusplus YES
#define GccUsesGas YES
#define UseGas YES
#define GnuCpp YES
#define HasShadowPasswd YES
#define HasPutenv YES
#define HasShm YES
#define HasSockets YES
#define HasMakefileSafeInclude YES
#define DependFileName .depend
#define DependCmd $(CC) -E -MM -MG
#ifdef IncludeMakefile
# undef IncludeMakefile
#endif
#define IncludeMakefile(file) -include file
#if (LinuxDistribution == LinuxRedHat)
# define HasZlib YES
#endif
#define AvoidNullMakeCommand YES
#define StripInstalledPrograms YES
#define CompressAllFonts YES
#define Malloc0ReturnsNull YES
#define NeedConstPrototypes YES
#define NeedFunctionPrototypes YES
#define NeedNestedPrototypes YES
#define NeedVarargsPrototypes YES
#define NeedWidePrototypes NO
#define SetTtyGroup YES
#define CcCmd gcc -g -pipe
#define CplusplusCmd g++ -g -pipe -fpermissive
#define AsCmd as
#define LdCmd ld
#define CplusplusLibC -lstdc++
#define AsmDefines -D__ELF__
#define MkdirHierCmd mkdir -p
#define CppCmd /lib/cpp
#if OSMajorVersion >= 2
# define YaccCmd yacc
#else
# define YaccCmd bison -y
#endif
#define LexCmd flex -l
#define LexLib -lfl
#define PreProcessCmd CcCmd -E
#define PostIncDir DefaultGccIncludeDir
#define LdCombineFlags -r
#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
#define HasWChar32 YES
#define StandardCppDefines -traditional StandardDefines
#define ExtensionOSDefines -DXTESTEXT1
#define LinuxLocaleDefines /**/
XCOMM If you have the tirpc library on your system, and you have the
XCOMM libtirpc-dev installed, then define HasTIRPCLib to YES in either
XCOMM your host.def or site.def file. Using the tirpc lib should
XCOMM allow running rpcbind in secure mode (ie: without the -i option).
XCOMM The default is NO.
#ifndef HasTIRPCLib
# define HasTIRPCLib NO
#endif
#if HasTIRPCLib
TIRPCLIB = -ltirpc
#else
TIRPCLIB =
#endif
#if !defined(DefaultGcc2i386Opt)
# define DefaultGcc2i386Opt -O2 -fno-strict-aliasing
#endif
#if LinuxCLibMajorVersion < 6
# define LinuxSourceDefines -D_POSIX_SOURCE \
-D_BSD_SOURCE -D_SVID_SOURCE LinuxLocaleDefines
# ifndef HasLibCrypt
# define HasLibCrypt NO
# endif
#else
# define LinuxSourceDefines -D_POSIX_C_SOURCE=199309L \
-D_POSIX_SOURCE \
-D_BSD_SOURCE -D_SVID_SOURCE -D_XOPEN_SOURCE \
-D__NO_STRING_INLINES -D__NO_MATH_INLINES \
LinuxLocaleDefines
# define HasPosixThreads YES
# define ThreadedX YES
# define HasThreadSafeAPI YES
# define ThreadsLibraries -lpthread
# define SystemMTDefines -D_REENTRANT
# ifndef HasLibCrypt
# define HasLibCrypt YES
# endif
#endif
#ifdef SparcArchitecture
# define LinuxMachineDefines -Dsparc
# if UseElfFormat
# define HasPlugin YES
# define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
# endif
#endif /* SparcArchitecture */
#ifdef ARMArchitecture
# define LinuxMachineDefines -D__arm__
# define LSBBitOrder YES
# if UseElfFormat
# define HasPlugin YES
# define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
# endif
#endif /* ARMArchitecture */
#ifdef i386Architecture
# define OptimizedCDebugFlags DefaultGcc2i386Opt
# define LinuxMachineDefines -D__i386__
/* For DtHelp TIFF processing routines. */
# define LSBBitOrder YES
# if UseElfFormat
# define HasPlugin YES
# define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
# endif
#endif /* i386Architecture */
#ifdef AMD64Architecture
# define OptimizedCDebugFlags DefaultGcc2i386Opt
# define LinuxMachineDefines -D__x86_64__
/* For DtHelp TIFF processing routines. */
# define LSBBitOrder YES
# if UseElfFormat
# define HasPlugin YES
# define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
# endif
#endif /* AMD64Architecture */
#ifdef PpcArchitecture
# define OptimizedCDebugFlags DefaultGcc2i386Opt
# define LinuxMachineDefines -D__powerpc__
#endif /* PpcArchitecture */
#ifdef AlphaArchitecture
# define OptimizedCDebugFlags DefaultGcc2i386Opt
# define LinuxMachineDefines -D__alpha__
#endif /* AlphaArchitecture */
#ifdef Mc68020Architecture
# define OptimizedCDebugFlags DefaultGcc2i386Opt
# define LinuxMachineDefines -D__mc68000__
# define StandardCppDefines -traditional
#endif /* Mc68020Architecture */
#define StandardDefines -Dlinux LinuxMachineDefines LinuxSourceDefines
#define ConnectionFlags -DUNIXCONN -DTCPCONN
XCOMM This is needed for CDE currently
#define CplusplusStandardDefines StandardDefines
/* Some of these man page defaults are overriden in the above OS sections */
#ifndef ManSuffix
# define ManSuffix 1x
#endif
#ifndef ManDir
# define ManDir $(MANSOURCEPATH)1
#endif
#ifndef LibManSuffix
# define LibManSuffix 3x
#endif
#ifndef LibmanDir
# define LibmanDir $(MANSOURCEPATH)3
#endif
#ifndef FileManSuffix
# define FileManSuffix 5x
#endif
#ifndef FileManDir
# define FileManDir $(MANSOURCEPATH)5
#endif
#define ArchitectureDefines -DLINUX_ARCHITECTURE
XCOMM different dependancy handling
#ifndef DependDependency
#define DependDependency() /**/
#endif
#ifdef DependTarget
# undef DependTarget
#endif
#define DependTarget() @@@@\
DependDependency() @@@@\
@@@@\
depend:: DependFileName @@@@\
@@@@\
DependFileName:: @@@@\
-RunProgram(DEPEND,$(DEPENDFLAGS) $(ALLDEFINES) $(DEPEND_DEFINES) $(SRCS)) > $@
#ifdef DependTarget3
# undef DependTarget3
#endif
#define DependTarget3(srcs1,srcs2,srcs3) @@@@\
DependDependency() @@@@\
@@@@\
depend:: DependFileName @@@@\
@@@@\
DependFileName:: @@@@\
-RunProgram(DEPEND,$(DEPENDFLAGS) $(ALLDEFINES) $(DEPEND_DEFINES) srcs1) > $@ @@@@\
-RunProgram(DEPEND,$(DEPENDFLAGS) $(ALLDEFINES) $(DEPEND_DEFINES) srcs2) >> $@ @@@@\
-RunProgram(DEPEND,$(DEPENDFLAGS) $(ALLDEFINES) $(DEPEND_DEFINES) srcs3) >> $@
#define TtClientLibs $(TTLIB) $(TIRPCLIB) $(XTOOLLIB) $(XLIB)
#define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
#include <lnxLib.rules>
#include <xfree86.cf>