Template.stopgap.pp 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699
  1. //
  2. // Template.stopgap.pp
  3. //
  4. // This file defines the set of output files that will be generated to
  5. // support our old-style Makefile system. It is intended to aid as a
  6. // transition to the new system.
  7. //
  8. //////////////////////////////////////////////////////////////////////
  9. #if $[eq $[DIR_TYPE], src]
  10. //////////////////////////////////////////////////////////////////////
  11. // For a source directory, build a Makefile, Makefile.install, and a
  12. // Makefile.target for each target.
  13. #define submakes $[TARGET(static_lib_target):%=%.a] $[TARGET(lib_target noinst_lib_target):%=%.so] $[TARGET(sed_bin_target bin_target noinst_bin_target test_bin_target)]
  14. #define install $[TARGET(static_lib_target):%=%.a] $[TARGET(lib_target noinst_lib_target):%=%.so] $[TARGET(sed_bin_target bin_target noinst_bin_target)]
  15. // Now iterate through the libraries we're building and see which ones
  16. // actually *are* being included in a metalib. For each one that is,
  17. // we install the appropriate deferred file.
  18. #define deferred
  19. #forscopes lib_target
  20. #define metalib $[module $[TARGET],$[TARGET]]
  21. #if $[ne $[metalib],]
  22. #set deferred $[deferred] Deferred.$[metalib].lib$[TARGET].so
  23. #endif
  24. #end lib_target
  25. // Get the full set of libraries we depend on.
  26. #call get_depend_libs
  27. // Also get the targets we'll be installing.
  28. #define install_libs $[sort $[TARGET(lib_target):%=lib%.so] $[TARGET(static_lib_target):%=lib%.a] $[INSTALL_LIBS]]
  29. #define install_bin $[sort $[TARGET(bin_target)] $[INSTALL_BIN]]
  30. #define install_scripts $[sort $[INSTALL_SCRIPTS(static_lib_target lib_target bin_target)] $[TARGET(sed_bin_target)] $[INSTALL_SCRIPTS]]
  31. #define install_headers $[sort $[INSTALL_HEADERS(static_lib_target lib_target bin_target)] $[INSTALL_HEADERS]]
  32. #define install_data $[sort $[INSTALL_DATA(static_lib_target lib_target sed_bin_target bin_target)] $[INSTALL_DATA]] $[sort $[INSTALL_CONFIG(static_lib_target lib_target sed_bin_target bin_target)] $[INSTALL_CONFIG]]
  33. // Collect the set of interrogate database files we'll install,
  34. // possibly one for each library we build.
  35. #define install_igatedb
  36. #if $[run_interrogate]
  37. #forscopes lib_target
  38. #if $[ne $[IGATESCAN],]
  39. #set install_igatedb $[install_igatedb] lib$[TARGET].in
  40. #endif
  41. #end lib_target
  42. #endif
  43. #output Makefile
  44. #format makefile
  45. #### Meta Makefile.
  46. #### Generated automatically by $[PPREMAKE] $[PPREMAKE_VERSION] from $[SOURCEFILE].
  47. ################################# DO NOT EDIT ###########################
  48. #### Sub make targets (extension of sub Makefile, eg 'foo' for Makefile.foo):
  49. SUBMAKES = $[submakes]
  50. #### List the minimal set of sub makes on the list above required to install.
  51. INSTALL = $[install]
  52. #### Location of sub Makefiles.
  53. MAKEDIR = .
  54. #### The action is here.
  55. include $(DTOOL)/include/Makefile.meta.rules
  56. #### Sub-make build order dependencies:
  57. # foo: bar
  58. #end Makefile
  59. #output Makefile.install
  60. #format makefile
  61. #### Installation makefile
  62. #### Generated automatically by $[PPREMAKE] $[PPREMAKE_VERSION] from $[SOURCEFILE].
  63. ################################# DO NOT EDIT ###########################
  64. # Note: This file is included by the project-wide Makefile so the current
  65. # directory is the project root. Also, commented-out fields are optional.
  66. #### Package name and location (if not src/all/$(PACKAGE)):
  67. PACKAGE = $[DIRNAME]
  68. PKGROOT = $[PATH]
  69. ifneq (,$(PACKAGE))
  70. #### Package dependencies (USESOTHER needs relative paths from project root):
  71. USESLIBS = $[depend_libs]
  72. # USESINCLUDE =
  73. # USESOTHER =
  74. #### Installed files:
  75. LIBS = $[install_libs]
  76. DEFERRED = $[deferred]
  77. INCLUDE = $[install_headers]
  78. BINS = $[install_bin]
  79. SCRIPTS = $[install_scripts]
  80. # SS =
  81. # STK =
  82. # MODELS =
  83. ETC = $[install_data]
  84. IGATEDB =$[install_igatedb]
  85. # DOC =
  86. # MAN =
  87. # FONTS =
  88. # ICONS =
  89. # APPDEFAULTS =
  90. # TCL =
  91. # TELEUSE =
  92. # SHADERS =
  93. #### Other files to be installed (use relative pathname from project root):
  94. #if $[ne $[INSTALL_PARSER_INC],]
  95. PARSER_INC = $[INSTALL_PARSER_INC]
  96. SRC_PARSER_INC = $(addprefix $(PKGROOT)/,$(PARSER_INC))
  97. INST_PARSER_INC = $(addprefix include/parser-inc/,$(PARSER_INC))
  98. OTHER = $(INST_PARSER_INC)
  99. #else
  100. # OTHER =
  101. #endif
  102. #### Where the action happens.
  103. include $(DTOOL)/include/Makefile.install.rules
  104. #### Install actions for OTHER files (source must be in $(PKGROOT)):
  105. # [ installed file ] : $(PKGROOT)/[ source file ] # Files must have same name
  106. # $(INSTALL) # Copies from source to dest
  107. #
  108. # [ installed file ] : $(PKGROOT)/[ source file ]
  109. # $(MKINSTALL) # Also makes directory if needed
  110. #if $[ne $[INSTALL_PARSER_INC],]
  111. $(INST_PARSER_INC) : include/parser-inc/% : $(PKGROOT)/%
  112. $(MKINSTALL)
  113. #endif
  114. #### Other install/uninstall actions:
  115. # install-$(PKGROOT): #Add dependencies here
  116. # Add actions here
  117. #
  118. # uninstall-$(PKGROOT): #Add dependencies here
  119. # Add actions here
  120. #### Sub-package Makefile.install inclusions:
  121. # include foo/Makefile.install
  122. endif
  123. #end Makefile.install
  124. // Now generate a suitable Makefile for each library target.
  125. #forscopes lib_target noinst_lib_target
  126. // Again, is this library included in a metalib? If so, output the
  127. // appropriate deferred rules.
  128. #define metalib $[module $[TARGET],$[TARGET]]
  129. // We might need to define a BUILDING_ symbol for win32. We use the
  130. // BUILDING_DLL variable name, defined typically in the metalib, for
  131. // this; but in some cases, where the library isn't part of a metalib,
  132. // we define BUILDING_DLL directly for the target.
  133. #define building_var $[BUILDING_DLL]
  134. #if $[ne $[metalib],]
  135. #set building_var $[module $[BUILDING_DLL],$[TARGET]]
  136. #endif
  137. // Get the full set of sources for this target.
  138. #call get_sources
  139. #call get_libs
  140. // Which files will we interrogate, if any?
  141. #define igatescan $[get_igatescan]
  142. #output Makefile.$[TARGET].so
  143. #format makefile
  144. #### Makefile for DSO's. Any fields commented out are optional.
  145. #### Generated automatically by $[PPREMAKE] $[PPREMAKE_VERSION] from $[SOURCEFILE].
  146. ################################# DO NOT EDIT ###########################
  147. #### Target's name:
  148. TARGET = lib$[TARGET].so
  149. DEFERRED_TARGET = $[metalib]
  150. # Standard .o file conversion information.
  151. #### Lex files
  152. LFILES = $[filter %.lxx,$[sources]]
  153. LEX = flex
  154. LFLAGS = $[LFLAGS] $[YACC_PREFIX:%=-P%] -olex.yy.c
  155. LEXTENSION = cxx
  156. #### Yacc files
  157. YFILES = $[filter %.yxx,$[sources]]
  158. YACC = bison
  159. YFLAGS = -y -d $[patsubst %,--name-prefix=%,$[YACC_PREFIX]]
  160. YEXTENSION = cxx
  161. #### C files
  162. CFILES = $[filter %.c,$[sources]]
  163. CFLAGS = $[building_var:%=-D%] $[alt_cflags] $[CFLAGS]
  164. #### C++ files
  165. C++FILES = $[filter %.cxx,$[sources]]
  166. C++FLAGS = $[building_var:%=-D%] $[alt_cflags] $[C++FLAGS]
  167. # USETEMPLATES = TRUE
  168. # PTREPOSITORY = # Specify only if you want a specific name
  169. #### Interrogate info
  170. IGATESCAN = $[igatescan]
  171. IGATEFLAGS = $[alt_ipath:%=-I%]
  172. # IGATEFILE = # Specify only if you want a specific name
  173. #### Additional search directories for C/C++ header files:
  174. IPATH = $[alt_ipath:%=-I%]
  175. #### Location to put .o files:
  176. # ODIR =
  177. #### Source file dependencies (unnecessary with clearmake)
  178. # foo.c: foo.h
  179. #### Other files and lib. Include $(ODIR) in any .o names.
  180. # OFILES =
  181. WHEN_NO_DEFER_LIBS = $[when_no_defer:%=-l%]
  182. WHEN_DEFER_LIBS = $[when_defer:%=-l%]
  183. LIBS = $[when_either:%=-l%]
  184. SYSLIBS = $[patsubst %.lib,%.lib,%,-l%,$[unique $[alt_libs]]]
  185. #### Additional search directories for lib:
  186. LPATH = $[alt_lpath:%=-L%]
  187. #### Other linker flags.
  188. #if $[ne $[alt_ld],]
  189. LD = $[alt_ld]
  190. #endif
  191. # LDFLAGS =
  192. #### Pull in standard .o make variables
  193. include $(DTOOL)/include/Makefile.o.vars
  194. #### The .o action is here.
  195. include $(DTOOL)/include/Makefile.o.rules
  196. #### Pull in standard binary make variables.
  197. include $(DTOOL)/include/Makefile.bin.vars
  198. #### The .so action is here.
  199. include $(DTOOL)/include/Makefile.so.rules
  200. #end Makefile.$[TARGET].so
  201. #end lib_target noinst_lib_target
  202. // Also generate a suitable Makefile for each static library target.
  203. #forscopes static_lib_target
  204. // Get the full set of sources for this target.
  205. #call get_sources
  206. #call get_libs
  207. #output Makefile.$[TARGET].a
  208. #format makefile
  209. #### Makefile for archive libraries. Any fields commented out are optional.
  210. #### Generated automatically by $[PPREMAKE] $[PPREMAKE_VERSION] from $[SOURCEFILE].
  211. ################################# DO NOT EDIT ###########################
  212. #### Target's name:
  213. TARGET = lib$[TARGET].a
  214. # Standard .o file conversion information.
  215. #### Lex files
  216. LFILES = $[filter %.lxx,$[sources]]
  217. LEX = flex
  218. LFLAGS = $[LFLAGS] $[YACC_PREFIX:%=-P%] -olex.yy.c
  219. LEXTENSION = yy.cxx
  220. # LSUBST =
  221. #### Yacc files
  222. YFILES = $[filter %.yxx,$[sources]]
  223. YACC = bison
  224. YFLAGS = -y -d $[patsubst %,--name-prefix=%,$[YACC_PREFIX]]
  225. YEXTENSION = tab.cxx
  226. # YSUBST =
  227. #### C files
  228. CFILES = $[filter %.c,$[sources]]
  229. CFLAGS = $[building_var:%=-D%] $[alt_cflags] $[CFLAGS]
  230. #### C++ files
  231. C++FILES = $[filter %.cxx,$[sources]]
  232. C++FLAGS = $[building_var:%=-D%] $[alt_cflags] $[C++FLAGS]
  233. # USETEMPLATES = TRUE
  234. # PTREPOSITORY = # Specify only if you want a specific name
  235. #### Additional search directories for C/C++ header files:
  236. IPATH = $[alt_ipath:%=-I%]
  237. #### Location to put .o files:
  238. # ODIR =
  239. #### Source file dependencies (unnecessary with clearmake)
  240. # foo.c: foo.h
  241. #### Other .o files.
  242. # OFILES =
  243. #### Libs and flags for template instantiation.
  244. WHEN_NO_DEFER_LIBS = $[when_no_defer:%=-l%]
  245. WHEN_DEFER_LIBS = $[when_defer:%=-l%]
  246. LIBS = $[when_either:%=-l%]
  247. SYSLIBS = $[patsubst %.lib,%.lib,%,-l%,$[unique $[alt_libs]]]
  248. #### Additional search directories for lib:
  249. LPATH = $[alt_lpath:%=-L%]
  250. #### Archiver flags
  251. # ARFLAGS =
  252. #### Pull in standard .o make variables
  253. include $(DTOOL)/include/Makefile.o.vars
  254. #### The .o action is here.
  255. include $(DTOOL)/include/Makefile.o.rules
  256. #### Pull in standard binary make variables.
  257. include $(DTOOL)/include/Makefile.bin.vars
  258. #### The .a action is here.
  259. include $(DTOOL)/include/Makefile.a.rules
  260. #end Makefile.$[TARGET].a
  261. #end static_lib_target
  262. // And also generate a suitable Makefile for each binary target.
  263. #forscopes bin_target noinst_bin_target test_bin_target
  264. // Get the full set of sources for this target.
  265. #call get_sources
  266. #call get_libs
  267. #output Makefile.$[TARGET]
  268. #format makefile
  269. #### Makefile for binaries. Any fields commented out are optional.
  270. #### Generated automatically by $[PPREMAKE] $[PPREMAKE_VERSION] from $[SOURCEFILE].
  271. ################################# DO NOT EDIT ###########################
  272. #### Target's name:
  273. TARGET = $[TARGET]
  274. # Standard .o file conversion information.
  275. #### Lex files
  276. LFILES = $[filter %.lxx,$[sources]]
  277. LEX = flex
  278. LFLAGS = $[LFLAGS] $[YACC_PREFIX:%=-P%] -olex.yy.c
  279. LEXTENSION = yy.cxx
  280. # LSUBST =
  281. #### Yacc files
  282. YFILES = $[filter %.yxx,$[sources]]
  283. YACC = bison
  284. YFLAGS = -y -d $[patsubst %,--name-prefix=%,$[YACC_PREFIX]]
  285. YEXTENSION = tab.cxx
  286. # YSUBST =
  287. #### C files
  288. CFILES = $[filter %.c,$[sources]]
  289. CFLAGS = $[building_var:%=-D%] $[alt_cflags] $[CFLAGS]
  290. #### C++ files
  291. C++FILES = $[filter %.cxx,$[sources]]
  292. C++FLAGS = $[building_var:%=-D%] $[alt_cflags] $[C++FLAGS]
  293. #### Additional search directories for C/C++ header files:
  294. IPATH = $[alt_ipath:%=-I%]
  295. #### Location to put .o files:
  296. # ODIR =
  297. #### Source file dependencies (unnecessary with clearmake)
  298. # foo.c: foo.h
  299. #### Other files and lib. Include $(ODIR) in any .o names.
  300. # OFILES =
  301. WHEN_NO_DEFER_LIBS = $[when_no_defer:%=-l%]
  302. WHEN_DEFER_LIBS = $[when_defer:%=-l%]
  303. LIBS = $[when_either:%=-l%]
  304. SYSLIBS = $[patsubst %.lib,%.lib,%,-l%,$[unique $[alt_libs]]]
  305. #### Additional search directories for lib:
  306. LPATH = $[alt_lpath:%=-L%]
  307. #### Other linker flags.
  308. #if $[ne $[alt_ld],]
  309. LD = $[alt_ld]
  310. #endif
  311. # LDFLAGS =
  312. #### Pull in standard .o make variables
  313. include $(DTOOL)/include/Makefile.o.vars
  314. #### The .o action is here.
  315. include $(DTOOL)/include/Makefile.o.rules
  316. #### Pull in standard binary make variables.
  317. include $(DTOOL)/include/Makefile.bin.vars
  318. #### The bin action is here.
  319. include $(DTOOL)/include/Makefile.bin.rules
  320. #end Makefile.$[TARGET]
  321. #end bin_target noinst_bin_target test_bin_target
  322. // Finally, generate the special scripts from the sed_bin_targets. Hopefully
  323. // there won't be too many of these in the tree, since these are fairly
  324. // Unix-specific.
  325. #forscopes sed_bin_target
  326. #output Makefile.$[TARGET]
  327. #format makefile
  328. #### This is a special makefile just to generate the $[TARGET] script.
  329. $[TARGET] : $[SOURCE]
  330. sed $[COMMAND] $^ >$@
  331. chmod +x $@
  332. clean :
  333. cleanall :
  334. rm -f $[TARGET]
  335. #end Makefile.$[TARGET]
  336. #end sed_bin_target
  337. //////////////////////////////////////////////////////////////////////
  338. #elif $[eq $[DIR_TYPE], metalib]
  339. //////////////////////////////////////////////////////////////////////
  340. // A metalib directory is similar to a regular source directory,
  341. // but a little simpler.
  342. #define submakes $[TARGET(metalib_target):%=%.so]
  343. // Get the full set of libraries we depend on.
  344. #call get_depend_libs
  345. // Also get the targets we'll be installing.
  346. #define install_libs $[TARGET(metalib_target):%=lib%.so]
  347. #define install_headers $[INSTALL_HEADERS(metalib_target)]
  348. #define install_data $[INSTALL_DATA(metalib_target)] $[INSTALL_CONFIG(metalib_target)]
  349. #output Makefile
  350. #format makefile
  351. #### Meta Makefile.
  352. #### Generated automatically by $[PPREMAKE] $[PPREMAKE_VERSION] from $[SOURCEFILE].
  353. ################################# DO NOT EDIT ###########################
  354. #### Sub make targets (extension of sub Makefile, eg 'foo' for Makefile.foo):
  355. SUBMAKES = $[submakes]
  356. #### List the minimal set of sub makes on the list above required to install.
  357. INSTALL = $[submakes]
  358. #### Location of sub Makefiles.
  359. MAKEDIR = .
  360. #### The action is here.
  361. include $(DTOOL)/include/Makefile.meta.rules
  362. #### Sub-make build order dependencies:
  363. # foo: bar
  364. #end Makefile
  365. #output Makefile.install
  366. #format makefile
  367. #### Installation makefile
  368. #### Generated automatically by $[PPREMAKE] $[PPREMAKE_VERSION] from $[SOURCEFILE].
  369. ################################# DO NOT EDIT ###########################
  370. # Note: This file is included by the project-wide Makefile so the current
  371. # directory is the project root. Also, commented-out fields are optional.
  372. #### Package name and location (if not src/all/$(PACKAGE)):
  373. PACKAGE = $[DIRNAME]
  374. PKGROOT = $[PATH]
  375. ifneq (,$(PACKAGE))
  376. #### Package dependencies (USESOTHER needs relative paths from project root):
  377. USESLIBS = $[depend_libs]
  378. # USESINCLUDE =
  379. # USESOTHER =
  380. #### Installed files:
  381. LIBS = $[install_libs]
  382. INCLUDE = $[install_headers]
  383. # BINS =
  384. # SS =
  385. # STK =
  386. # MODELS =
  387. # ETC =
  388. # DOC =
  389. # MAN =
  390. # FONTS =
  391. # ICONS =
  392. # APPDEFAULTS =
  393. # TCL =
  394. # TELEUSE =
  395. # SHADERS =
  396. #### Other files to be installed (use relative pathname from project root):
  397. # OTHER =
  398. #### Where the action happens.
  399. include $(DTOOL)/include/Makefile.install.rules
  400. #### Install actions for OTHER files (source must be in $(PKGROOT)):
  401. # [ installed file ] : $(PKGROOT)/[ source file ] # Files must have same name
  402. # $(INSTALL) # Copies from source to dest
  403. #
  404. # [ installed file ] : $(PKGROOT)/[ source file ]
  405. # $(MKINSTALL) # Also makes directory if needed
  406. #### Other install/uninstall actions:
  407. # install-$(PKGROOT): #Add dependencies here
  408. # Add actions here
  409. #
  410. # uninstall-$(PKGROOT): #Add dependencies here
  411. # Add actions here
  412. #### Sub-package Makefile.install inclusions:
  413. # include foo/Makefile.install
  414. endif
  415. #end Makefile.install
  416. // Now generate a suitable Makefile for each metalib target.
  417. #forscopes metalib_target
  418. #define building_var $[BUILDING_DLL]
  419. // Get the full set of sources for this target.
  420. #call get_sources
  421. #call get_libs
  422. #define igatemscan $[get_igatemscan]
  423. #output Makefile.$[TARGET].so
  424. #format makefile
  425. #### Makefile for DSO's. Any fields commented out are optional.
  426. #### Generated automatically by $[PPREMAKE] $[PPREMAKE_VERSION] from $[SOURCEFILE].
  427. ################################# DO NOT EDIT ###########################
  428. #### Target's name:
  429. TARGET = lib$[TARGET].so
  430. # Standard .o file conversion information.
  431. #### Lex files
  432. LFILES = $[filter %.lxx,$[sources]]
  433. LEX = flex
  434. LFLAGS = $[LFLAGS] $[YACC_PREFIX:%=-P%] -olex.yy.c
  435. LEXTENSION = yy.cxx
  436. # LSUBST =
  437. #### Yacc files
  438. YFILES = $[filter %.yxx,$[sources]]
  439. YACC = bison
  440. YFLAGS = -y -d $[patsubst %,--name-prefix=%,$[YACC_PREFIX]]
  441. YEXTENSION = tab.cxx
  442. # YSUBST =
  443. #### C files
  444. CFILES = $[filter %.c,$[sources]]
  445. CFLAGS = $[building_var:%=-D%] $[alt_cflags] $[CFLAGS]
  446. #### C++ files
  447. C++FILES = $[filter %.cxx,$[sources]]
  448. C++FLAGS = $[building_var:%=-D%] $[alt_cflags] $[C++FLAGS]
  449. # USETEMPLATES = TRUE
  450. # PTREPOSITORY = # Specify only if you want a specific name
  451. #### Interrogate info
  452. # IGATESCAN =
  453. # IGATEFLAGS =
  454. # IGATEFILE = # Specify only if you want a specific name
  455. IGATEMSCAN = $[igatemscan]
  456. #### Pull in deferred-target files built in other packages
  457. DEFERRED_FILES = $[TARGET]
  458. #### Additional search directories for C/C++ header files:
  459. IPATH = $[alt_ipath:%=-I%]
  460. #### Location to put .o files:
  461. # ODIR =
  462. #### Source file dependencies (unnecessary with clearmake)
  463. # foo.c: foo.h
  464. #### Other files and lib. Include $(ODIR) in any .o names.
  465. # OFILES =
  466. WHEN_NO_DEFER_LIBS = $[when_no_defer:%=-l%]
  467. WHEN_DEFER_LIBS = $[when_defer:%=-l%]
  468. LIBS = $[when_either:%=-l%]
  469. SYSLIBS = $[patsubst %.lib,%.lib,%,-l%,$[unique $[alt_libs]]]
  470. #### Additional search directories for lib:
  471. LPATH = $[alt_lpath:%=-L%]
  472. #### Other linker flags.
  473. #if $[ne $[alt_ld],]
  474. LD = $[alt_ld]
  475. #endif
  476. # LDFLAGS =
  477. #### Pull in standard .o make variables
  478. include $(DTOOL)/include/Makefile.o.vars
  479. #### The .o action is here.
  480. include $(DTOOL)/include/Makefile.o.rules
  481. #### Pull in standard binary make variables.
  482. include $(DTOOL)/include/Makefile.bin.vars
  483. #### The .so action is here.
  484. include $(DTOOL)/include/Makefile.so.rules
  485. #end Makefile.$[TARGET].so
  486. #end metalib_target
  487. //////////////////////////////////////////////////////////////////////
  488. #elif $[eq $[DIR_TYPE], group]
  489. //////////////////////////////////////////////////////////////////////
  490. // This is a group directory: a directory above a collection of source
  491. // directories, e.g. $DTOOL/src. We don't need to output anything in
  492. // this directory.
  493. //////////////////////////////////////////////////////////////////////
  494. #elif $[eq $[DIR_TYPE], toplevel]
  495. //////////////////////////////////////////////////////////////////////
  496. // This is the toplevel directory, e.g. $DTOOL. Here we build the
  497. // root makefile and also synthesize the dtool_config.h (or whichever
  498. // file) we need.
  499. #output Makefile
  500. #format makefile
  501. #### Generated automatically by $[PPREMAKE] $[PPREMAKE_VERSION] from $[SOURCEFILE].
  502. ################################# DO NOT EDIT ###########################
  503. # Specify project name and project root directory.
  504. CTPROJECT = $[PACKAGE]
  505. CTPROJROOT = $($[upcase $[PACKAGE]])
  506. include $(DTOOL)/include/Makefile.project.vars
  507. // Iterate through all of our known source files. Each src and
  508. // metalib type file gets its corresponding Makefile.install listed
  509. // here. However, we test for $[DIR_TYPE] of toplevel, because the
  510. // source directories typically don't define their own DIR_TYPE
  511. // variable, and they end up inheriting this one dynamically.
  512. #forscopes */
  513. #if $[or $[eq $[DIR_TYPE], src],$[eq $[DIR_TYPE], metalib],$[and $[eq $[DIR_TYPE], toplevel],$[ne $[DIRNAME],top]]]
  514. #if $[build_directory]
  515. include $[PATH]/Makefile.install
  516. #endif
  517. #endif
  518. #end */
  519. #end Makefile
  520. // If there is a file called LocalSetup.pp in the package's top
  521. // directory, then invoke that. It might contain some further setup
  522. // instructions.
  523. #sinclude $[TOPDIRPREFIX]LocalSetup.stopgap.pp
  524. #sinclude $[TOPDIRPREFIX]LocalSetup.pp
  525. //////////////////////////////////////////////////////////////////////
  526. #endif // DIR_TYPE