Imakefile 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422
  1. XCOMM $TOG: Imakefile /main/13 1998/04/06 13:38:18 mgreess $
  2. DEPEND_DEFINES = $(CXXDEPENDINCLUDES) $(DEPENDDEFINES)
  3. #include <Library.tmpl>
  4. #ifdef AlphaArchitecture
  5. /*
  6. * The OSF 3.2 compiler has a bug which prevents the use of
  7. * template class destructors (see Vector.c)
  8. */
  9. #if OSMajorVersion < 4
  10. CXX_COMPILER_BUG_OPTION = -DSP_TEMPLATE_DESTRUCTOR_COMPILER_BUG
  11. #else
  12. CXX_COMPILER_BUG_OPTION =
  13. #endif
  14. /*
  15. * put cpp directives here rather than in CXXDEFINES because
  16. * for some reason the CXXDEFINES aren't passed to the link phase
  17. * but they are needed there to instantiate templates
  18. */
  19. CXXOPTIONS = \
  20. -DSP_VOLATILE= -DSP_CONST= $(CXX_COMPILER_BUG_OPTION) \
  21. -DSP_HAVE_LOCALE -DSP_MULTI_BYTE -DSP_MANUAL_INST
  22. /*
  23. * Flags passed into compile step when doing manual template instantiation.
  24. */
  25. CXXTEMPLATEFLAGS = -ptf
  26. M4 = /bin/m4
  27. #endif
  28. #ifdef HPArchitecture
  29. /*
  30. * make null pointer use invalid
  31. *
  32. * also, put cpp directives here rather than in CXXDEFINES because
  33. * for some reason the CXXDEFINES aren't passed to the link phase
  34. * but they are needed there to instantiate templates
  35. */
  36. CXXOPTIONS = +a1 -z \
  37. -DSP_VOLATILE= -DSP_CONST= \
  38. -DSP_HAVE_LOCALE -DSP_MULTI_BYTE -DSP_ANSI_CLASS_INST
  39. EXTRA_INCLUDES = -I/opt/CC/include/CC
  40. /*
  41. * Flags passed into compile step when doing manual template instantiation.
  42. */
  43. CXXTEMPLATEFLAGS =
  44. /*
  45. * using /usr/lib/libC.a on HPUX cause nsgmls to core dump.
  46. * use the default.
  47. */
  48. STLIBCENV =
  49. M4 = /bin/m4
  50. #endif
  51. #if defined(LinuxArchitecture) || defined(BSDArchitecture)
  52. #if defined(__llvm__)
  53. NOIMPLTEMPLATES =
  54. #else
  55. NOIMPLTEMPLATES = -fno-implicit-templates
  56. #endif
  57. /*
  58. * put cpp directives here rather than in CXXDEFINES because
  59. * for some reason the CXXDEFINES aren't passed to the link phase
  60. * but they are needed there to instantiate templates
  61. */
  62. CXXOPTIONS = \
  63. -DSP_VOLATILE=volatile -DSP_CONST=const -DSP_ANSI_CLASS_INST \
  64. -DSP_HAVE_LOCALE -DSP_MULTI_BYTE -DSP_MANUAL_INST $(NOIMPLTEMPLATES)
  65. /*
  66. * Flags passed into compile step when doing manual template instantiation.
  67. */
  68. CXXTEMPLATEFLAGS = $(NOIMPLTEMPLATES)
  69. M4 = M4Cmd
  70. #endif
  71. #if defined(RsArchitecture)
  72. /* put cpp directives here rather than in CXXDEFINES because
  73. * for some reason the CXXDEFINES aren't passed to the link phase
  74. * but they are needed there to instantiate templates
  75. */
  76. CXXOPTIONS = \
  77. -DSP_VOLATILE=volatile -DSP_CONST=const \
  78. -DSP_HAVE_LOCALE -DSP_MULTI_BYTE -DSP_MANUAL_INST
  79. /*
  80. * Flags passed into compile step when doing manual template instantiation.
  81. */
  82. CXXTEMPLATEFLAGS =
  83. M4 = /bin/m4
  84. #endif
  85. #if defined(SunArchitecture)
  86. /* put cpp directives here rather than in CXXDEFINES because
  87. * for some reason the CXXDEFINES aren't passed to the link phase
  88. * but they are needed there to instantiate templates
  89. */
  90. CXXOPTIONS = \
  91. -DSP_VOLATILE= -DSP_CONST= \
  92. -DSP_HAVE_LOCALE -DSP_MULTI_BYTE -DSP_ANSI_CLASS_INST
  93. /*
  94. * Flags passed into compile step when doing manual template instantiation.
  95. */
  96. CXXTEMPLATEFLAGS =
  97. M4 = /usr/ccs/bin/m4
  98. #endif /* SunArchitecture */
  99. .SUFFIXES: .m4
  100. .m4.C:
  101. rm -f $@
  102. $(M4) instmac.m4 $< >$@
  103. PROGRAMS=nsgmls
  104. INSTALLFLAGS = $(INSTINCFLAGS)
  105. SRCS = \
  106. Allocator.C \
  107. ArcEngine.C \
  108. Attribute.C \
  109. CharsetDecl.C \
  110. CharsetInfo.C \
  111. CharsetRegistry.C \
  112. CmdLineApp.C \
  113. CodingSystem.C \
  114. ConsoleOutput.C \
  115. ContentState.C \
  116. ContentToken.C \
  117. DescriptorManager.C \
  118. Dtd.C \
  119. EUCJPCodingSystem.C \
  120. ElementType.C \
  121. Entity.C \
  122. EntityApp.C \
  123. EntityCatalog.C \
  124. EntityDecl.C \
  125. EntityManager.C \
  126. ErrnoMessageArg.C \
  127. ErrorCountEventHandler.C \
  128. Event.C \
  129. EventGenerator.C \
  130. ExtendEntityManager.C \
  131. ExternalId.C \
  132. Fixed2CodingSystem.C \
  133. GenericEventHandler.C \
  134. Group.C \
  135. Hash.C \
  136. IListBase.C \
  137. ISO8859InputCodingSystem.C \
  138. Id.C \
  139. IdentityCodingSystem.C \
  140. InputSource.C \
  141. InternalInputSource.C \
  142. Link.C \
  143. LinkProcess.C \
  144. LiteralStorage.C \
  145. Location.C \
  146. Lpd.C \
  147. Markup.C \
  148. Message.C \
  149. MessageArg.C \
  150. MessageEventHandler.C \
  151. MessageReporter.C \
  152. MessageTable.C \
  153. ModeInfo.C \
  154. Notation.C \
  155. NumericCharRefOrigin.C \
  156. OffsetOrderedList.C \
  157. OpenElement.C \
  158. OutputCharStream.C \
  159. OutputState.C \
  160. Parser.C \
  161. Param.C \
  162. ParserApp.C \
  163. ParserEventGeneratorKit.C \
  164. ParserOptions.C \
  165. ParserState.C \
  166. Partition.C \
  167. PosixStorage.C \
  168. RastEventHandler.C \
  169. Recognizer.C \
  170. RewindStorageObject.C \
  171. SGMLApplication.C \
  172. SJISCodingSystem.C \
  173. SOEntityCatalog.C \
  174. Sd.C \
  175. SdText.C \
  176. SearchResultMessageArg.C \
  177. SgmlParser.C \
  178. SgmlsEventHandler.C \
  179. ShortReferenceMap.C \
  180. StdioStorage.C \
  181. StorageManager.C \
  182. StringSet.C \
  183. StringVectorMessageArg.C \
  184. Syntax.C \
  185. Text.C \
  186. TokenMessageArg.C \
  187. TranslateInputCodingSystem.C \
  188. TrieBuilder.C \
  189. TypeId.C \
  190. URLStorage.C \
  191. UTF8CodingSystem.C \
  192. Undo.C \
  193. UnicodeCodingSystem.C \
  194. UnivCharsetDesc.C \
  195. assert.C \
  196. nsgmls.C \
  197. parseAttribute.C \
  198. parseCommon.C \
  199. parseDecl.C \
  200. parseInstance.C \
  201. parseMode.C \
  202. parseParam.C \
  203. parseSd.C \
  204. splib.C \
  205. $(GENERATED_SRCS)
  206. GENERATED_SRCS = \
  207. app_inst.C \
  208. arc_inst.C \
  209. entmgr_inst.C \
  210. nsgmls_inst.C \
  211. parser_inst.C \
  212. xentmgr_inst.C
  213. EXTRA_SRCS = \
  214. CopyOwner.C \
  215. HashTable.C \
  216. HashTableItemBase.C \
  217. IQueue.C \
  218. ISet.C \
  219. List.C \
  220. NCVector.C \
  221. Options.C \
  222. Owner.C \
  223. OwnerTable.C \
  224. ParserMessages.C \
  225. PointerTable.C \
  226. Ptr.C \
  227. RangeMap.C \
  228. StringOf.C \
  229. SubstTable.C \
  230. Vector.C \
  231. XcharMap.C
  232. OBJS = \
  233. Allocator.o \
  234. ArcEngine.o \
  235. Attribute.o \
  236. CharsetDecl.o \
  237. CharsetInfo.o \
  238. CharsetRegistry.o \
  239. CmdLineApp.o \
  240. CodingSystem.o \
  241. ConsoleOutput.o \
  242. ContentState.o \
  243. ContentToken.o \
  244. DescriptorManager.o \
  245. Dtd.o \
  246. EUCJPCodingSystem.o \
  247. ElementType.o \
  248. Entity.o \
  249. EntityApp.o \
  250. EntityCatalog.o \
  251. EntityDecl.o \
  252. EntityManager.o \
  253. ErrnoMessageArg.o \
  254. ErrorCountEventHandler.o \
  255. Event.o \
  256. EventGenerator.o \
  257. ExtendEntityManager.o \
  258. ExternalId.o \
  259. Fixed2CodingSystem.o \
  260. GenericEventHandler.o \
  261. Group.o \
  262. Hash.o \
  263. IListBase.o \
  264. ISO8859InputCodingSystem.o \
  265. Id.o \
  266. IdentityCodingSystem.o \
  267. InputSource.o \
  268. InternalInputSource.o \
  269. Link.o \
  270. LinkProcess.o \
  271. LiteralStorage.o \
  272. Location.o \
  273. Lpd.o \
  274. Markup.o \
  275. Message.o \
  276. MessageArg.o \
  277. MessageEventHandler.o \
  278. MessageReporter.o \
  279. MessageTable.o \
  280. ModeInfo.o \
  281. Notation.o \
  282. NumericCharRefOrigin.o \
  283. OffsetOrderedList.o \
  284. OpenElement.o \
  285. OutputCharStream.o \
  286. OutputState.o \
  287. Param.o \
  288. Parser.o \
  289. ParserApp.o \
  290. ParserEventGeneratorKit.o \
  291. ParserOptions.o \
  292. ParserState.o \
  293. Partition.o \
  294. PosixStorage.o \
  295. RastEventHandler.o \
  296. Recognizer.o \
  297. RewindStorageObject.o \
  298. SGMLApplication.o \
  299. SJISCodingSystem.o \
  300. SOEntityCatalog.o \
  301. Sd.o \
  302. SdText.o \
  303. SearchResultMessageArg.o \
  304. SgmlParser.o \
  305. SgmlsEventHandler.o \
  306. ShortReferenceMap.o \
  307. StdioStorage.o \
  308. StorageManager.o \
  309. StringSet.o \
  310. StringVectorMessageArg.o \
  311. Syntax.o \
  312. Text.o \
  313. TokenMessageArg.o \
  314. TranslateInputCodingSystem.o \
  315. TrieBuilder.o \
  316. TypeId.o \
  317. URLStorage.o \
  318. UTF8CodingSystem.o \
  319. Undo.o \
  320. UnicodeCodingSystem.o \
  321. UnivCharsetDesc.o \
  322. assert.o \
  323. nsgmls.o \
  324. parseAttribute.o \
  325. parseCommon.o \
  326. parseDecl.o \
  327. parseInstance.o \
  328. parseMode.o \
  329. parseParam.o \
  330. parseSd.o \
  331. splib.o \
  332. $(GENERATED_OBJS)
  333. GENERATED_OBJS = \
  334. app_inst.o \
  335. arc_inst.o \
  336. entmgr_inst.o \
  337. nsgmls_inst.o \
  338. parser_inst.o \
  339. xentmgr_inst.o
  340. EXTRA_OBJS = \
  341. CopyOwner.o \
  342. HashTable.o \
  343. HashTableItemBase.o \
  344. IQueue.o \
  345. ISet.o \
  346. List.o \
  347. NCVector.o \
  348. Options.o \
  349. Owner.o \
  350. OwnerTable.o \
  351. ParserMessages.o \
  352. PointerTable.o \
  353. Ptr.o \
  354. RangeMap.o \
  355. StringOf.o \
  356. SubstTable.o \
  357. Vector.o \
  358. XcharMap.o
  359. #ifdef HPArchitecture
  360. SpecialCplusplusObjectRule(Parser,Parser,+T)
  361. #endif
  362. SpecialCplusplusObjectRule(app_inst,app_inst,$(CXXTEMPLATEFLAGS))
  363. SpecialCplusplusObjectRule(arc_inst,arc_inst,$(CXXTEMPLATEFLAGS))
  364. SpecialCplusplusObjectRule(entmgr_inst,entmgr_inst,$(CXXTEMPLATEFLAGS))
  365. SpecialCplusplusObjectRule(nsgmls_inst,nsgmls_inst,$(CXXTEMPLATEFLAGS))
  366. SpecialCplusplusObjectRule(parser_inst,parser_inst,$(CXXTEMPLATEFLAGS))
  367. SpecialCplusplusObjectRule(xentmgr_inst,xentmgr_inst,$(CXXTEMPLATEFLAGS))
  368. includes:: $(GENERATED_SRCS)
  369. NormalCplusplusObjectRule()
  370. ComplexCplusplusProgramTarget($(PROGRAMS))
  371. /* make sure the template repository is cleaned */
  372. clean::
  373. rm -rf ptrepository
  374. rm -f $(GENERATED_SRCS)
  375. /*
  376. * Required to build .o files from .m4 files on Alpha
  377. */
  378. app_inst.C: app_inst.m4
  379. arc_inst.C: arc_inst.m4
  380. entmgr_inst.C: entmgr_inst.m4
  381. nsgmls_inst.C: nsgmls_inst.m4
  382. parser_inst.C: parser_inst.m4
  383. xentmgr_inst.C: xentmgr_inst.m4