diff --git a/test/makefile.wat b/test/makefile.wat new file mode 100644 index 000000000..90a6182da --- /dev/null +++ b/test/makefile.wat @@ -0,0 +1,289 @@ +# +# "$Id: makefile.wat,v 1.1.2.1 2004/11/29 14:57:23 easysw Exp $" +# +# Test/example program makefile for the Fast Light Tool Kit (FLTK). +# +# Copyright 1998-2004 by Bill Spitzak and others. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. +# +# Please report all bugs and problems to "fltk-bugs@fltk.org". +# + +!include ../watcom.mif + +ALL = & + $(ODIR)/unittests$(EXEEXT) & + $(ODIR)/adjuster$(EXEEXT) & + $(ODIR)/arc$(EXEEXT) & + $(ODIR)/ask$(EXEEXT) & + $(ODIR)/bitmap$(EXEEXT) & + $(ODIR)/boxtype$(EXEEXT) & + $(ODIR)/browser$(EXEEXT) & + $(ODIR)/button$(EXEEXT) & + $(ODIR)/buttons$(EXEEXT) & + $(ODIR)/checkers$(EXEEXT) & + $(ODIR)/clock$(EXEEXT) & + $(ODIR)/colbrowser$(EXEEXT) & + $(ODIR)/color_chooser$(EXEEXT) & + $(ODIR)/cursor$(EXEEXT) & + $(ODIR)/curve$(EXEEXT) & + $(ODIR)/demo$(EXEEXT) & + $(ODIR)/doublebuffer$(EXEEXT) & + $(ODIR)/editor$(EXEEXT) & + $(ODIR)/fast_slow$(EXEEXT) & + $(ODIR)/file_chooser$(EXEEXT) & + $(ODIR)/fonts$(EXEEXT) & + $(ODIR)/forms$(EXEEXT) & + $(ODIR)/hello$(EXEEXT) & + $(ODIR)/help$(EXEEXT) & + $(ODIR)/iconize$(EXEEXT) & + $(ODIR)/image$(EXEEXT) & + $(ODIR)/inactive$(EXEEXT) & + $(ODIR)/input$(EXEEXT) & + $(ODIR)/keyboard$(EXEEXT) & + $(ODIR)/label$(EXEEXT) & + $(ODIR)/line_style$(EXEEXT) & + $(ODIR)/list_visuals$(EXEEXT) & + $(ODIR)/mandelbrot$(EXEEXT) & + $(ODIR)/menubar$(EXEEXT) & + $(ODIR)/message$(EXEEXT) & + $(ODIR)/minimum$(EXEEXT) & + $(ODIR)/navigation$(EXEEXT) & + $(ODIR)/output$(EXEEXT) & + $(ODIR)/overlay$(EXEEXT) & + $(ODIR)/pack$(EXEEXT) & + $(ODIR)/pixmap$(EXEEXT) & + $(ODIR)/pixmap_browser$(EXEEXT) & + $(ODIR)/preferences$(EXEEXT) & + $(ODIR)/radio$(EXEEXT) & + $(ODIR)/resize$(EXEEXT) & + $(ODIR)/resizebox$(EXEEXT) & + $(ODIR)/scroll$(EXEEXT) & + $(ODIR)/subwindow$(EXEEXT) & + $(ODIR)/symbols$(EXEEXT) & + $(ODIR)/tabs$(EXEEXT) & + $(ODIR)/threads$(EXEEXT) & + $(ODIR)/tile$(EXEEXT) & + $(ODIR)/tiled_image$(EXEEXT) & + $(ODIR)/valuators$(EXEEXT) + +GLALL = & + $(ODIR)/cube$(EXEEXT) & + $(ODIR)/CubeView$(EXEEXT) & + $(ODIR)/fractals$(EXEEXT) & + $(ODIR)/fullscreen$(EXEEXT) & + $(ODIR)/gl_overlay$(EXEEXT) & + $(ODIR)/glpuzzle$(EXEEXT) & + $(ODIR)/shape$(EXEEXT) + +all: $(ALL) $(GLALL) + +gldemos: $(GLALL) + + +# FLUID file rules. We could put them in ../watcom.mif really, but that needs testing. +.fl.cxx: + echo Generating $<... + -..\fluid\$(ODIR)\fluid$(EXEEXT) -c $[@ + +.fl.h: + echo Generating $<... + -..\fluid\$(ODIR)\fluid$(EXEEXT) -c $[@ + +# All demos depend on the FLTK library... +$(ALL): $(LIBNAME) + +# General demos..... Normally a executable depending on an object file of the same name +# shouldn't need a target line. But if different output directories are used, changes +# in sources files are not picked up, so we do need a line per target. + +$(ODIR)/unittests$(EXEEXT) : $(ODIR)/unittests.obj + +$(ODIR)/adjuster$(EXEEXT) : $(ODIR)/adjuster.obj + +$(ODIR)/arc$(EXEEXT) : $(ODIR)/arc.obj + +$(ODIR)/ask$(EXEEXT) : $(ODIR)/ask.obj + +$(ODIR)/bitmap$(EXEEXT) : $(ODIR)/bitmap.obj + +$(ODIR)/boxtype$(EXEEXT) : $(ODIR)/boxtype.obj + +$(ODIR)/browser$(EXEEXT) : $(ODIR)/browser.obj + +$(ODIR)/button$(EXEEXT) : $(ODIR)/button.obj + +$(ODIR)/buttons$(EXEEXT) : $(ODIR)/buttons.obj + +$(ODIR)/checkers$(EXEEXT) : $(ODIR)/checkers.obj + +$(ODIR)/clock$(EXEEXT) : $(ODIR)/clock.obj + +$(ODIR)/colbrowser$(EXEEXT) : $(ODIR)/colbrowser.obj + +$(ODIR)/color_chooser$(EXEEXT) : $(ODIR)/color_chooser.obj + +$(ODIR)/cursor$(EXEEXT) : $(ODIR)/cursor.obj + +$(ODIR)/curve$(EXEEXT) : $(ODIR)/curve.obj + +$(ODIR)/demo$(EXEEXT) : $(ODIR)/demo.obj + +$(ODIR)/doublebuffer$(EXEEXT) : $(ODIR)/doublebuffer.obj + +$(ODIR)/editor$(EXEEXT) : $(ODIR)/editor.obj + +$(ODIR)/fast_slow$(EXEEXT) : $(ODIR)/fast_slow.obj + +$(ODIR)/file_chooser$(EXEEXT) : $(ODIR)/file_chooser.obj + +$(ODIR)/fonts$(EXEEXT) : $(ODIR)/fonts.obj + +$(ODIR)/forms$(EXEEXT) : $(ODIR)/forms.obj + +$(ODIR)/hello$(EXEEXT) : $(ODIR)/hello.obj + +$(ODIR)/help$(EXEEXT) : $(ODIR)/help.obj + +$(ODIR)/iconize$(EXEEXT) : $(ODIR)/iconize.obj + +$(ODIR)/image$(EXEEXT) : $(ODIR)/image.obj + +$(ODIR)/inactive$(EXEEXT) : $(ODIR)/inactive.obj + +$(ODIR)/input$(EXEEXT) : $(ODIR)/input.obj + +$(ODIR)/label$(EXEEXT) : $(ODIR)/label.obj + +$(ODIR)/line_style$(EXEEXT) : $(ODIR)/line_style.obj + +$(ODIR)/list_visuals$(EXEEXT) : $(ODIR)/list_visuals.obj + +$(ODIR)/menubar$(EXEEXT) : $(ODIR)/menubar.obj + +$(ODIR)/message$(EXEEXT) : $(ODIR)/message.obj + +$(ODIR)/minimum$(EXEEXT) : $(ODIR)/minimum.obj + +$(ODIR)/navigation$(EXEEXT) : $(ODIR)/navigation.obj + +$(ODIR)/output$(EXEEXT) : $(ODIR)/output.obj + +$(ODIR)/overlay$(EXEEXT) : $(ODIR)/overlay.obj + +$(ODIR)/pack$(EXEEXT) : $(ODIR)/pack.obj + +$(ODIR)/pixmap$(EXEEXT) : $(ODIR)/pixmap.obj + +$(ODIR)/pixmap_browser$(EXEEXT) : $(ODIR)/pixmap_browser.obj + +$(ODIR)/preferences$(EXEEXT) : $(ODIR)/preferences.obj + +$(ODIR)/radio$(EXEEXT) : $(ODIR)/radio.obj + +$(ODIR)/resize$(EXEEXT) : $(ODIR)/resize.obj + +$(ODIR)/resizebox$(EXEEXT) : $(ODIR)/resizebox.obj + +$(ODIR)/scroll$(EXEEXT) : $(ODIR)/scroll.obj + +$(ODIR)/subwindow$(EXEEXT) : $(ODIR)/subwindow.obj + +$(ODIR)/symbols$(EXEEXT) : $(ODIR)/symbols.obj + +$(ODIR)/tabs$(EXEEXT) : $(ODIR)/tabs.obj + +$(ODIR)/threads$(EXEEXT) : $(ODIR)/threads.obj + +$(ODIR)/tile$(EXEEXT) : $(ODIR)/tile.obj + +$(ODIR)/tiled_image$(EXEEXT) : $(ODIR)/tiled_image.obj + +$(ODIR)/valuators$(EXEEXT) : $(ODIR)/valuators.obj + +# Because keyboard_ui.obj is listed first, fluid will be used to generate the .cxx and .h file +# so that when keyboard.obj is built, keyboard_ui.h is there. +KBDOBJECTS=keyboard_ui.obj keyboard.obj +$(ODIR)/keyboard$(EXEEXT): $(KBDOBJECTS) keyboard_ui.h + @%create $^*.lk1 + @for %i in ($(KBDOBJECTS)) do @%append $^*.lk1 F $(ODIR)/%i + @for %i in ($(LIBS)) do @%append $^*.lk1 L %i + @for %i in ($(EXTRA_LIBS)) do @%append $^*.lk1 L %i + @for %i in ($(SYSLIBS)) do @%append $^*.lk1 L %i + $(LN) $(LNOPTS) name $^@ op map=$^* @$^*.lk1 + @del $^*.lk1 + @set KBDOBJECTS= + +MDLOBJECTS=mandelbrot_ui.obj mandelbrot.obj +$(ODIR)/mandelbrot$(EXEEXT): $(MDLOBJECTS) + @%create $^*.lk1 + @for %i in ($(MDLOBJECTS)) do @%append $^*.lk1 F $(ODIR)/%i + @for %i in ($(LIBS)) do @%append $^*.lk1 L %i + @for %i in ($(EXTRA_LIBS)) do @%append $^*.lk1 L %i + @for %i in ($(SYSLIBS)) do @%append $^*.lk1 L %i + $(LN) $(LNOPTS) name $^@ op map=$^* @$^*.lk1 + @del $^*.lk1 + +# All OpenGL demos depend on the FLTK and FLTK_GL libraries... +$(GLALL): $(LIBNAME) $(LIBNAMEGL) + +# OpenGL demos... + +$(ODIR)/cube$(EXEEXT) : $(ODIR)/cube.obj + +$(ODIR)/fullscreen$(EXEEXT) : $(ODIR)/fullscreen.obj + +$(ODIR)/gl_overlay$(EXEEXT) : $(ODIR)/gl_overlay.obj + +$(ODIR)/glpuzzle$(EXEEXT) : $(ODIR)/glpuzzle.obj + +$(ODIR)/shape$(EXEEXT) : $(ODIR)/shape.obj + +CBVOBJECTS = CubeView.obj CubeViewUI.obj CubeMain.obj +$(ODIR)/CubeView$(EXEEXT): $(CBVOBJECTS) + @%create $^*.lk1 + @for %i in ($(CBVOBJECTS)) do @%append $^*.lk1 F $(ODIR)/%i + @for %i in ($(LIBS)) do @%append $^*.lk1 L %i + @for %i in ($(EXTRA_LIBS)) do @%append $^*.lk1 L %i + @for %i in ($(SYSLIBS)) do @%append $^*.lk1 L %i + $(LN) $(LNOPTS) name $^@ op map=$^* @$^*.lk1 + @del $^*.lk1 + +FRTOBJECTS = fractals.obj fracviewer.obj +$(ODIR)/fractals$(EXEEXT): $(FRTOBJECTS) + @%create $^*.lk1 + @for %i in ($(FRTOBJECTS)) do @%append $^*.lk1 F $(ODIR)/%i + @for %i in ($(LIBS)) do @%append $^*.lk1 L %i + @for %i in ($(EXTRA_LIBS)) do @%append $^*.lk1 L %i + @for %i in ($(SYSLIBS)) do @%append $^*.lk1 L %i + $(LN) $(LNOPTS) name $^@ op map=$^* @$^*.lk1 + @del $^*.lk1 + +# +# Clean all directories +# +clean : .SYMBOLIC + @echo Cleaning up. +CLEANEXTS = exe map sym obj lk1 + @for %a in ($(CLEANEXTS)) do -rm -f $(ODIR)\*.%a + -rm -f *.err +FLUIDMADE = fastslow inactive keyboard_ui preferences radio resize tabs valuators + @for %a in ($(FLUIDMADE)) do -rm -f %a.cxx %a.h + +# +# End of "$Id: makefile.wat,v 1.1.2.1 2004/11/29 14:57:23 easysw Exp $". +#