4.4BSD/usr/src/contrib/X11R5-lib/config/Imake.tmpl

/*
 * generic imake template
 */

#ifndef XCOMM
#define XCOMM #
#endif
XCOMM -------------------------------------------------------------------------
XCOMM Makefile generated from IMAKE_TEMPLATE and INCLUDE_IMAKEFILE
XCOMM $XConsortium: Imake.tmpl,v 1.139 91/09/16 08:52:48 rws Exp $
XCOMM
XCOMM Platform-specific parameters may be set in the appropriate <vendor>.cf
XCOMM configuration files.  Site-specific parameters should be set in the file
XCOMM site.def.  Full rebuilds are recommended if any parameters are changed.
XCOMM
XCOMM If your C preprocessor does not define any unique symbols, you will need
XCOMM to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
XCOMM "make World" the first time).
XCOMM

#define	YES	1
#define NO	0


/*
 * To add support for another platform:
 * 
 *     1.  Identify a machine-specific cpp symbol.  If your preprocessor 
 *         does not have any built in, you will need to add the symbol to the
 *         cpp_argv table in config/imakemdep.h and rebuild imake with the
 *         BOOTSTRAPCFLAGS variable set (see the macII for an example).
 *
 *     2.  Add all machine-specific cpp symbols (either defined by you or by
 *         the preprocessor or compiler) to the predefs table in 
 *         config/imakemdep.h.
 *
 *     3.  But a new #ifdef block below that defines MacroIncludeFile and
 *         MacroFile for your new platform and then #undefs the machine-
 *         specific preprocessor symbols (to avoid problems with file names).
 *
 *     4.  Create a .cf file with the name given by MacroFile.
 */

#ifdef ultrix
#define MacroIncludeFile <ultrix.cf>
#define MacroFile ultrix.cf
#ifdef vax
#undef vax
#define VaxArchitecture
#endif
#ifdef mips
#undef mips
#define MipsArchitecture
#endif
#undef ultrix
#define UltrixArchitecture
#endif

#if defined(vax) && !defined(UltrixArchitecture)
#define MacroIncludeFile <bsd.cf>
#define MacroFile bsd.cf
#undef vax
#define VaxArchitecture
#endif

#ifdef sun
#define MacroIncludeFile <sun.cf>
#define MacroFile sun.cf
#undef sun
#define SunArchitecture
#endif /* sun */

#ifdef hpux
#define MacroIncludeFile <hp.cf>
#define MacroFile hp.cf
#undef hpux
#define HPArchitecture
#endif /* hpux */

#ifdef hp9000
#define MacroIncludeFile <hpbsd.cf>
#define MacroFile hpbsd.cf
#undef hp9000
#define HPBSDArchitecture
#endif /* hp9000 */

#ifdef att
#define MacroIncludeFile <att.cf>
#define MacroFile att.cf
#undef att
#define ATTArchitecture
#endif /* att */

#ifdef apollo
#define MacroIncludeFile <apollo.cf>
#define MacroFile apollo.cf
#undef apollo
#define ApolloArchitecture
#endif /* apollo */

#ifdef sony
#define MacroIncludeFile <sony.cf>
#define MacroFile sony.cf
#undef sony
#undef sony_news
#define SonyArchitecture
#ifdef mc68020
#undef mc68020
#undef mc68030
#define Mc68020Architecture
#endif
#ifdef mips
#undef mips
#define MipsArchitecture
#endif
#if !defined(bsd43) || defined(SYSTYPE_SYSV)
#define SonySysvArchitecture
#else
#define SonyBsdArchitecture
#endif
#endif /* sony */

#ifdef M4310
#define MacroIncludeFile <pegasus.cf>
#define MacroFile pegasus.cf
#undef M4310
#define PegasusArchitecture
#endif /* M4310 */

#ifdef M4330
#define MacroIncludeFile <m4330.cf>
#define MacroFile m4330.cf
#undef  M4330
#define M4330Architecture
#endif /* M4330 */

#ifdef macII
/* A/UX cpp has no unique symbol:  build imake with BOOTSTRAPCFLAGS=-DmacII */
#define MacroIncludeFile <macII.cf>
#define MacroFile macII.cf
#undef  macII
#define MacIIArchitecture
#endif /* macII */

#ifdef CRAY
#define MacroIncludeFile <cray.cf>
#define MacroFile cray.cf
#undef cray
#define CrayArchitecture
#endif /* CRAY */

