home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 February / PCWorld_2000-02_cd.bin / live / usr / X11R6 / lib / X11 / config / Imake.tmpl < prev    next >
Text File  |  1999-09-03  |  36KB  |  1,511 lines

  1. XCOMM ----------------------------------------------------------------------
  2. XCOMM Makefile generated from IMAKE_TEMPLATE and INCLUDE_IMAKEFILE
  3. XCOMM $TOG: Imake.tmpl /main/245 1997/05/20 10:05:47 kaleb $
  4. XCOMM
  5. XCOMM
  6. XCOMM
  7. XCOMM
  8. XCOMM $XFree86: xc/config/cf/Imake.tmpl,v 3.32.2.12 1999/01/09 14:18:57 dawes Exp $
  9. XCOMM ----------------------------------------------------------------------
  10.  
  11. /*
  12.  * generic imake template
  13.  */
  14.  
  15. /*
  16.  * Modify Imake.cf when adding a new architecture, do not modify this file.
  17.  * Platform-specific parameters may be set in the appropriate <vendor>.cf
  18.  * configuration files.  Site-specific parameters should be set in the file
  19.  * site.def.  Full rebuilds are recommended if any parameters are changed.
  20.  * If your C preprocessor does not define any unique symbols, you will need
  21.  * to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
  22.  * "make World" the first time).
  23.  */
  24.  
  25. #define ImakeConfigRelease 6
  26.  
  27. #define    YES    1
  28. #define NO    0
  29.  
  30. /* Ensure that "all" is the default target in the Makefile. */
  31. all::
  32.  
  33. .SUFFIXES: .i
  34.  
  35. #include <Imake.cf>
  36.  
  37. XCOMM -----------------------------------------------------------------------
  38. XCOMM site-specific configuration parameters that need to come before
  39. XCOMM the platform-specific parameters - edit site.def to change
  40. #define BeforeVendorCF
  41. #include <site.def>
  42. #undef BeforeVendorCF
  43.  
  44. #if defined(HasGcc2) && !defined(HasGcc)
  45. # define HasGcc HasGcc2
  46. #endif
  47.  
  48. #ifndef HasClearmake
  49. # define HasClearmake NO
  50. #endif
  51.  
  52. /*
  53.  * ClearmakeOSName - insert the current OS type into the clearmake
  54.  * build script, so .o files from different platforms cannot be winked in.
  55.  * If clearmake finds the build script for two .o files is the same, it
  56.  * will share the .o, even across different architectures.  Inserting the
  57.  * O/S name into the build script in a comment prevents unwanted sharing.
  58.  * Note the trailing double-@ in the macro: end a line using this macro
  59.  * with backslash without the double-@ usually used.
  60.  * Like this:
  61.  *
  62.  * #define SomeRule() @@\
  63.  *     something or other @@\
  64.  *     ClearmakeOSName \
  65.  *     something else @@\
  66.  *     and more
  67.  */
  68. #ifndef ClearmakeOSName
  69. # if HasClearmake
  70. #  define ClearmakeOSName @ XCOMM $(OSNAME) @@
  71. # else
  72. #  define ClearmakeOSName /**/
  73. # endif
  74. #endif
  75.  
  76. #if HasClearmake
  77. # ifndef MakeCmd
  78. #  define MakeCmd clearmake
  79. # endif
  80. #endif
  81.  
  82. #if HasClearmake
  83. XCOMM ----------------------------------------------------------------------
  84. .c.o:
  85.     ClearmakeOSName    $(CC) -c $(CFLAGS) $*.c
  86. #endif
  87.  
  88. XCOMM ----------------------------------------------------------------------
  89. XCOMM platform-specific configuration parameters - edit MacroFile to change
  90. #include MacroIncludeFile
  91.  
  92. XCOMM ----------------------------------------------------------------------
  93. XCOMM site-specific configuration parameters that go after
  94. XCOMM the platform-specific parameters - edit site.def to change
  95. #define AfterVendorCF
  96. #include <site.def>
  97. #undef AfterVendorCF
  98.  
  99. /*
  100.  * defaults for various generic parameters; set in site.def if needed
  101.  */
  102.  
  103. /* the following are needed before we can include Imake.rules */
  104.  
  105. #ifndef HasVarDirectory
  106. #define HasVarDirectory        NO
  107. #endif
  108. #ifndef HasSymLinks
  109. #define HasSymLinks        YES
  110. #endif
  111. #ifndef SystemV
  112. #define SystemV            NO    /* SYSV (R3) */
  113. #endif
  114. #ifndef SystemV4
  115. #define SystemV4        NO    /* SVR4 */
  116. #endif
  117. #ifndef HasCodeCenter
  118. #define HasCodeCenter        NO
  119. #endif
  120. #ifndef HasSentinel
  121. #define HasSentinel        NO
  122. #endif
  123. #ifndef HasPurify
  124. #define HasPurify        NO
  125. #endif
  126. #ifndef HasTestCenter
  127. #define HasTestCenter        NO
  128. #endif
  129. #ifndef HasBsdMake
  130. #define HasBsdMake        NO
  131. #endif
  132. #ifndef HasGnuMake
  133. #define HasGnuMake        NO
  134. #endif
  135. #ifndef HasParallelMake
  136. #define HasParallelMake        NO
  137. #endif
  138. #ifndef RemoveTargetProgramByMoving
  139. #define RemoveTargetProgramByMoving NO
  140. #endif
  141. #ifndef DoRanlibCmd
  142. #if SystemV || SystemV4
  143. #define DoRanlibCmd NO
  144. #else
  145. #define DoRanlibCmd YES
  146. #endif
  147. #endif
  148. #ifndef ExecableScripts
  149. #if SystemV
  150. #define ExecableScripts        NO
  151. #else
  152. #define ExecableScripts        YES    /* kernel exec() can handle #! */
  153. #endif
  154. #endif
  155.  
  156. #ifndef HasMakefileSafeInclude        /* -include or sinclude in a Makefile */
  157. #if HasClearmake || HasBsdMake
  158. #define HasMakefileSafeInclude YES
  159. #else
  160. #define HasMakefileSafeInclude NO   /* see also vendor-specific .cf files */
  161. #endif
  162. #endif
  163.  
  164. #include <Imake.rules>
  165.  
  166. #ifndef HasSharedLibraries
  167. #define HasSharedLibraries NO
  168. #endif
  169. #ifndef OSMajorVersion
  170. #define OSMajorVersion          0
  171. #endif
  172. #ifndef OSMinorVersion
  173. #define OSMinorVersion          0
  174. #endif
  175. #ifndef OSTeenyVersion
  176. #define OSTeenyVersion          0
  177. #endif
  178. #ifndef UnalignedReferencesAllowed
  179. #define UnalignedReferencesAllowed NO    /* if arbitrary deref is okay */
  180. #endif
  181. #ifndef AvoidNullMakeCommand
  182. #if !HasBsdMake
  183. #define AvoidNullMakeCommand NO
  184. #else
  185. #define AvoidNullMakeCommand YES
  186. #endif
  187. #endif
  188. #if AvoidNullMakeCommand
  189. #ifndef NullMakeCommand
  190. #define NullMakeCommand        @ echo -n
  191. #endif
  192. /*
  193.  * An obscure bug in BSD4.3's original make causes it not to recognize a
  194.  * macro definition if the macro name starts with a non-alpha and in
  195.  * column one.
  196.  */
  197.  _NULLCMD_ = NullMakeCommand
  198. #endif
  199.  
  200. #ifndef CrossCompiling
  201. #define CrossCompiling        NO
  202. #endif
  203. #ifndef BourneShell            /* to force shell in makefile */
  204. #define BourneShell        /bin/sh
  205. #endif
  206. #ifndef ConstructMFLAGS
  207. #if SystemV
  208. #define ConstructMFLAGS        YES    /* build MFLAGS from MAKEFLAGS */
  209. #else
  210. #define ConstructMFLAGS        NO    /* build MFLAGS from MAKEFLAGS */
  211. #endif
  212. #endif
  213.  
  214. #ifndef ConstructMAKEFLAGS        /* needed on old BSD-based? */
  215. #define ConstructMAKEFLAGS    NO    /* build MAKEFLAGS from MFLAGS */
  216. #endif
  217.  
  218. #ifndef HasLargeTmp
  219. #define HasLargeTmp        NO    /* be paranoid */
  220. #endif
  221.  
  222. #ifndef HasBSD44Sockets
  223. #define HasBSD44Sockets        NO
  224. #endif
  225. #ifndef HasSockets
  226. #define HasSockets        YES
  227. #endif
  228. #ifndef HasStreams
  229. #define HasStreams        !HasSockets
  230. #endif
  231. #ifndef HasDECnet
  232. #define HasDECnet        NO
  233. #endif
  234. #ifndef HasPoll
  235. #if SystemV || SystemV4
  236. #define HasPoll            YES
  237. #else
  238. #define HasPoll            NO
  239. #endif
  240. #endif
  241. #ifndef HasVFork
  242. #if SystemV
  243. #define HasVFork        NO    /* not yet... */
  244. #else
  245. #define HasVFork        YES
  246. #endif
  247. #endif
  248. #ifndef HasSetUserContext
  249. #define HasSetUserContext    NO
  250. #endif
  251. #ifndef HasLibCrypt
  252. #define HasLibCrypt        NO
  253. #endif
  254. #ifndef HasPutenv
  255. #define HasPutenv        NO    /* assume not */
  256. #endif
  257. #ifndef HasVoidSignalReturn
  258. #define HasVoidSignalReturn    YES    /* assume yes */
  259. #endif
  260. #ifndef HasBsearch
  261. #define HasBsearch        YES    /* assume yes */
  262. #endif
  263. #ifndef HasSnprintf
  264. #define HasSnprintf        NO    /* assume not */
  265. #endif
  266. #ifndef HasMkstemp
  267. #define HasMkstemp        NO    /* assume not */
  268. #endif
  269. #ifndef HasFortran
  270. #define HasFortran        NO
  271. #endif
  272. #ifndef HasCplusplus
  273. #if HasGcc2ForCplusplus
  274. #define HasCplusplus        YES
  275. #else
  276. #define HasCplusplus        NO
  277. #endif
  278. #endif
  279. #ifndef HasNdbm
  280. #define HasNdbm            NO
  281. #endif
  282. #ifndef HasSecureRPC
  283. #define HasSecureRPC        NO    /* if you have Secure RPC */
  284. #endif
  285. #ifndef HasKrb5
  286. #define HasKrb5            NO      /* if you have Kerberos V5 */
  287. #endif
  288. #ifndef HasLatex
  289. #define HasLatex        YES
  290. #endif
  291. #ifndef HasShm
  292. #if SystemV || SystemV4
  293. #define HasShm            YES
  294. #else
  295. #define HasShm            NO
  296. #endif
  297. #endif
  298. #ifndef HasCbrt
  299. #define HasCbrt            YES
  300. #endif
  301. #ifndef HasFfs
  302. #define HasFfs            YES
  303. #endif
  304. #ifndef HasZlib
  305. #define HasZlib            NO
  306. #endif
  307. #if !HasZlib        /* if OS doesn't have it, we'll build it */
  308. #undef GzipLibrary    /* GzipLibrary was valid only if HasZlib */
  309. #endif
  310. #ifndef GzipLibrary    /* if OS config didn't define it, assume it's -lz */
  311. #define GzipLibrary -lz
  312. #endif
  313. #if HasKrb5
  314. #ifndef Krb5Includes
  315. #define Krb5Includes -I/krb5/include
  316. #endif
  317. #ifndef Krb5Libraries
  318. #define Krb5Libraries -L/krb5/lib -L/usr/isode/lib -lkrb5 -lcrypto -lisode -lcom_err -ldbm
  319. #endif
  320. #else
  321. #undef Krb5Includes
  322. #define Krb5Includes /**/
  323. #undef Krb5Libraries
  324. #define Krb5Libraries /**/
  325. #endif
  326. #ifndef UseGnuMalloc
  327. #define UseGnuMalloc        NO
  328. #endif
  329. #ifndef GnuMallocLibrary
  330. #define GnuMallocLibrary -lgmalloc
  331. #endif
  332. #ifndef MallocLibraries
  333. #if UseGnuMalloc
  334. #define MallocLibraries    GnuMallocLibrary
  335. #else
  336. #define MallocLibraries    /**/
  337. #endif
  338. #endif
  339. #ifndef HasTk
  340. #define HasTk NO
  341. #endif
  342. #ifndef TkLibName
  343. #if HasTk
  344. #define TkLibName tk
  345. #else
  346. #define TkLibName
  347. #endif
  348. #endif
  349. TKLIBNAME = TkLibName
  350. #ifndef TkLibDir
  351. #if HasTk
  352. #define TkLibDir /usr/local/lib
  353. #else
  354. #define TkLibDir
  355. #endif
  356. #endif
  357. TKLIBDIR = TkLibDir
  358. #ifndef TkIncDir
  359. #if HasTk
  360. #define TkIncDir /usr/local/include
  361. #else
  362. #define TkIncDir
  363. #endif
  364. #endif
  365. #ifndef TkLibrary
  366. #ifdef HasTk
  367. #define TkLibrary Concat(-L,$(TKLIBDIR)) Concat(-l,$(TKLIBNAME))
  368. #else
  369. #define TkLibrary
  370. #endif
  371. #endif
  372. #ifndef HasTcl
  373. #define HasTcl NO
  374. #endif
  375. #ifndef TclLibName
  376. #if HasTcl
  377. #define TclLibName tcl
  378. #else
  379. #define TclLibName
  380. #endif
  381. #endif
  382. TCLLIBNAME = TclLibName
  383. #ifndef TclLibDir
  384. #if HasTcl
  385. #define TclLibDir /usr/local/lib
  386. #else
  387. #define TclLibDir
  388. #endif
  389. #endif
  390. TCLIBDIR = TclLibDir
  391. #ifndef TclIncDir
  392. #if HasTcl
  393. #define TclIncDir /usr/local/include
  394. #else
  395. #define TclIncDir
  396. #endif
  397. #endif
  398. #ifndef TclLibrary
  399. #ifdef HasTcl
  400. #define TclLibrary Concat(-L,$(TCLLIBDIR)) Concat(-l,$(TCLLIBNAME))
  401. #else
  402. #define TclLibrary
  403. #endif
  404. #endif
  405. /* Japanese version of Tk anc Tcl */
  406. #ifndef HasJpTk
  407. #define HasJpTk NO
  408. #endif
  409. #ifndef JpTkLibName
  410. #if HasJpTk
  411. #define JpTkLibName tkjp
  412. #else
  413. #define JpTkLibName
  414. #endif
  415. #endif
  416. JPTKLIBNAME = JpTkLibName
  417. #ifndef JpTkLibDir
  418. #if HasJpTk
  419. #define JpTkLibDir /usr/local/lib
  420. #else
  421. #define JpTkLibDir
  422. #endif
  423. #endif
  424. JPTKLIBDIR = JpTkLibDir
  425. #ifndef JpTkIncDir
  426. #if HasJpTk
  427. #define JpTkIncDir /usr/local/include/jp
  428. #else
  429. #define JpTkIncDir
  430. #endif
  431. #endif
  432. #ifndef JpTkLibrary
  433. #ifdef HasJpTk
  434. #define JpTkLibrary Concat(-L,$(JPTKLIBDIR)) Concat(-l,$(JPTKLIBNAME))
  435. #else
  436. #define JpTkLibrary
  437. #endif
  438. #endif
  439. #ifndef HasJpTcl
  440. #define HasJpTcl NO
  441. #endif
  442. #ifndef JpTclLibName
  443. #if HasJpTcl
  444. #define JpTclLibName tcljp
  445. #else
  446. #define JpTclLibName
  447. #endif
  448. #endif
  449. JPTCLLIBNAME = JpTclLibName
  450. #ifndef JpTclLibDir
  451. #if HasJpTcl
  452. #define JpTclLibDir /usr/local/lib
  453. #else
  454. #define JpTclLibDir
  455. #endif
  456. #endif
  457. JPTCLIBDIR = JpTclLibDir
  458. #ifndef JpTclIncDir
  459. #if HasJpTcl
  460. #define JpTclIncDir /usr/local/include/jp
  461. #else
  462. #define JpTclIncDir
  463. #endif
  464. #endif
  465. #ifndef JpTclLibrary
  466. #ifdef HasJpTcl
  467. #define JpTclLibrary Concat(-L,$(JPTCLLIBDIR)) Concat(-l,$(JPTCLLIBNAME))
  468. #else
  469. #define JpTclLibrary
  470. #endif
  471. #endif
  472. #ifndef NeedConstPrototypes
  473. #define NeedConstPrototypes    NO
  474. #endif
  475. #ifndef NeedVarargsPrototypes
  476. #define NeedVarargsPrototypes    NO
  477. #endif
  478. #ifndef NeedNestedPrototypes
  479. #define NeedNestedPrototypes    NO
  480. #endif
  481. #ifndef NeedFunctionPrototypes
  482. #define NeedFunctionPrototypes (NeedVarargsPrototypes || NeedNestedPrototypes)
  483. #endif
  484. #ifndef NeedWidePrototypes
  485. #define NeedWidePrototypes    YES    /* mix and match ANSI-C, non-ANSI */
  486. #endif
  487.  
  488. #ifndef StripInstalledPrograms
  489. #define StripInstalledPrograms NO    /* leave symbol table just in case */
  490. #endif
  491. #ifndef UseCCMakeDepend            /* use slow cc -E script */
  492. #define UseCCMakeDepend NO
  493. #endif
  494. #ifndef UseGccMakeDepend        /* use slowish but correct gcc -M */
  495. #define UseGccMakeDepend NO
  496. #endif
  497.  
  498. /* DefaultUsrBin is independent of ProjectRoot.
  499.    This is a directory where programs will be found even if PATH
  500.    is not set, for example when coming in remotely via rsh. */
  501. #ifndef DefaultUsrBin
  502. #define    DefaultUsrBin /usr/bin
  503. #endif
  504.  
  505. #ifndef UsrLibDir
  506. #ifdef ProjectRoot
  507. #define UsrLibDir Concat(ProjectRoot,/lib)
  508. #ifndef AlternateUsrLibDir
  509. #define AlternateUsrLibDir YES
  510. #endif
  511. #else
  512. #define UsrLibDir /usr/lib
  513. #ifndef AlternateUsrLibDir
  514. #define AlternateUsrLibDir NO
  515. #endif
  516. #endif
  517. #else
  518. #ifndef AlternateUsrLibDir
  519. #define AlternateUsrLibDir YES
  520. #endif
  521. #endif
  522. #ifndef VarLibDir
  523. #ifdef ProjectVar
  524. #define VarLibDir Concat(ProjectVar,/lib)
  525. #else
  526. #define VarLibDir /var/lib
  527. #endif
  528. #endif
  529.  
  530. #ifndef ShLibDir
  531. #define ShLibDir UsrLibDir
  532. #endif
  533. #ifndef IncRoot
  534. #ifdef ProjectRoot
  535. #define IncRoot Concat(ProjectRoot,/include)
  536. #ifndef AlternateIncRoot
  537. #define AlternateIncRoot YES
  538. #endif
  539. #else
  540. #define IncRoot /usr/include
  541. #ifndef AlternateIncRoot
  542. #define AlternateIncRoot NO
  543. #endif
  544. #endif
  545. #else
  546. #ifndef AlternateIncRoot
  547. #define AlternateIncRoot YES
  548. #endif
  549. #endif
  550. #ifndef LintlibDir
  551. #define LintlibDir $(USRLIBDIR)/lint
  552. #endif
  553. #ifndef SystemManDirectory
  554. #if SystemV4
  555. #define SystemManDirectory /usr/share/man
  556. #else
  557. #define SystemManDirectory /usr/man
  558. #endif
  559. #endif
  560. #ifndef ManDirectoryRoot
  561. #ifdef ProjectRoot
  562. #define ManDirectoryRoot Concat(ProjectRoot,/man)
  563. #else
  564. #define ManDirectoryRoot SystemManDirectory
  565. #endif
  566. #endif
  567. #ifndef ManPath
  568. #define ManPath ManDirectoryRoot
  569. #endif
  570. #ifndef ManSourcePath
  571. #define ManSourcePath $(MANPATH)/man
  572. #endif
  573. #ifndef ManDir
  574. #define ManDir $(MANSOURCEPATH)$(MANSUFFIX)
  575. #endif
  576. #ifndef LibmanDir
  577. #define LibmanDir $(MANSOURCEPATH)$(LIBMANSUFFIX)
  578. #endif
  579. #ifndef FileManDir
  580. #define FileManDir $(MANSOURCEPATH)$(FILEMANSUFFIX)
  581. #endif
  582. #ifndef ConfigSrc
  583. #define ConfigSrc $(TOP)/config
  584. #endif
  585. #ifndef DependDir
  586. #if UseCCMakeDepend || UseGccMakeDepend
  587. #define DependDir $(CONFIGSRC)/util
  588. #else
  589. #define DependDir $(CONFIGSRC)/makedepend
  590. #endif
  591. #endif
  592. #ifndef UNCOMPRESSPATH
  593. #define UNCOMPRESSPATH /usr/ucb/uncompress
  594. #endif
  595. #ifndef OptimizedCDebugFlags
  596. #define OptimizedCDebugFlags -O
  597. #endif
  598. #ifndef OptimizedCplusplusDebugFlags
  599. #define OptimizedCplusplusDebugFlags OptimizedCDebugFlags
  600. #endif
  601. #ifndef DebuggableCDebugFlags
  602. #define DebuggableCDebugFlags -g
  603. #endif
  604. #ifndef DebuggableCplusplusDebugFlags
  605. #define DebuggableCplusplusDebugFlags DebuggableCDebugFlags
  606. #endif
  607. #ifndef ProfiledCDebugFlags
  608. #define ProfiledCDebugFlags -pg
  609. #endif
  610. #ifndef ProfiledCplusplusDebugFlags
  611. #define ProfiledCplusplusDebugFlags ProfiledCDebugFlags
  612. #endif
  613. #ifndef NoOpCDebugFlags
  614. #define NoOpCDebugFlags /**/
  615. #endif
  616. #ifndef DefaultCDebugFlags
  617. #define DefaultCDebugFlags OptimizedCDebugFlags
  618. #endif
  619. #ifndef DefaultCplusplusDebugFlags
  620. #define DefaultCplusplusDebugFlags OptimizedCplusplusDebugFlags
  621. #endif
  622. #ifndef DefaultCCOptions
  623. #define DefaultCCOptions /* floating point, etc. */
  624. #endif
  625. #ifndef DefaultCplusplusOptions
  626. #define DefaultCplusplusOptions /* floating point, etc. */
  627. #endif
  628. #ifndef NoRConst
  629. #define NoRConst NO /* YES if const for structs of funcs is bad */
  630. #endif
  631. #ifndef InstPgmFlags
  632. #define InstPgmFlags -s
  633. #endif
  634. #ifndef InstBinFlags
  635. #define InstBinFlags -m 0755
  636. #endif
  637. #ifndef InstUidFlags
  638. #define InstUidFlags -m 4711
  639. #endif
  640. #ifndef InstLibFlags
  641. #define InstLibFlags -m 0644
  642. #endif
  643. #ifndef InstIncFlags
  644. #define InstIncFlags -m 0444
  645. #endif
  646. #ifndef InstManFlags
  647. #define InstManFlags -m 0444
  648. #endif
  649. #ifndef InstDatFlags
  650. #define InstDatFlags -m 0444
  651. #endif
  652. #ifndef InstKmemFlags     /* put -g kmem -m 2711 in site.def... */
  653. #define InstKmemFlags InstUidFlags
  654. #endif
  655. #ifndef HasStickyDirBit
  656. #define HasStickyDirBit    YES
  657. #endif
  658. #ifndef ParallelMakeFlags
  659. #define ParallelMakeFlags /**/
  660. #endif
  661. #ifndef ArCmdBase
  662. #define ArCmdBase ar
  663. #endif
  664. #ifndef ArCmd
  665. #if HasLargeTmp || SystemV4
  666. #define ArCmd ArCmdBase cq
  667. #else
  668. #define ArCmd ArCmdBase clq
  669. #endif
  670. #endif
  671. #ifndef ArAddCmd
  672. #if HasLargeTmp || SystemV4
  673. #define ArAddCmd ArCmdBase ru
  674. #else
  675. #define ArAddCmd ArCmdBase rul
  676. #endif
  677. #endif
  678. #ifndef ArExtCmd
  679. #if HasLargeTmp || SystemV4
  680. #define ArExtCmd ArCmdBase x
  681. #else
  682. #define ArExtCmd ArCmdBase xl
  683. #endif
  684. #endif
  685. #ifndef BootstrapCFlags
  686. #define BootstrapCFlags /**/
  687. #endif
  688. #ifndef HasGcc2
  689. #define HasGcc2 NO
  690. #endif
  691. #ifndef HasGcc
  692. #define HasGcc HasGcc2
  693. #endif
  694. #ifndef HasGcc2ForCplusplus
  695. #define HasGcc2ForCplusplus NO
  696. #endif
  697. #ifndef HasCenterLineC
  698. #define HasCenterLineC NO
  699. #endif
  700. #ifndef HasCenterLineCplusplus
  701. #define HasCenterLineCplusplus NO
  702. #endif
  703. #ifndef CcCmd
  704. #if HasGcc2
  705. #define CcCmd gcc -fpcc-struct-return 
  706. #else
  707. #if HasGcc
  708. #define CcCmd gcc -fstrength-reduce -fpcc-struct-return 
  709. #else
  710. #if HasCenterLineC
  711. #define CcCmd clcc
  712. #else
  713. #define CcCmd cc
  714. #endif
  715. #endif
  716. #endif
  717. #endif
  718. #ifndef CplusplusCmd
  719. #if HasGcc2ForCplusplus
  720. #define CplusplusCmd g++
  721. #else
  722. #define CplusplusCmd CC
  723. #endif
  724. #endif
  725. #ifndef CplusplusFilt
  726. # define CplusplusFilt    c++filt
  727. #endif
  728. #ifndef CplusplusLibC
  729. #define CplusplusLibC /**/
  730. #endif
  731. #ifndef CplusplusStandardDefines
  732. #define CplusplusStandardDefines StandardDefines
  733. #endif
  734. #ifndef CplusplusExtraDefines
  735. #define CplusplusExtraDefines /**/
  736. #endif
  737. #ifndef CplusplusExtraIncludes
  738. #define CplusplusExtraIncludes /**/
  739. #endif
  740. #ifndef CplusplusDependIncludes
  741. #define CplusplusDependIncludes /**/
  742. #endif
  743. #ifndef CplusplusOptions
  744. #define CplusplusOptions /**/
  745. #endif
  746. #ifndef CplusplusSpecialOptions
  747. #define CplusplusSpecialOptions /**/
  748. #endif
  749. #if HasFortran
  750. #ifndef FortranCmd
  751. #define FortranCmd f77
  752. #endif
  753. #ifndef FortranFlags
  754. #define FortranFlags /**/
  755. #endif
  756. #ifndef FortranDebugFlags    /* for -O or -g */
  757. #define FortranDebugFlags /**/
  758. #endif
  759. #endif
  760. #ifndef AsCmd
  761. #define AsCmd as
  762. #endif
  763. #ifndef CompressCmd
  764. #define CompressCmd compress
  765. #endif
  766. #ifndef GzipCmd
  767. #define GzipCmd gzip
  768. #endif
  769. #ifndef CppCmd
  770. #define CppCmd /lib/cpp
  771. #endif
  772. #ifndef CppNoLineInfoOption
  773. #define CppNoLineInfoOption /**/
  774. #endif
  775. #ifndef PreProcessCmd
  776. #define PreProcessCmd CcCmd -E
  777. #endif
  778. #ifndef InstallCmd        /* hack should be in project */
  779. #if SystemV || SystemV4
  780. #ifdef UseInstalled        /* assume BINDIR in path */
  781. #define InstallCmd bsdinst
  782. #else
  783. #define InstallCmd $(SHELL) $(CONFIGSRC)/util/bsdinst.sh
  784. #endif
  785. #else
  786. #define InstallCmd install
  787. #endif
  788. #endif
  789. #ifndef InstallFlags
  790. #define InstallFlags -c
  791. #endif
  792. #ifndef LdCmd
  793. #define LdCmd ld
  794. #endif
  795. #ifndef LexCmd
  796. #define LexCmd lex
  797. #endif
  798. #ifndef LexLib
  799. #define LexLib -ll
  800. #endif
  801. #ifndef YaccCmd
  802. #define YaccCmd yacc
  803. #endif
  804. #ifndef CplusplusYaccCmd
  805. #define CplusplusYaccCmd YaccCmd
  806. #endif
  807. #ifndef LintCmd
  808. #define LintCmd lint
  809. #endif
  810. #ifndef LintLibFlag
  811. #if SystemV || SystemV4
  812. #define LintLibFlag -o
  813. #else
  814. #define LintLibFlag -C
  815. #endif
  816. #endif
  817. #ifndef LintOpts
  818. #if SystemV || SystemV4
  819. #define LintOpts -bh
  820. #else
  821. #define LintOpts -axz
  822. #endif
  823. #endif
  824. #ifndef CpCmd
  825. #define CpCmd cp
  826. #endif
  827. #ifndef LnCmd /* can use cp instead of ln if necessary */
  828. #if HasSymLinks
  829. #define LnCmd ln -s
  830. #else
  831. #define LnCmd ln
  832. #endif
  833. #endif
  834. #ifndef MakeCmd
  835. #define MakeCmd make
  836. #endif
  837. #ifndef MvCmd
  838. #define MvCmd mv -f
  839. #endif
  840. #ifndef RanlibCmd
  841. #define RanlibCmd ranlib
  842. #endif
  843. #ifndef RanlibInstFlags
  844. #define RanlibInstFlags /**/
  845. #endif
  846. #ifndef RmCmd
  847. #define RmCmd rm -f
  848. #endif
  849. #ifndef StandardIncludes    /* for platform-specifics */
  850. #define StandardIncludes /**/
  851. #endif
  852. #ifndef StandardDefines
  853. #if SystemV
  854. #define StandardDefines -DSYSV
  855. #else
  856. #if SystemV4
  857. #define StandardDefines -DSVR4
  858. #else
  859. #define StandardDefines /**/
  860. #endif
  861. #endif
  862. #endif
  863. #ifndef StandardCppDefines
  864. #define StandardCppDefines StandardDefines
  865. #endif
  866. #ifndef Malloc0ReturnsNull
  867. #if UseGnuMalloc
  868. #define Malloc0ReturnsNull YES
  869. #else
  870. #define Malloc0ReturnsNull NO
  871. #endif
  872. #endif
  873. #if Malloc0ReturnsNull
  874. #ifndef Malloc0ReturnsNullDefines
  875. #define Malloc0ReturnsNullDefines -DMALLOC_0_RETURNS_NULL
  876. #endif
  877. #endif
  878. #ifndef ToolkitStringsABIOptions
  879. #define ToolkitStringsABIOptions /**/
  880. #endif
  881. #ifndef NdbmDefines
  882. #if HasNdbm
  883. #define NdbmDefines -DNDBM
  884. #else
  885. #define NdbmDefines /**/
  886. #endif
  887. #endif
  888. #ifndef LdPreLib
  889. #if !defined(UseInstalled)
  890. #define LdPreLib -L$(BUILDLIBDIR)
  891. #else
  892. #if AlternateUsrLibDir
  893. #define LdPreLib -L$(USRLIBDIR)
  894. #else
  895. #define LdPreLib /**/
  896. #endif
  897. #endif
  898. #endif
  899. #ifndef LdPostLib
  900. #if !defined(UseInstalled) && AlternateUsrLibDir && !HasLdRunPath
  901. #define LdPostLib -L$(USRLIBDIR)
  902. #else
  903. #define LdPostLib /**/
  904. #endif
  905. #endif
  906. #ifndef MathLibrary
  907. #define MathLibrary -lm
  908. #endif
  909. #ifndef DBMLibrary
  910. #define DBMLibrary -ldbm
  911. #endif
  912. #ifndef DlLibrary
  913. #define DlLibrary -ldl
  914. #endif
  915. #ifndef ExtraLibraries
  916. #if SystemV4
  917. #if HasSockets
  918. #define ExtraLibraries -lsocket -lnsl -lw
  919. #else
  920. #define ExtraLibraries -lnsl -lw
  921. #endif
  922. #else
  923. #define ExtraLibraries /**/
  924. #endif
  925. #endif
  926. #ifndef ExtraLoadOptions
  927. #define ExtraLoadOptions /**/
  928. #endif
  929. #ifndef ExtraLoadFlags
  930. #define ExtraLoadFlags /**/
  931. #endif
  932. #ifndef LdCombineFlags
  933. #if SystemV4
  934. #define LdCombineFlags -r
  935. #else
  936. #define LdCombineFlags -X -r
  937. #endif
  938. #endif
  939. #ifndef LdStripFlags
  940. #define LdStripFlags -x
  941. #endif
  942. #ifndef TagsCmd
  943. #define TagsCmd ctags
  944. #endif
  945. #ifndef LoaderLibPrefix
  946. #define LoaderLibPrefix /**/
  947. #endif
  948. #ifndef ImakeCmd
  949. #ifdef UseInstalled        /* assume BINDIR in path */
  950. #define ImakeCmd imake
  951. #else
  952. #define ImakeCmd $(IMAKESRC)/imake
  953. #endif
  954. #endif
  955. #ifndef DependCmd
  956. #if UseGccMakeDepend
  957. #ifdef UseInstalled        /* assume BINDIR in path */
  958. #define DependCmd gccmakedep
  959. #else
  960. #define DependCmd $(DEPENDSRC)/gccmakedep
  961. #endif
  962. #else
  963. #ifdef UseInstalled        /* assume BINDIR in path */
  964. #define DependCmd makedepend
  965. #else
  966. #define DependCmd $(DEPENDSRC)/makedepend
  967. #endif
  968. #endif
  969. #endif
  970. #ifndef DependFlags
  971. #define DependFlags /**/
  972. #endif
  973. #ifndef DependFileName
  974. #if !HasBsdMake
  975. #define DependFileName Makefile.dep
  976. #else
  977. #define DependFileName .depend
  978. #endif
  979. #endif
  980. #ifndef ExportListCmd
  981. # ifndef ExportListGenSource
  982. #  define ExportListCmd        /**/
  983. # elif !defined(UseInstalled)
  984. #  define ExportListCmd        $(CONFIGSRC)/util/exportlistgen
  985. # else
  986. #  define ExportListCmd        exportlistgen
  987. # endif
  988. #endif
  989. #ifndef MkdirHierCmd
  990. #ifdef UseInstalled        /* assume BINDIR in path */
  991. #define MkdirHierCmd mkdirhier
  992. #else
  993. #define MkdirHierCmd $(SHELL) $(CONFIGSRC)/util/mkdirhier.sh
  994. #endif
  995. #endif
  996. #ifndef TroffCmd
  997. #define TroffCmd groff -Tps
  998. #endif
  999. #ifndef NroffCmd
  1000. #define NroffCmd nroff
  1001. #endif
  1002. #ifndef MsMacros
  1003. #define MsMacros -ms
  1004. #endif
  1005. #ifndef ManMacros
  1006. #define ManMacros -man
  1007. #endif
  1008. #ifndef TblCmd
  1009. #define TblCmd tbl
  1010. #endif
  1011. #ifndef EqnCmd
  1012. #define EqnCmd eqn
  1013. #endif
  1014. #ifndef NeqnCmd
  1015. #define NeqnCmd neqn
  1016. #endif
  1017. #ifndef ColCmd
  1018. #define ColCmd col
  1019. #endif
  1020. #ifndef ColFlags
  1021. #define ColFlags -b
  1022. #endif
  1023. #ifndef DvipsCmd
  1024. #define DvipsCmd dvips
  1025. #endif
  1026. #ifndef LatexCmd
  1027. #define LatexCmd latex
  1028. #endif
  1029. #if HasSentinel
  1030. #ifndef SentinelCmd
  1031. #define SentinelCmd sentinel
  1032. #endif
  1033. #ifndef SentinelOptions
  1034. #define SentinelOptions /**/
  1035. #endif
  1036. #endif
  1037. #if HasPurify
  1038. #ifndef PurifyCmd
  1039. #define PurifyCmd purify
  1040. #endif
  1041. #ifndef PurifyOptions
  1042. #define PurifyOptions /**/
  1043. #endif
  1044. #endif
  1045. #if HasTestCenter
  1046. #ifndef ProofCmd
  1047. #define ProofCmd proof
  1048. #endif
  1049. #ifndef ProofOptions
  1050. #define ProofOptions /**/
  1051. #endif
  1052. #endif
  1053. #ifndef PathSeparator
  1054. #define PathSeparator /
  1055. #endif
  1056. #ifndef Osuf
  1057. #define Osuf o
  1058. #endif
  1059. #ifndef CCsuf
  1060. #define CCsuf cc
  1061. #endif
  1062. #ifndef SHsuf
  1063. #define SHsuf sh
  1064. #endif
  1065. #ifndef ManSuffix
  1066. #define ManSuffix    n        /* use just one tab or cpp will die */
  1067. #endif
  1068. #ifndef LibManSuffix
  1069. #define LibManSuffix    3        /* use just one tab or cpp will die */
  1070. #endif
  1071. #ifndef FileManSuffix
  1072. #if SystemV || SystemV4 || defined(OSF1Architecture)
  1073. #define FileManSuffix    4        /* use just one tab or cpp will die */
  1074. #else
  1075. #define FileManSuffix    5        /* use just one tab or cpp will die */
  1076. #endif
  1077. #endif
  1078. #ifndef ExpandManNames
  1079. #if SystemV
  1080. #define ExpandManNames NO
  1081. #else
  1082. #define ExpandManNames YES
  1083. #endif
  1084. #endif
  1085. #ifndef TOPDIR
  1086. #define TOPDIR .
  1087. #endif
  1088. #ifndef CURDIR
  1089. #define CURDIR .
  1090. #endif
  1091. #ifndef SiteIConfigFiles
  1092. #define SiteIConfigFiles /**/
  1093. #endif
  1094. #ifndef OtherIConfigFiles
  1095. #define OtherIConfigFiles /**/
  1096. #endif
  1097. #ifndef ExtraFilesToClean
  1098. #define ExtraFilesToClean /**/
  1099. #endif
  1100. #ifndef FilesToClean
  1101. #define FilesToClean *.CKP *.ln *.BAK *.bak *.Osuf core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut 
  1102. #endif
  1103.  
  1104.           PATHSEP = PathSeparator
  1105.             SHELL = BourneShell
  1106.  
  1107.               TOP = TOPDIR
  1108.       CURRENT_DIR = CURDIR
  1109.  
  1110.             IMAKE = ImakeCmd
  1111.            DEPEND = DependCmd
  1112.         MKDIRHIER = MkdirHierCmd
  1113.     EXPORTLISTGEN = ExportListCmd
  1114.         CONFIGSRC = ConfigSrc
  1115.          IMAKESRC = $(CONFIGSRC)/imake
  1116.         DEPENDSRC = DependDir
  1117.  
  1118.           INCROOT = IncRoot        /* base of where to put header files */
  1119.         USRLIBDIR = UsrLibDir        /* nonshared libraries */
  1120.         VARLIBDIR = VarLibDir        /* xdm runtime files */
  1121.          SHLIBDIR = ShLibDir            /* shared libraries */
  1122.        LINTLIBDIR = LintlibDir        /* lint libraries */
  1123.           MANPATH = ManPath        /* top of manual page tree */
  1124.     MANSOURCEPATH = ManSourcePath    /* prefix for man page sources */
  1125.            MANDIR = ManDir        /* man pages for commands */
  1126.         LIBMANDIR = LibmanDir        /* man pages for library routines */
  1127.        FILEMANDIR = FileManDir        /* man pages for config files */
  1128.  
  1129.                AR = ArCmd
  1130.   BOOTSTRAPCFLAGS = BootstrapCFlags    /* set if cpp does not have uniq sym */
  1131.                CC = CcCmd
  1132.                AS = AsCmd
  1133. #if HasFortran
  1134.                FC = FortranCmd
  1135.       FDEBUGFLAGS = FortranDebugFlags
  1136.           FCFLAGS = FortranFlags $(FDEBUGFLAGS)
  1137. #endif
  1138. #if HasCplusplus
  1139.  
  1140. .SUFFIXES: .CCsuf
  1141.  
  1142.               CXX = CplusplusCmd
  1143.           CXXFILT = CplusplusFilt
  1144.            CXXLIB = CplusplusLibC
  1145.     CXXDEBUGFLAGS = DefaultCplusplusDebugFlags
  1146. CXXDEPENDINCLUDES = CplusplusDependIncludes
  1147.  CXXEXTRA_DEFINES = CplusplusExtraDefines
  1148. CXXEXTRA_INCLUDES = CplusplusExtraIncludes
  1149.    CXXSTD_DEFINES = CplusplusStandardDefines $(CXXPROJECT_DEFINES)
  1150.        CXXOPTIONS = CplusplusOptions
  1151.       CXXINCLUDES = $(INCLUDES) $(TOP_INCLUDES) $(CXXEXTRA_INCLUDES) 
  1152.        CXXDEFINES = $(CXXINCLUDES) $(CXXSTD_DEFINES) $(THREADS_CXXDEFINES) $(CXXEXTRA_DEFINES) $(DEFINES)
  1153.          CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES)
  1154. #endif
  1155.          COMPRESS = CompressCmd
  1156.           GZIPCMD = GzipCmd
  1157.               CPP = CppCmd $(STD_CPP_DEFINES)        /* simple filters */
  1158.     PREPROCESSCMD = PreProcessCmd $(STD_CPP_DEFINES)    /* prefered; mdep */
  1159.           INSTALL = InstallCmd
  1160.      INSTALLFLAGS = InstallFlags
  1161.                LD = LdCmd
  1162.               LEX = LexCmd
  1163.            LEXLIB = LexLib
  1164.              YACC = YaccCmd
  1165.            CCYACC = CplusplusYaccCmd
  1166.              LINT = LintCmd
  1167.       LINTLIBFLAG = LintLibFlag
  1168.          LINTOPTS = LintOpts
  1169.                LN = LnCmd
  1170.              MAKE = MakeCmd
  1171.                MV = MvCmd
  1172.                CP = CpCmd
  1173. #if DoRanlibCmd
  1174.            RANLIB = RanlibCmd
  1175.   RANLIBINSTFLAGS = RanlibInstFlags
  1176. #endif
  1177.                RM = RmCmd
  1178.         MANSUFFIX = ManSuffix        /* suffix for command man pages */
  1179.      LIBMANSUFFIX = LibManSuffix    /* suffix for library man pages */
  1180.     FILEMANSUFFIX = FileManSuffix    /* suffix for config file man pages */
  1181.             TROFF = TroffCmd
  1182.             NROFF = NroffCmd
  1183.          MSMACROS = MsMacros
  1184.         MANMACROS = ManMacros
  1185.               TBL = TblCmd
  1186.               EQN = EqnCmd
  1187.              NEQN = NeqnCmd
  1188.               COL = ColCmd
  1189.          COLFLAGS = ColFlags
  1190. #if HasLatex
  1191.             DVIPS = DvipsCmd
  1192.             LATEX = LatexCmd
  1193. #endif
  1194. #if HasSentinel
  1195.          SENTINEL = SentinelCmd
  1196.   SENTINELOPTIONS = SentinelOptions
  1197. #endif
  1198. #if HasPurify
  1199.            PURIFY = PurifyCmd
  1200.     PURIFYOPTIONS = PurifyOptions
  1201. #endif
  1202. #if HasTestCenter
  1203.            PROOF = ProofCmd
  1204.     PROOFOPTIONS = ProofOptions
  1205. #endif
  1206.      STD_INCLUDES = StandardIncludes
  1207.   STD_CPP_DEFINES = StandardCppDefines $(PROJECT_DEFINES)
  1208.       STD_DEFINES = StandardDefines $(PROJECT_DEFINES)
  1209.  EXTRA_LOAD_FLAGS = ExtraLoadFlags
  1210.   EXTRA_LDOPTIONS = ExtraLoadOptions
  1211.   EXTRA_LIBRARIES = MallocLibraries ExtraLibraries Krb5Libraries
  1212.              TAGS = TagsCmd
  1213. #if ConstructMFLAGS
  1214.            MFLAGS = -$(MAKEFLAGS)
  1215. #endif
  1216. #if ConstructMAKEFLAGS
  1217.         MAKEFLAGS = $(MFLAGS)
  1218. #endif
  1219.    PARALLELMFLAGS = ParallelMakeFlags
  1220. #if HasSharedLibraries
  1221.     SHAREDCODEDEF = SharedCodeDef
  1222.          SHLIBDEF = SharedLibraryDef
  1223. #ifdef SharedLibraryLoadFlags
  1224.      SHLIBLDFLAGS = SharedLibraryLoadFlags
  1225. #endif
  1226. /*
  1227.  * Here we set up flags needed to produce position-independent code 
  1228.  * when doing C and C++ compilation.  The default if you specify C
  1229.  * PIC flags without also specifying C++ PIC flags is to assume that 
  1230.  * the C flags work for both.  If your C++ compiler requires different
  1231.  * flags, specify them explicitly in PositionIndependentCplusplusFlags.
  1232.  */
  1233. #ifdef PositionIndependentCFlags
  1234.          PICFLAGS = PositionIndependentCFlags
  1235. #endif
  1236. #ifdef PositionIndependentCplusplusFlags
  1237.       CXXPICFLAGS = PositionIndependentCplusplusFlags
  1238. #else
  1239. #ifdef PositionIndependentCFlags
  1240.       CXXPICFLAGS = PositionIndependentCFlags
  1241. #endif
  1242. #endif
  1243. #endif
  1244. #if !HasVoidSignalReturn
  1245.    SIGNAL_DEFINES = -DSIGNALRETURNSINT
  1246. #endif
  1247. /*
  1248.  * The following supports forcing of function prototypes
  1249.  */
  1250. #if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes && NeedNestedPrototypes
  1251. #define _funcprotodef -DFUNCPROTO=15
  1252. #else
  1253. #if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedNestedPrototypes
  1254. #define _funcprotodef -DFUNCPROTO=11
  1255. #else
  1256. #if NeedFunctionPrototypes && NeedNestedPrototypes
  1257. #define _funcprotodef -DFUNCPROTO=9
  1258. #else
  1259. #if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes
  1260. #define _funcprotodef -DFUNCPROTO=7
  1261. #else
  1262. #if NeedFunctionPrototypes && NeedConstPrototypes
  1263. #define _funcprotodef -DFUNCPROTO=5
  1264. #else
  1265. #if NeedFunctionPrototypes && NeedVarargsPrototypes
  1266. #define _funcprotodef -DFUNCPROTO=3
  1267. #else
  1268. #if NeedFunctionPrototypes
  1269. #define _funcprotodef -DFUNCPROTO
  1270. #else
  1271. #define _funcprotodef /**/
  1272. #endif
  1273. #endif
  1274. #endif
  1275. #endif
  1276. #endif
  1277. #endif
  1278. #endif
  1279. #if NeedWidePrototypes
  1280. #define _wideprotodef /**/
  1281. #else
  1282. #define _wideprotodef -DNARROWPROTO
  1283. #endif
  1284.     PROTO_DEFINES = _funcprotodef _wideprotodef 
  1285. #undef _funcprotodef
  1286. #undef _wideprotodef
  1287.  
  1288. #if StripInstalledPrograms
  1289.      INSTPGMFLAGS = InstPgmFlags    /* install flags for stripping */
  1290. #else
  1291.      INSTPGMFLAGS = 
  1292. #endif
  1293.      INSTBINFLAGS = InstBinFlags    /* install flags for programs */
  1294.      INSTUIDFLAGS = InstUidFlags    /* install flags for setuid programs */
  1295.      INSTLIBFLAGS = InstLibFlags    /* install flags for libraries */
  1296.      INSTINCFLAGS = InstIncFlags    /* install flags for headers */
  1297.      INSTMANFLAGS = InstManFlags    /* install flags for man pages */
  1298.      INSTDATFLAGS = InstDatFlags    /* install flags for data files */
  1299.     INSTKMEMFLAGS = InstKmemFlags    /* install flags for /dev/kmem progs */
  1300.  
  1301. #ifdef ProjectRoot
  1302.       PROJECTROOT = ProjectRoot
  1303. #endif
  1304. #ifdef UseInstalled
  1305. # if AlternateIncRoot
  1306. #  define TopInclude    -I$(INCROOT)
  1307. # else
  1308. #  define TopInclude    /**/
  1309. # endif
  1310. #else
  1311. # define TopInclude    -I$(TOP)
  1312. #endif
  1313.       CDEBUGFLAGS = DefaultCDebugFlags
  1314.         CCOPTIONS = DefaultCCOptions    /* to distinguish from param flags */
  1315. /*
  1316.  * STD_INCLUDES contains system-specific includes
  1317.  * TOP_INCLUDES specifies how to get to /usr/include or its build substitute
  1318.  * EXTRA_INCLUDES contains project-specific includes set in project incfiles
  1319.  * INCLUDES contains client-specific includes set in Imakefile
  1320.  * LOCAL_LDFLAGS contains client-specific ld flags flags set in Imakefile
  1321.  */
  1322.       ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(STD_INCLUDES)
  1323.        ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(DEFINES)
  1324.            CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(ALLDEFINES)
  1325.         LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES)
  1326.          LDPRELIB = LdPreLib
  1327.         LDPOSTLIB = LdPostLib
  1328.         LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)  $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS)
  1329.      CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS)
  1330.  
  1331.            LDLIBS = $(LDPOSTLIBS) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
  1332. #if HasBrokenCCForLink
  1333.            CCLINK = LdCmd
  1334. #else
  1335. #if AlternateUsrLibDir && HasLdRunPath
  1336.        CCENVSETUP = LD_RUN_PATH=$(USRLIBDIRPATH)
  1337.            CCLINK = $(CCENVSETUP) $(CC)
  1338. #else
  1339.            CCLINK = $(CC)
  1340. #endif
  1341. #endif
  1342. #if AlternateUsrLibDir && HasLdRunPath
  1343.       CXXENVSETUP = LD_RUN_PATH=$(USRLIBDIRPATH)
  1344.           CXXLINK = $(CXXENVSETUP) $(CXX)
  1345. #else
  1346.           CXXLINK = $(CXX)
  1347. #endif
  1348.      LDSTRIPFLAGS = LdStripFlags
  1349.    LDCOMBINEFLAGS = LdCombineFlags
  1350.       DEPENDFLAGS = DependFlags
  1351.  
  1352. XCOMM Not sure this belongs here
  1353.          TKLIBDIR = TkLibDir
  1354.          TKINCDIR = TkIncDir
  1355.         TKLIBNAME = TkLibName
  1356.         TKLIBRARY = TkLibrary
  1357.         TCLLIBDIR = TclLibDir
  1358.         TCLINCDIR = TclIncDir
  1359.        TCLLIBNAME = TclLibName
  1360.        TCLLIBRARY = TclLibrary
  1361.        JPTKLIBDIR = JpTkLibDir
  1362.        JPTKINCDIR = JpTkIncDir
  1363.       JPTKLIBNAME = JpTkLibName
  1364.       JPTKLIBRARY = JpTkLibrary
  1365.       JPTCLLIBDIR = JpTclLibDir
  1366.       JPTCLINCDIR = JpTclIncDir
  1367.      JPTCLLIBNAME = JpTclLibName
  1368.      JPTCLLIBRARY = JpTclLibrary
  1369.  
  1370.         MACROFILE = MacroFile
  1371.            RM_CMD = $(RM)
  1372.  
  1373.     IMAKE_DEFINES = /* leave blank, for command line use only */
  1374. #ifdef UseInstalled
  1375.          IRULESRC = $(CONFIGDIR)    /* used in rules file */
  1376.         IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
  1377. #else
  1378.          IRULESRC = $(CONFIGSRC)/cf
  1379.         IMAKE_CMD = $(IMAKE) -I$(IRULESRC) $(IMAKE_DEFINES)
  1380. #endif
  1381. #if !HasClearmake
  1382.      /* clearmake records relevant defines and flags in the build script,
  1383.     so it knows when they change and we don't need this coarser-level
  1384.     dependency.  We also don't want it, since it prevents sharing if
  1385.     even one config file, say site.def or host.def, changes. */
  1386.      ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/X11.tmpl \
  1387.             $(IRULESRC)/site.def $(IRULESRC)/$(MACROFILE) \
  1388.             OtherIConfigFiles SiteIConfigFiles $(EXTRA_ICONFIGFILES)
  1389. #endif
  1390.  
  1391. #ifndef TopLevelProject
  1392. # define TopLevelProject    X11
  1393. #endif
  1394. #ifndef ProjectRulesFile
  1395. # define ProjectRulesFile    Concat3(<,TopLevelProject,.rules>)
  1396. #endif
  1397. #include ProjectRulesFile
  1398. #ifndef LocalRulesFile
  1399. /* need this to make ANSI-style preprocessors happy */
  1400. #define LocalRulesFile <noop.rules>
  1401. #endif
  1402. #include LocalRulesFile
  1403.  
  1404. /*
  1405.  * get project-specific configuration and rules
  1406.  */
  1407. #ifndef ProjectTmplFile
  1408. #define ProjectTmplFile        Concat3(<,TopLevelProject,.tmpl>)
  1409. #endif
  1410. #include ProjectTmplFile
  1411. #ifndef LocalTmplFile
  1412. /* need this to make ANSI-style preprocessors happy */
  1413. #define LocalTmplFile <noop.rules>
  1414. #endif
  1415. #include LocalTmplFile
  1416.  
  1417. #ifdef FixupLibReferences
  1418. FixupLibReferences()
  1419. #endif
  1420.  
  1421. /* ConfigDir comes from X11.tmpl */
  1422.         CONFIGDIR = ConfigDir        /* build configuration information */
  1423. #if HasClearmake
  1424.            OSNAME = OSName
  1425. #endif
  1426.     USRLIBDIRPATH = UsrLibDirPath
  1427.         LDPRELIBS = LdPreLibs
  1428.        LDPOSTLIBS = LdPostLibs
  1429.      TOP_INCLUDES = TopIncludes
  1430.   PROJECT_DEFINES = ProjectDefines
  1431. #if HasCplusplus
  1432. CXXPROJECT_DEFINES = CplusplusProjectDefines
  1433. #endif
  1434.  
  1435. XCOMM ----------------------------------------------------------------------
  1436. XCOMM start of Imakefile
  1437. #include INCLUDE_IMAKEFILE
  1438.  
  1439. XCOMM ----------------------------------------------------------------------
  1440. XCOMM common rules for all Makefiles - do not edit
  1441.  
  1442. .c.i:
  1443.     CPPOnlyCompile($*.c,$(_NOOP_))
  1444. /*
  1445.  * These need to be here so that rules in Imakefile occur first;  the blank
  1446.  * emptyrule is to make sure that an empty Imakefile does not default to make
  1447.  * clean.
  1448.  */
  1449. emptyrule::
  1450.  
  1451. CleanTarget()
  1452.  
  1453. #ifndef IHaveSpecialMakefileTarget
  1454. MakefileTarget()
  1455. #endif
  1456.  
  1457. TagsTarget()
  1458. #ifdef MakefileAdditions
  1459. MakefileAdditions()
  1460. #endif
  1461.  
  1462. CenterLoadTarget(debug_src,$(SRCS),NullParameter,$(ALLDEFINES))
  1463.  
  1464. CenterLoadTarget(debug_obj,$(OBJS),NullParameter,$(ALLDEFINES))
  1465.  
  1466. ManKeywordsTarget($(MANPATH))
  1467.  
  1468. #ifdef IHaveSubdirs
  1469. XCOMM ----------------------------------------------------------------------
  1470. XCOMM rules for building in SUBDIRS - do not edit
  1471.  
  1472. InstallSubdirs($(SUBDIRS))
  1473. InstallManSubdirs($(SUBDIRS))
  1474. InstallLinkKitSubdirs($(SUBDIRS))
  1475. CleanSubdirs($(SUBDIRS))
  1476. TagSubdirs($(SUBDIRS))
  1477. MakefileSubdirs($(SUBDIRS))
  1478. IncludesSubdirs($(SUBDIRS))
  1479.  
  1480. #endif
  1481.  
  1482. /* must be after all install.man rules that install anything */
  1483. #if MakeManKeywords        /* typically only at top level */
  1484. install.man:: man_keywords
  1485. #endif
  1486.  
  1487. #ifndef IHaveSubdirs
  1488. XCOMM ----------------------------------------------------------------------
  1489. XCOMM empty rules for directories that do not have SUBDIRS - do not edit
  1490.  
  1491. install::
  1492.     @echo "install in $(CURRENT_DIR) done"
  1493.  
  1494. install.man::
  1495.     @echo "install.man in $(CURRENT_DIR) done"
  1496.  
  1497. install.linkkit::
  1498.     @echo "install.linkkit in $(CURRENT_DIR) done"
  1499.  
  1500. Makefiles::
  1501.  
  1502. includes::
  1503.  
  1504. depend::
  1505.  
  1506. #endif /* if subdirectory rules are needed */
  1507.  
  1508. XCOMM ----------------------------------------------------------------------
  1509. XCOMM dependencies generated by makedepend
  1510. IncludeMakefile(DependFileName)
  1511.