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