#ifdef sgi
#define MacroIncludeFile <sgi.cf>
#define MacroFile sgi.cf
#undef sgi
#define SGIArchitecture
#undef mips
#define MipsArchitecture
#endif

#ifdef stellar
#define MacroIncludeFile <stellar.cf>
#define MacroFile stellar.cf
#undef stellar
#define StellarArchitecture
#endif

#if defined(ibm) || defined(_IBMR2) || defined(ibm032) || defined(aix)
#define MacroIncludeFile <ibm.cf>
#define MacroFile ibm.cf
#ifdef ibm
#undef ibm
#endif
#define IBMArchitecture
#ifdef i386
#undef i386
#define PS2Architecture
#endif
#ifdef ibm032
#undef ibm032
#define RtArchitecture
#endif
#ifdef aix
#undef aix
#define AIXArchitecture
#endif
#ifdef _IBMR2
#undef _IBMR2
#define RsArchitecture
#endif
#endif /* ibm */

#ifdef luna
#undef luna
#define MacroIncludeFile <luna.cf>
#define MacroFile luna.cf
#ifdef mc68000
#undef mc68000
#define Mc68000Architecture
#else
#undef mc88000
#define Mc88000Architecture
#endif
#endif

#ifdef Mips
#  define MacroIncludeFile "Mips.cf"
#  define MacroFile Mips.cf
#  undef Mips
#  if defined(SYSTYPE_BSD43) || defined(BSD) || defined(BSD43)
#    define MipsBsdArchitecture
#  else /* BSD */
#    define MipsSysvArchitecture
#  endif /* BSD */
#endif /* Mips */

#ifdef MOTOROLA
# define MacroIncludeFile <moto.cf>
# define MacroFile moto.cf
# undef MOTOROLA	
# ifdef SYSV
#  define MotoR3Architecture
# endif
# ifdef SVR4
#  define MotoR4Architecture
# endif
#endif /* MOTOROLA */

#ifdef SYSV386
# define MacroIncludeFile <x386.cf>
# define MacroFile x386.cf
# ifdef SVR4
#  define i386SVR4Architecture
# else
#  define i386SVR3Architecture
# endif
#endif /* SYSV386 */

#ifdef DGUX
#define MacroIncludeFile <DGUX.cf>
#define MacroFile DGUX.cf
#undef DGUX
#define DguxArchitecture
#endif

#ifdef __convex__
# define MacroIncludeFile <convex.cf>
# define MacroFile convex.cf
# ifdef convex
#  undef convex
# endif
# define ConvexArchitecture
#endif

#ifndef MacroIncludeFile
XCOMM WARNING:  Imake.tmpl not configured; guessing at definitions!!!
XCOMM This might mean that BOOTSTRAPCFLAGS was not set when building imake.
#define MacroIncludeFile <generic.cf>
#define MacroFile generic.cf
#endif

/*****************************************************************************
 *                                                                           *
 *                       DO NOT MODIFY BELOW THIS LINE                       *
 *                                                                           *
 *****************************************************************************/


XCOMM -------------------------------------------------------------------------
XCOMM site-specific configuration parameters that need to come before
XCOMM the platform-specific parameters - edit site.def to change
#define BeforeVendorCF
#include <site.def>
#undef BeforeVendorCF

XCOMM -------------------------------------------------------------------------
XCOMM platform-specific configuration parameters - edit MacroFile to change
#include MacroIncludeFile

/* It is a kludge to put these two macros here,
 * but Project.tmpl needs them and it is not clear there is a better place.
 */

/*
 * Concat - concatenates two strings.
 */
#ifndef Concat
#if __STDC__ && !defined(UnixCpp)
#define Concat(a,b)a##b
#else
#define Concat(a,b)a/**/b
#endif
#endif

/*
 * Concat3 - concatenates three strings.
 */
#ifndef Concat3
#if __STDC__ && !defined(UnixCpp)
#define Concat3(a,b,c)a##b##c
#else
#define Concat3(a,b,c)a/**/b/**/c
#endif
#endif

XCOMM -------------------------------------------------------------------------
XCOMM site-specific configuration parameters that go after
XCOMM the platform-specific parameters - edit site.def to change
#define AfterVendorCF
#include <site.def>
#undef AfterVendorCF

/*
 * defaults for various generic parameters; set in site.def if needed
 */

