2 # "$Id: makefile.wat 7913 2010-11-29 18:18:27Z greg.ercolano $"
\r
4 # Test/example program makefile for the Fast Light Tool Kit (FLTK).
\r
6 # Copyright 1998-2010 by Bill Spitzak and others.
\r
8 # This library is free software; you can redistribute it and/or
\r
9 # modify it under the terms of the GNU Library General Public
\r
10 # License as published by the Free Software Foundation; either
\r
11 # version 2 of the License, or (at your option) any later version.
\r
13 # This library is distributed in the hope that it will be useful,
\r
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
\r
16 # Library General Public License for more details.
\r
18 # You should have received a copy of the GNU Library General Public
\r
19 # License along with this library; if not, write to the Free Software
\r
20 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
\r
23 # Please report all bugs and problems on the following page:
\r
25 # http://www.fltk.org/str.php
\r
28 !include ../watcom.mif
\r
31 $(ODIR)/unittests$(EXEEXT) &
\r
32 $(ODIR)/adjuster$(EXEEXT) &
\r
33 $(ODIR)/arc$(EXEEXT) &
\r
34 $(ODIR)/ask$(EXEEXT) &
\r
35 $(ODIR)/bitmap$(EXEEXT) &
\r
36 $(ODIR)/boxtype$(EXEEXT) &
\r
37 $(ODIR)/browser$(EXEEXT) &
\r
38 $(ODIR)/button$(EXEEXT) &
\r
39 $(ODIR)/buttons$(EXEEXT) &
\r
40 $(ODIR)/checkers$(EXEEXT) &
\r
41 $(ODIR)/clock$(EXEEXT) &
\r
42 $(ODIR)/colbrowser$(EXEEXT) &
\r
43 $(ODIR)/color_chooser$(EXEEXT) &
\r
44 $(ODIR)/cursor$(EXEEXT) &
\r
45 $(ODIR)/curve$(EXEEXT) &
\r
46 $(ODIR)/demo$(EXEEXT) &
\r
47 $(ODIR)/doublebuffer$(EXEEXT) &
\r
48 $(ODIR)/editor$(EXEEXT) &
\r
49 $(ODIR)/fast_slow$(EXEEXT) &
\r
50 $(ODIR)/file_chooser$(EXEEXT) &
\r
51 $(ODIR)/fonts$(EXEEXT) &
\r
52 $(ODIR)/forms$(EXEEXT) &
\r
53 $(ODIR)/hello$(EXEEXT) &
\r
54 $(ODIR)/help$(EXEEXT) &
\r
55 $(ODIR)/iconize$(EXEEXT) &
\r
56 $(ODIR)/image$(EXEEXT) &
\r
57 $(ODIR)/inactive$(EXEEXT) &
\r
58 $(ODIR)/input$(EXEEXT) &
\r
59 $(ODIR)/keyboard$(EXEEXT) &
\r
60 $(ODIR)/label$(EXEEXT) &
\r
61 $(ODIR)/line_style$(EXEEXT) &
\r
62 $(ODIR)/list_visuals$(EXEEXT) &
\r
63 $(ODIR)/mandelbrot$(EXEEXT) &
\r
64 $(ODIR)/menubar$(EXEEXT) &
\r
65 $(ODIR)/message$(EXEEXT) &
\r
66 $(ODIR)/minimum$(EXEEXT) &
\r
67 $(ODIR)/native-filechooser$(EXEEXT) &
\r
68 $(ODIR)/navigation$(EXEEXT) &
\r
69 $(ODIR)/output$(EXEEXT) &
\r
70 $(ODIR)/overlay$(EXEEXT) &
\r
71 $(ODIR)/pack$(EXEEXT) &
\r
72 $(ODIR)/pixmap$(EXEEXT) &
\r
73 $(ODIR)/pixmap_browser$(EXEEXT) &
\r
74 $(ODIR)/preferences$(EXEEXT) &
\r
75 $(ODIR)/radio$(EXEEXT) &
\r
76 $(ODIR)/resize$(EXEEXT) &
\r
77 $(ODIR)/resizebox$(EXEEXT) &
\r
78 $(ODIR)/scroll$(EXEEXT) &
\r
79 $(ODIR)/subwindow$(EXEEXT) &
\r
80 $(ODIR)/symbols$(EXEEXT) &
\r
81 $(ODIR)/tabs$(EXEEXT) &
\r
82 $(ODIR)/threads$(EXEEXT) &
\r
83 $(ODIR)/tile$(EXEEXT) &
\r
84 $(ODIR)/tiled_image$(EXEEXT) &
\r
85 $(ODIR)/valuators$(EXEEXT)
\r
88 $(ODIR)/cube$(EXEEXT) &
\r
89 $(ODIR)/CubeView$(EXEEXT) &
\r
90 $(ODIR)/fractals$(EXEEXT) &
\r
91 $(ODIR)/fullscreen$(EXEEXT) &
\r
92 $(ODIR)/gl_overlay$(EXEEXT) &
\r
93 $(ODIR)/glpuzzle$(EXEEXT) &
\r
94 $(ODIR)/shape$(EXEEXT)
\r
96 all: $(ALL) $(GLALL)
\r
101 # FLUID file rules. We could put them in ../watcom.mif really, but that needs testing.
\r
103 echo Generating $<...
\r
104 -..\fluid\$(ODIR)\fluid$(EXEEXT) -c $[@
\r
107 echo Generating $<...
\r
108 -..\fluid\$(ODIR)\fluid$(EXEEXT) -c $[@
\r
110 # All demos depend on the FLTK library...
\r
113 # General demos..... Normally a executable depending on an object file of the same name
\r
114 # shouldn't need a target line. But if different output directories are used, changes
\r
115 # in sources files are not picked up, so we do need a line per target.
\r
117 $(ODIR)/unittests$(EXEEXT) : $(ODIR)/unittests.obj
\r
119 $(ODIR)/adjuster$(EXEEXT) : $(ODIR)/adjuster.obj
\r
121 $(ODIR)/arc$(EXEEXT) : $(ODIR)/arc.obj
\r
123 $(ODIR)/ask$(EXEEXT) : $(ODIR)/ask.obj
\r
125 $(ODIR)/bitmap$(EXEEXT) : $(ODIR)/bitmap.obj
\r
127 $(ODIR)/boxtype$(EXEEXT) : $(ODIR)/boxtype.obj
\r
129 $(ODIR)/browser$(EXEEXT) : $(ODIR)/browser.obj
\r
131 $(ODIR)/button$(EXEEXT) : $(ODIR)/button.obj
\r
133 $(ODIR)/buttons$(EXEEXT) : $(ODIR)/buttons.obj
\r
135 $(ODIR)/checkers$(EXEEXT) : $(ODIR)/checkers.obj
\r
137 $(ODIR)/clock$(EXEEXT) : $(ODIR)/clock.obj
\r
139 $(ODIR)/colbrowser$(EXEEXT) : $(ODIR)/colbrowser.obj
\r
141 $(ODIR)/color_chooser$(EXEEXT) : $(ODIR)/color_chooser.obj
\r
143 $(ODIR)/cursor$(EXEEXT) : $(ODIR)/cursor.obj
\r
145 $(ODIR)/curve$(EXEEXT) : $(ODIR)/curve.obj
\r
147 $(ODIR)/demo$(EXEEXT) : $(ODIR)/demo.obj
\r
149 $(ODIR)/doublebuffer$(EXEEXT) : $(ODIR)/doublebuffer.obj
\r
151 $(ODIR)/editor$(EXEEXT) : $(ODIR)/editor.obj
\r
153 $(ODIR)/fast_slow$(EXEEXT) : $(ODIR)/fast_slow.obj
\r
155 $(ODIR)/file_chooser$(EXEEXT) : $(ODIR)/file_chooser.obj
\r
157 $(ODIR)/fonts$(EXEEXT) : $(ODIR)/fonts.obj
\r
159 $(ODIR)/forms$(EXEEXT) : $(ODIR)/forms.obj
\r
161 $(ODIR)/hello$(EXEEXT) : $(ODIR)/hello.obj
\r
163 $(ODIR)/help$(EXEEXT) : $(ODIR)/help.obj
\r
165 $(ODIR)/iconize$(EXEEXT) : $(ODIR)/iconize.obj
\r
167 $(ODIR)/image$(EXEEXT) : $(ODIR)/image.obj
\r
169 $(ODIR)/inactive$(EXEEXT) : $(ODIR)/inactive.obj
\r
171 $(ODIR)/input$(EXEEXT) : $(ODIR)/input.obj
\r
173 $(ODIR)/label$(EXEEXT) : $(ODIR)/label.obj
\r
175 $(ODIR)/line_style$(EXEEXT) : $(ODIR)/line_style.obj
\r
177 $(ODIR)/list_visuals$(EXEEXT) : $(ODIR)/list_visuals.obj
\r
179 $(ODIR)/menubar$(EXEEXT) : $(ODIR)/menubar.obj
\r
181 $(ODIR)/message$(EXEEXT) : $(ODIR)/message.obj
\r
183 $(ODIR)/minimum$(EXEEXT) : $(ODIR)/minimum.obj
\r
185 $(ODIR)/native-filechooser$(EXEEXT) : $(ODIR)/native-filechooser.obj
\r
187 $(ODIR)/navigation$(EXEEXT) : $(ODIR)/navigation.obj
\r
189 $(ODIR)/output$(EXEEXT) : $(ODIR)/output.obj
\r
191 $(ODIR)/overlay$(EXEEXT) : $(ODIR)/overlay.obj
\r
193 $(ODIR)/pack$(EXEEXT) : $(ODIR)/pack.obj
\r
195 $(ODIR)/pixmap$(EXEEXT) : $(ODIR)/pixmap.obj
\r
197 $(ODIR)/pixmap_browser$(EXEEXT) : $(ODIR)/pixmap_browser.obj
\r
199 $(ODIR)/preferences$(EXEEXT) : $(ODIR)/preferences.obj
\r
201 $(ODIR)/radio$(EXEEXT) : $(ODIR)/radio.obj
\r
203 $(ODIR)/resize$(EXEEXT) : $(ODIR)/resize.obj
\r
205 $(ODIR)/resizebox$(EXEEXT) : $(ODIR)/resizebox.obj
\r
207 $(ODIR)/scroll$(EXEEXT) : $(ODIR)/scroll.obj
\r
209 $(ODIR)/subwindow$(EXEEXT) : $(ODIR)/subwindow.obj
\r
211 $(ODIR)/symbols$(EXEEXT) : $(ODIR)/symbols.obj
\r
213 $(ODIR)/tabs$(EXEEXT) : $(ODIR)/tabs.obj
\r
215 $(ODIR)/threads$(EXEEXT) : $(ODIR)/threads.obj
\r
217 $(ODIR)/tile$(EXEEXT) : $(ODIR)/tile.obj
\r
219 $(ODIR)/tiled_image$(EXEEXT) : $(ODIR)/tiled_image.obj
\r
221 $(ODIR)/valuators$(EXEEXT) : $(ODIR)/valuators.obj
\r
223 # Because keyboard_ui.obj is listed first, fluid will be used to generate the .cxx and .h file
\r
224 # so that when keyboard.obj is built, keyboard_ui.h is there.
\r
225 KBDOBJECTS=keyboard_ui.obj keyboard.obj
\r
226 $(ODIR)/keyboard$(EXEEXT): $(KBDOBJECTS) keyboard_ui.h
\r
228 @for %i in ($(KBDOBJECTS)) do @%append $^*.lk1 F $(ODIR)/%i
\r
229 @for %i in ($(LIBS)) do @%append $^*.lk1 L %i
\r
230 @for %i in ($(EXTRA_LIBS)) do @%append $^*.lk1 L %i
\r
231 @for %i in ($(SYSLIBS)) do @%append $^*.lk1 L %i
\r
232 $(LN) $(LNOPTS) name $^@ op map=$^* @$^*.lk1
\r
236 MDLOBJECTS=mandelbrot_ui.obj mandelbrot.obj
\r
237 $(ODIR)/mandelbrot$(EXEEXT): $(MDLOBJECTS)
\r
239 @for %i in ($(MDLOBJECTS)) do @%append $^*.lk1 F $(ODIR)/%i
\r
240 @for %i in ($(LIBS)) do @%append $^*.lk1 L %i
\r
241 @for %i in ($(EXTRA_LIBS)) do @%append $^*.lk1 L %i
\r
242 @for %i in ($(SYSLIBS)) do @%append $^*.lk1 L %i
\r
243 $(LN) $(LNOPTS) name $^@ op map=$^* @$^*.lk1
\r
246 # All OpenGL demos depend on the FLTK and FLTK_GL libraries...
\r
247 $(GLALL): $(LIBNAME) $(LIBNAMEGL)
\r
251 $(ODIR)/cube$(EXEEXT) : $(ODIR)/cube.obj
\r
253 $(ODIR)/fullscreen$(EXEEXT) : $(ODIR)/fullscreen.obj
\r
255 $(ODIR)/gl_overlay$(EXEEXT) : $(ODIR)/gl_overlay.obj
\r
257 $(ODIR)/glpuzzle$(EXEEXT) : $(ODIR)/glpuzzle.obj
\r
259 $(ODIR)/shape$(EXEEXT) : $(ODIR)/shape.obj
\r
261 CBVOBJECTS = CubeView.obj CubeViewUI.obj CubeMain.obj
\r
262 $(ODIR)/CubeView$(EXEEXT): $(CBVOBJECTS)
\r
264 @for %i in ($(CBVOBJECTS)) do @%append $^*.lk1 F $(ODIR)/%i
\r
265 @for %i in ($(LIBS)) do @%append $^*.lk1 L %i
\r
266 @for %i in ($(EXTRA_LIBS)) do @%append $^*.lk1 L %i
\r
267 @for %i in ($(SYSLIBS)) do @%append $^*.lk1 L %i
\r
268 $(LN) $(LNOPTS) name $^@ op map=$^* @$^*.lk1
\r
271 FRTOBJECTS = fractals.obj fracviewer.obj
\r
272 $(ODIR)/fractals$(EXEEXT): $(FRTOBJECTS)
\r
274 @for %i in ($(FRTOBJECTS)) do @%append $^*.lk1 F $(ODIR)/%i
\r
275 @for %i in ($(LIBS)) do @%append $^*.lk1 L %i
\r
276 @for %i in ($(EXTRA_LIBS)) do @%append $^*.lk1 L %i
\r
277 @for %i in ($(SYSLIBS)) do @%append $^*.lk1 L %i
\r
278 $(LN) $(LNOPTS) name $^@ op map=$^* @$^*.lk1
\r
282 # Clean all directories
\r
286 CLEANEXTS = exe map sym obj lk1
\r
287 @for %a in ($(CLEANEXTS)) do -rm -f $(ODIR)\*.%a
\r
289 FLUIDMADE = fastslow inactive keyboard_ui preferences radio resize tabs valuators
\r
290 @for %a in ($(FLUIDMADE)) do -rm -f %a.cxx %a.h
\r
293 # End of "$Id: makefile.wat 7913 2010-11-29 18:18:27Z greg.ercolano $".
\r