Link with C++ linker
[oweals/cde.git] / cde / programs / ttsnoop / Imakefile
1 XCOMM $XConsortium: Imakefile /main/18 1996/05/08 09:29:12 drk $
2
3 #define CplusplusSource YES
4 DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
5 EXTRA_LOAD_FLAGS = ExtraLoadFlags $(UNSHARED_CXXLIB)
6
7 DEPLIBS = $(DEPDTTERMLIB) DepDtClientLibs
8 LOCAL_LIBRARIES = $(DTTERMLIB) DtClientLibs
9 SYS_LIBRARIES = DtClientSysLibs DtClientExtraLibs
10
11
12 XCOMM ##########################################################################
13 XCOMM  These parameters are generated by dtcodegen according to the structure
14 XCOMM  of the project as defined in the .bip and .bil files
15 XCOMM ##########################################################################
16
17 PROGRAMS = ttsnoop
18
19 XCOMM
20 XCOMM Generated from 
21 TARGETS.h = \
22         apiTracer_ui.h          argChooser_ui.h \
23         callbackChooser_ui.h    dtb_utils.h \
24         fileChooser_ui.h        messageProps_ui.h \
25         patternProps_ui.h       sessionChooser_ui.h \
26         stringChooser_ui.h      ttChooser_ui.h \
27         ttsnoop_ui.h
28
29 TARGETS.c = \
30         apiTracer_ui.c          argChooser_ui.c \
31         callbackChooser_ui.c    dtb_utils.c \
32         fileChooser_ui.c        messageProps_ui.c \
33         patternProps_ui.c       sessionChooser_ui.c \
34         stringChooser_ui.c      ttChooser_ui.c \
35         ttsnoop_ui.c
36  
37 TARGETS.c.temp = \
38         apiTracer_stubs.c       argChooser_stubs.c \
39         callbackChooser_stubs.c fileChooser_stubs.c \
40         messageProps_stubs.c    patternProps_stubs.c \
41         sessionChooser_stubs.c  stringChooser_stubs.c \
42         ttChooser_stubs.c       ttsnoop.c \
43         ttsnoop_stubs.c
44  
45 TARGETS.h.merged = \
46         ttsnoop.h
47  
48 TARGETS.C.merged = \
49         apiTracer_stubs.C       argChooser_stubs.C \
50         callbackChooser_stubs.C fileChooser_stubs.C \
51         messageProps_stubs.C    patternProps_stubs.C \
52         sessionChooser_stubs.C  stringChooser_stubs.C \
53         ttChooser_stubs.C       ttsnoop.C \
54         ttsnoop_stubs.C
55  
56 SRCS.h = $(TARGETS.h.merged) $(TARGETS.h) tt_c++.h DtTt.h
57
58 SRCS = $(TARGETS.C.merged) $(TARGETS.c) tt_c++.C DtTt.C
59
60 OBJS = \
61         DtTt.o                  apiTracer_stubs.o \
62         apiTracer_ui.o          argChooser_stubs.o \
63         argChooser_ui.o         callbackChooser_stubs.o \
64         callbackChooser_ui.o    dtb_utils.o \
65         fileChooser_stubs.o     fileChooser_ui.o \
66         messageProps_stubs.o    messageProps_ui.o \
67         patternProps_stubs.o    patternProps_ui.o \
68         sessionChooser_stubs.o  sessionChooser_ui.o \
69         stringChooser_stubs.o   stringChooser_ui.o \
70         ttChooser_stubs.o       ttChooser_ui.o \
71         tt_c++.o                ttsnoop.o \
72         ttsnoop_stubs.o         ttsnoop_ui.o
73  
74
75 XCOMM ###
76 XCOMM ### This is basically a kludge since dtappbuilder is not being 
77 XCOMM ### successfully created during the make includes phase.
78 XCOMM ### Once it is, the following 2 line should be replaced with:
79 XCOMM ###
80 XCOMM ### includes::  $(TARGETS.h) $(TARGETS.c)
81 XCOMM ### localincludes::  $(TARGETS.h) $(TARGETS.c)
82 XCOMM ###
83
84 all:: targets
85
86 targets::  $(TARGETS.h) $(TARGETS.c)
87
88 XCOMM Make initial copies of the .C.src files so that makedepend
89 XCOMM has some meaningful input.
90 depend::
91         for file in $(TARGETS.C.merged) ; do \
92             if [ ! -r $$file ] ; then \
93                 $(CP) $$file.src $$file ; chmod -w $$file ; fi ; \
94         done
95
96 NormalCplusplusObjectRule()
97
98 ComplexCplusplusProgramTarget($(PROGRAMS))
99
100
101 XCOMM #####################################################################
102 XCOMM Standard targets.
103 XCOMM #####################################################################
104
105 CppSourceFile(Ttsnoop,Ttsnoop.src,$(LOCAL_CPP_DEFINES),)
106
107 /*
108  * CodeGenTarget - generate rules to create the generated source and
109  * header files as well as the appropriate dependencies.
110  */
111 #ifndef Plus
112 # ifdef SunArchitecture
113 #  define Plus() +
114 # else
115 #  define Plus()
116 # endif
117 #endif
118
119 #ifndef CodeGenAppendableTarget
120 # define CodeGenAppendableTarget(m)                                     @@\
121 m.SRC_STUBS_C++ = Concat(m,_stubs.C.src)                                @@\
122 m.SRC_BIL       = Concat(m,.bil)                                        @@\
123 m.GEN_UI_C      = Concat(m,_ui.c)                                       @@\
124 m.GEN_UI_H      = Concat(m,_ui.h)                                       @@\
125 m.GEN_UI_O      = Concat(m,_ui.o)                                       @@\
126 m.GEN_STUBS_C   = Concat(m,_stubs.c)                                    @@\
127 m.GEN_STUBS_C++ = Concat(m,_stubs.C)                                    @@\
128 m.GEN_STUBS_O   = Concat(m,_stubs.o)                                    @@\
129 $(m.GEN_UI_O):   $(m.GEN_UI_C) $(m.GEN_UI_H) $(m.SRC_BIL)               @@\
130 $(m.GEN_STUBS_O): $(m.GEN_STUBS_C++) $(m.GEN_UI_H) $(m.SRC_BIL)         @@\
131 $(m.GEN_UI_C) Plus() $(m.GEN_UI_H) Plus() $(m.GEN_STUBS_C++): ttsnoop.bip $(m.SRC_BIL) $(m.SRC_STUBS_C++) @@\
132         $(CP) $(m.SRC_STUBS_C++) $(m.GEN_STUBS_C)                       @@\
133         -if [ ! -w $(m.GEN_STUBS_C) ]; then \                           @@\
134                 chmod +w $(m.GEN_STUBS_C); fi                           @@\
135         $(DTCODEGEN) -changed -merge -p ttsnoop.bip $(m.SRC_BIL)        @@\
136         $(RM) $(m.GEN_STUBS_C++)                                        @@\
137         $(MV) $(m.GEN_STUBS_C) $(m.GEN_STUBS_C++)                       @@\
138         cat externC.h $(m.GEN_UI_H) closeBrace.h > $(m.GEN_UI_H).patched @@\
139         $(MV) $(m.GEN_UI_H).patched $(m.GEN_UI_H)
140 #endif
141
142 #ifndef CodeGenTarget
143 # define CodeGenTarget(m) CodeGenAppendableTarget(m)
144 #endif
145
146
147 ttsnoop.C ttsnoop.h dtb_utils.c dtb_utils.h: ttsnoop.bip ttsnoop.C.src
148         $(CP) ttsnoop.C.src ttsnoop.c
149         -if [ ! -w ttsnoop.c ]; then \
150                 chmod +w ttsnoop.c; fi
151         $(DTCODEGEN) -changed -merge -p ttsnoop.bip -main
152         $(RM) ttsnoop.C
153         $(MV) ttsnoop.c ttsnoop.C
154         chmod -w ttsnoop.C
155         cat externC.h dtb_utils.h closeBrace.h > dtb_utils.h.patched
156         $(MV) dtb_utils.h.patched dtb_utils.h
157         sed \
158         -e 's/\(MoreButton;\)/\1Boolean _DtCanHelp( const char * );/' \
159         -e 's/\(XtManageChild(Quick_help\)/XtSetSensitive(MoreButton,_DtCanHelp(help_data->help_text));\1/' \
160         -e 's/\(buffer, vol, loc;\)/\1Boolean _DtHelped( Widget );/' \
161         -e 's/\(if( (cp=strrchr\)/if (_DtHelped( help_dialog)) return;\1/' \
162         dtb_utils.c > dtb_utils.c.patched
163         $(MV) dtb_utils.c.patched dtb_utils.c
164 ttsnoop.o: ttsnoop.C ttsnoop.bip $(TARGETS.h) $(TARGETS.h.merged)
165
166 CodeGenAppendableTarget(ttsnoop)
167         sed -e 's/^DtbTt/extern String snooperArgv[];DtbTt/' \
168         -e 's/XmNheight, 257,//' \
169         -e 's/XmNwidth, 580,//' \
170         -e 's/XmNcolumns, 80,//' \
171         -e 's/XmNrows, 24/DtNsubprocessArgv, snooperArgv/' \
172         ttsnoop_ui.c > ttsnoop_ui.c.patched
173         $(MV) ttsnoop_ui.c.patched ttsnoop_ui.c
174
175 CodeGenAppendableTarget(apiTracer)
176         sed -e 's/^DtbApi/extern String apiTracerArgv[];DtbApi/' \
177         -e 's/XmNrows, 24/XmNrows, 24, DtNsubprocessArgv, apiTracerArgv/' \
178         apiTracer_ui.c > apiTracer_ui.c.patched
179         $(MV) apiTracer_ui.c.patched apiTracer_ui.c
180
181 CodeGenTarget(ttChooser)
182 CodeGenTarget(patternProps)
183 CodeGenTarget(stringChooser)
184 CodeGenTarget(messageProps)
185 CodeGenTarget(sessionChooser)
186 CodeGenTarget(fileChooser)
187 CodeGenTarget(argChooser)
188 CodeGenTarget(callbackChooser)
189
190 CLEAN_FILES =   core .dtcodegen.log *.BAK *.delta *.patched \
191                 $(PROGRAMS) $(OBJS) $(TARGETS.c) $(TARGETS.h) \
192                 $(TARGETS.c.temp) $(TARGETS.C.merged) Ttsnoop
193
194 clean::
195         $(RM) $(CLEAN_FILES)
196
197 scour:
198         $(RM) $(CLEAN_FILES) $(TARGETS.h.merged) Makefile Makefile.aix Makefile.hpux Makefile.sunos