#ifndef HasSharedLibraries
#define HasSharedLibraries NO
#endif
#ifndef SystemV
#define SystemV			NO	/* SYSV (R3) */
#endif
#ifndef SystemV4
#define SystemV4		NO	/* SVR4 */
#endif
#ifndef OSMajorVersion
#define OSMajorVersion          0
#endif
#ifndef OSMinorVersion
#define OSMinorVersion          0
#endif
#ifndef UnalignedReferencesAllowed
#define UnalignedReferencesAllowed NO	/* if arbitrary deref is okay */
#endif
#ifndef ExecableScripts
#if SystemV
#define ExecableScripts		NO
#else
#define ExecableScripts		YES	/* kernel exec() can handle #! */
#endif
#endif

#ifndef BourneShell			/* to force shell in makefile */
#define BourneShell		/bin/sh
#endif
#ifndef ConstructMFLAGS
#if SystemV
#define ConstructMFLAGS		YES	/* build MFLAGS from MAKEFLAGS */
#else
#define ConstructMFLAGS		NO	/* build MFLAGS from MAKEFLAGS */
#endif
#endif

#ifndef HasLargeTmp
#define HasLargeTmp		NO	/* be paranoid */
#endif
#ifndef HasSockets
#if SystemV || SystemV4
#define HasSockets		NO	/* do not assume it has them */
#else
#define HasSockets		YES	/* bsd does have them */
#endif
#endif
#ifndef HasVFork
#if SystemV
#define HasVFork		NO	/* not yet... */
#else
#define HasVFork		YES
#endif
#endif
#ifndef HasPutenv
#define HasPutenv		NO	/* assume not */
#endif
#ifndef HasVoidSignalReturn
#define HasVoidSignalReturn	YES	/* assume yes */
#endif
#ifndef HasBsearch
#define HasBsearch		YES	/* assume yes */
#endif
#ifndef HasSaberC
#define HasSaberC		NO	/* for people unclear on the concept */
#endif
#ifndef HasFortran
#define HasFortran		NO
#endif
#ifndef HasNdbm
#define HasNdbm			NO
#endif
#ifndef HasSecureRPC
#define HasSecureRPC		NO	/* if you have Secure RPC */
#endif
#ifndef HasShm
#if SystemV || SystemV4
#define HasShm			YES
#else
#define HasShm			NO
#endif
#endif
#ifndef NeedConstPrototypes
#define NeedConstPrototypes	NO
#endif
#ifndef NeedVarargsPrototypes
#define NeedVarargsPrototypes	NO
#endif
#ifndef NeedNestedPrototypes
#define NeedNestedPrototypes	NO
#endif
#ifndef NeedFunctionPrototypes
#define NeedFunctionPrototypes (NeedVarargsPrototypes || NeedNestedPrototypes)
#endif
#ifndef NeedWidePrototypes
#define NeedWidePrototypes	YES	/* mix and match ANSI-C, non-ANSI */
#endif

#ifndef StripInstalledPrograms
#define StripInstalledPrograms NO	/* leave symbol table just in case */
#endif

#ifndef UsrLibDir
#ifdef ProjectRoot
#define UsrLibDir Concat(ProjectRoot,/lib)
#ifndef AlternateUsrLibDir
#define AlternateUsrLibDir YES
#endif
#else
#define UsrLibDir /usr/lib
#ifndef AlternateUsrLibDir
#define AlternateUsrLibDir NO
#endif
#endif
#else
#ifndef AlternateUsrLibDir
#define AlternateUsrLibDir YES
#endif
#endif
#ifndef IncRoot
#ifdef ProjectRoot
#define IncRoot Concat(ProjectRoot,/include)
#ifndef AlternateIncRoot
#define AlternateIncRoot YES
#endif
#else
#define IncRoot /usr/include
#ifndef AlternateIncRoot
#define AlternateIncRoot NO
#endif
#endif
#else
#ifndef AlternateIncRoot
#define AlternateIncRoot YES
#endif
#endif
#ifndef UNCOMPRESSPATH
#define UNCOMPRESSPATH /usr/ucb/uncompress
#endif
#ifndef OptimizedCDebugFlags
#define OptimizedCDebugFlags -O
#endif
#ifndef DebuggableCDebugFlags
#define DebuggableCDebugFlags -g
#endif
#ifndef NoOpCDebugFlags
#define NoOpCDebugFlags /* as nothing */
#endif
#ifndef DefaultCDebugFlags
#define DefaultCDebugFlags OptimizedCDebugFlags
#endif
#ifndef DefaultCCOptions
#define DefaultCCOptions /* as nothing: this is for floating point, etc. */
#endif
#ifndef InstPgmFlags
#define InstPgmFlags -s
#endif
#ifndef InstBinFlags
#define InstBinFlags -m 0755
#endif
#ifndef InstUidFlags
#define InstUidFlags -m 4755
#endif
#ifndef InstLibFlags
#define InstLibFlags -m 0644
#endif
#ifndef InstIncFlags
#define InstIncFlags -m 0444
#endif
#ifndef InstManFlags
#define InstManFlags -m 0444
#endif
#ifndef InstDatFlags
#define InstDatFlags -m 0444
#endif
#ifndef InstKmemFlags
#define InstKmemFlags InstUidFlags    /* put -g kmem -m 2755 in site.def... */
#endif
#ifndef ArCmd
#if HasLargeTmp | SystemV4
#define ArCmd ar cq	/* do nothing special */
#else
#define ArCmd ar clq	/* use local dir for temp files */
#endif
#endif
#ifndef BootstrapCFlags
#define BootstrapCFlags /**/
#endif
#ifndef HasGcc
#define HasGcc NO
#endif
#ifndef CcCmd
#if HasGcc
#define CcCmd gcc -fstrength-reduce -fpcc-struct-return 
#else
#define CcCmd cc
#endif
#endif
#if HasFortran
#ifndef FortranCmd
#define FortranCmd f77
#endif
#ifndef FortranFlags
#define FortranFlags /**/
#endif
#ifndef FortranDebugFlags
#define FortranDebugFlags /**/		/* for -O or -g */
#endif
#endif
#ifndef AsCmd
#define AsCmd as
#endif
#ifndef CompressCmd
#define CompressCmd compress
#endif
#ifndef CppCmd
#define CppCmd /lib/cpp
#endif
#ifndef PreProcessCmd
#define PreProcessCmd CcCmd -E
#endif
#ifndef InstallCmd
#if SystemV | SystemV4
#ifdef UseInstalled
#define InstallCmd $(BINDIR)/bsdinst		/* hack should be in project */
#else
#define InstallCmd $(SCRIPTSRC)/bsdinst.sh	/* hack should be in project */
#endif
#else
#define InstallCmd install
#endif
#endif
#ifndef LdCmd
#define LdCmd ld
#endif
#ifndef LintCmd
#define LintCmd lint
#endif
#ifndef LintLibFlag
#if SystemV || SystemV4
#define LintLibFlag -o
#else
#define LintLibFlag -C
#endif
#endif
#ifndef LintOpts
#if SystemV || SystemV4
#define LintOpts -ax
#else
#define LintOpts -axz
#endif
#endif
#ifndef CpCmd
#define CpCmd cp
#endif
#ifndef LnCmd
#if SystemV
#define LnCmd ln /* or even cp */
#else
#define LnCmd ln -s
#endif
#endif
#ifndef MakeCmd
#define MakeCmd make
#endif
#ifndef MvCmd
#define MvCmd mv
#endif
#ifndef DoRanlibCmd
#if SystemV || SystemV4
#define DoRanlibCmd 0
#else
#define DoRanlibCmd 1
#endif
#endif
#ifndef RanlibCmd
#define RanlibCmd ranlib
#endif
#ifndef RanlibInstFlags
#define RanlibInstFlags /**/
#endif
#ifndef RmCmd
#define RmCmd rm -f
#endif
#ifndef StandardIncludes
#define StandardIncludes /**/			/* for platform-specifics */
#endif
#ifndef StandardDefines
#if SystemV
#define StandardDefines -DSYSV
#else
#if SystemV4
#define StandardDefines -DSVR4
#else
#define StandardDefines /**/
#endif
#endif
#endif
#ifndef StandardCppDefines
#define StandardCppDefines StandardDefines
#endif
#ifndef Malloc0ReturnsNull
#define Malloc0ReturnsNull NO
#endif
#ifndef NdbmDefines
#if HasNdbm
#define NdbmDefines -DNDBM
#else
#define NdbmDefines /**/
#endif
#endif
#ifndef ExtraLibraries
#if SystemV4
#if HasSockets
#define ExtraLibraries -lsocket -lnsl
#else
#define ExtraLibraries -lnsl
#endif
#else
#define ExtraLibraries /**/
#endif
#endif
#ifndef ExtraLoadFlags
#define ExtraLoadFlags /**/
#endif
#ifndef LdCombineFlags
#if SystemV4
#define LdCombineFlags -r
#else
#define LdCombineFlags -X -r
#endif
#endif
#ifndef TagsCmd
#define TagsCmd ctags
#endif
#ifndef LoaderLibPrefix
#define LoaderLibPrefix /**/			/* cray does -l libX11.a */
#endif
#ifndef DependFlags
#define DependFlags /**/
#endif
#ifndef TroffCmd
#define TroffCmd psroff
#endif
#ifndef MsMacros
#define MsMacros -ms
#endif
#ifndef TblCmd
#define TblCmd tbl
#endif
#ifndef EqnCmd
#define EqnCmd eqn
#endif
#ifndef ExpandManNames
#if SystemV
#define ExpandManNames NO
#else
#define ExpandManNames YES
#endif
#endif
#ifndef TOPDIR
#define TOPDIR .
#endif
#ifndef CURDIR
#define CURDIR .
#endif
#ifndef ExtraFilesToClean
#define ExtraFilesToClean /**/
#endif
#ifndef FilesToClean
#define FilesToClean *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut 
#endif

            SHELL = BourneShell

              TOP = TOPDIR
      CURRENT_DIR = CURDIR

               AR = ArCmd
  BOOTSTRAPCFLAGS = BootstrapCFlags	/* set if cpp does not have uniq sym */
               CC = CcCmd
               AS = AsCmd
#if HasFortran
               FC = FortranCmd
      FDEBUGFLAGS = FortranDebugFlags
          FCFLAGS = FortranFlags $(FDEBUGFLAGS)
#endif
         COMPRESS = CompressCmd
              CPP = CppCmd $(STD_CPP_DEFINES)		/* simple filters */
    PREPROCESSCMD = PreProcessCmd $(STD_CPP_DEFINES)	/* prefered; mdep */
          INSTALL = InstallCmd
               LD = LdCmd
             LINT = LintCmd
      LINTLIBFLAG = LintLibFlag
         LINTOPTS = LintOpts
               LN = LnCmd
             MAKE = MakeCmd
               MV = MvCmd
               CP = CpCmd
#if DoRanlibCmd
           RANLIB = RanlibCmd
  RANLIBINSTFLAGS = RanlibInstFlags
#endif
               RM = RmCmd
            TROFF = TroffCmd
         MSMACROS = MsMacros
              TBL = TblCmd
              EQN = EqnCmd
     STD_INCLUDES = StandardIncludes
  STD_CPP_DEFINES = StandardCppDefines
      STD_DEFINES = StandardDefines
 EXTRA_LOAD_FLAGS = ExtraLoadFlags
  EXTRA_LIBRARIES = ExtraLibraries
             TAGS = TagsCmd
#if ConstructMFLAGS
           MFLAGS = -$(MAKEFLAGS)
#endif
#if HasSharedLibraries
    SHAREDCODEDEF = SharedCodeDef
         SHLIBDEF = SharedLibraryDef
#endif
#if !HasVoidSignalReturn
   SIGNAL_DEFINES = -DSIGNALRETURNSINT
#endif
/*
 * The following supports forcing of function prototypes
 */
#if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes && NeedNestedPrototypes
#define _funcprotodef -DFUNCPROTO=15
#else
#if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedNestedPrototypes
#define _funcprotodef -DFUNCPROTO=11
#else
#if NeedFunctionPrototypes && NeedNestedPrototypes
#define _funcprotodef -DFUNCPROTO=9
#else
#if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes
#define _funcprotodef -DFUNCPROTO=7
#else
#if NeedFunctionPrototypes && NeedConstPrototypes
#define _funcprotodef -DFUNCPROTO=5
#else
#if NeedFunctionPrototypes && NeedVarargsPrototypes
#define _funcprotodef -DFUNCPROTO=3
#else
#if NeedFunctionPrototypes
#define _funcprotodef -DFUNCPROTO
#else
#define _funcprotodef /**/
#endif
#endif
#endif
#endif
#endif
#endif
#endif
#if NeedWidePrototypes
#define _wideprotodef /**/
#else
#define _wideprotodef -DNARROWPROTO
#endif
    PROTO_DEFINES = _funcprotodef _wideprotodef 
#undef _funcprotodef
#undef _wideprotodef

#if StripInstalledPrograms
     INSTPGMFLAGS = InstPgmFlags	/* install flags for stripping */
#else
     INSTPGMFLAGS = 
#endif
     INSTBINFLAGS = InstBinFlags	/* install flags for programs */
     INSTUIDFLAGS = InstUidFlags	/* install flags for setuid programs */
     INSTLIBFLAGS = InstLibFlags	/* install flags for libraries */
     INSTINCFLAGS = InstIncFlags	/* install flags for headers */
     INSTMANFLAGS = InstManFlags	/* install flags for man pages */
     INSTDATFLAGS = InstDatFlags	/* install flags for data files */
    INSTKMEMFLAGS = InstKmemFlags	/* install flags for /dev/kmem progs */

#ifdef ProjectRoot
      PROJECTROOT = ProjectRoot
#endif
#ifdef UseInstalled
#if AlternateIncRoot
     TOP_INCLUDES = -I$(INCROOT)	/* def: for alternative /usr/include */
#endif
#else
     TOP_INCLUDES = -I$(TOP)		/* def: for builds within tree */
#endif
      CDEBUGFLAGS = DefaultCDebugFlags
        CCOPTIONS = DefaultCCOptions	/* to distinguish from param flags */
/*
 * STD_INCLUDES contains system-specific includes
 * TOP_INCLUDES specifies how to get to /usr/include or its build substitute
 * EXTRA_INCLUDES contains project-specific includes set in project incfiles
 * INCLUDES contains client-specific includes set in Imakefile
 * LOCAL_LDFLAGS contains client-specific ld flags flags set in Imakefile
 */
      ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(STD_INCLUDES)
       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(DEFINES)
           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
#if AlternateUsrLibDir && !defined(UseInstalled)
           LDLIBS = -L$(USRLIBDIR) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
#else
           LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
#endif
#if AlternateUsrLibDir && defined(UseInstalled)
        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(LOCAL_LDFLAGS) -L$(USRLIBDIR)
#else
        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(LOCAL_LDFLAGS)
#endif
   LDCOMBINEFLAGS = LdCombineFlags
      DEPENDFLAGS = DependFlags

        MACROFILE = MacroFile
           RM_CMD = $(RM) FilesToClean ExtraFilesToClean

    IMAKE_DEFINES = /* leave blank, for command line use only */
#ifdef UseInstalled
         IRULESRC = $(CONFIGDIR)	/* used in rules file */
        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
#else
         IRULESRC = $(CONFIGSRC)
        IMAKE_CMD = $(NEWTOP)$(IMAKE) -I$(NEWTOP)$(IRULESRC) $(IMAKE_DEFINES)
#endif
     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
			$(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
			$(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)

/*
 * get project-specific configuration and rules
 */

#include <Project.tmpl>

#include <Imake.rules>

XCOMM -------------------------------------------------------------------------
XCOMM start of Imakefile
#include INCLUDE_IMAKEFILE

XCOMM -------------------------------------------------------------------------
XCOMM common rules for all Makefiles - do not edit
/*
 * These need to be here so that rules in Imakefile occur first;  the blank
 * all is to make sure that an empty Imakefile does not default to make clean.
 */
emptyrule::

CleanTarget()

#ifndef IHaveSpecialMakefileTarget
MakefileTarget()
#endif

TagsTarget()
#ifdef MakefileAdditions
MakefileAdditions()
#endif

#if HasSaberC
saber:
	XCOMM load $(ALLDEFINES) $(SRCS)

osaber:
	XCOMM load $(ALLDEFINES) $(OBJS)
#endif


#ifdef IHaveSubdirs
XCOMM -------------------------------------------------------------------------
XCOMM rules for building in SUBDIRS - do not edit

InstallSubdirs($(SUBDIRS))
InstallManSubdirs($(SUBDIRS))
CleanSubdirs($(SUBDIRS))
TagSubdirs($(SUBDIRS))
MakefileSubdirs($(SUBDIRS))
IncludesSubdirs($(SUBDIRS))

#else
XCOMM -------------------------------------------------------------------------
XCOMM empty rules for directories that do not have SUBDIRS - do not edit

install::
	@echo "install in $(CURRENT_DIR) done"

install.man::
	@echo "install.man in $(CURRENT_DIR) done"

Makefiles::

includes::

#endif /* if subdirectory rules are needed */

XCOMM -------------------------------------------------------------------------
XCOMM dependencies generated by makedepend