ffad932289
This integration is minimum as discussed, in particular it does not feature any fltk cairo drawing substitution as in fltk2. Still it provides all the fundations to go further even in next 1.4 ... By default *no* cairo features are implemented nor linked, it can only be activated by --enable-cairo whose default is false. Please visit the README.cairo for complete description. + fixed UTF8 compilation pb on linux ubuntu + minor comments fixes on the fly git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6350 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
471 lines
12 KiB
Makefile
471 lines
12 KiB
Makefile
#
|
|
# "$Id$"
|
|
#
|
|
# Test/example program makefile for the Fast Light Tool Kit (FLTK).
|
|
#
|
|
# Copyright 1998-2008 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 on the following page:
|
|
#
|
|
# http://www.fltk.org/str.php
|
|
#
|
|
|
|
include ../makeinclude
|
|
|
|
CPPFILES =\
|
|
unittests.cxx \
|
|
adjuster.cxx \
|
|
arc.cxx \
|
|
ask.cxx \
|
|
bitmap.cxx \
|
|
blocks.cxx \
|
|
boxtype.cxx \
|
|
browser.cxx \
|
|
button.cxx \
|
|
buttons.cxx \
|
|
cairo_test.cxx \
|
|
checkers.cxx \
|
|
clock.cxx \
|
|
colbrowser.cxx \
|
|
color_chooser.cxx \
|
|
cube.cxx \
|
|
CubeMain.cxx \
|
|
CubeView.cxx \
|
|
cursor.cxx \
|
|
curve.cxx \
|
|
demo.cxx \
|
|
doublebuffer.cxx \
|
|
editor.cxx \
|
|
fast_slow.cxx \
|
|
file_chooser.cxx \
|
|
fonts.cxx \
|
|
forms.cxx \
|
|
fractals.cxx \
|
|
fullscreen.cxx \
|
|
gl_overlay.cxx \
|
|
glpuzzle.cxx \
|
|
hello.cxx \
|
|
help.cxx \
|
|
iconize.cxx \
|
|
image.cxx \
|
|
inactive.cxx \
|
|
input.cxx \
|
|
input_choice.cxx \
|
|
keyboard.cxx \
|
|
label.cxx \
|
|
line_style.cxx \
|
|
list_visuals.cxx \
|
|
mandelbrot.cxx \
|
|
menubar.cxx \
|
|
message.cxx \
|
|
minimum.cxx \
|
|
navigation.cxx \
|
|
output.cxx \
|
|
overlay.cxx \
|
|
pack.cxx \
|
|
pixmap_browser.cxx \
|
|
pixmap.cxx \
|
|
preferences.cxx \
|
|
radio.cxx \
|
|
resizebox.cxx \
|
|
resize.cxx \
|
|
scroll.cxx \
|
|
shape.cxx \
|
|
subwindow.cxx \
|
|
sudoku.cxx \
|
|
symbols.cxx \
|
|
tabs.cxx \
|
|
threads.cxx \
|
|
tile.cxx \
|
|
tiled_image.cxx \
|
|
valuators.cxx \
|
|
utf8.cxx
|
|
|
|
ALL = \
|
|
unittests$(EXEEXT) \
|
|
adjuster$(EXEEXT) \
|
|
arc$(EXEEXT) \
|
|
ask$(EXEEXT) \
|
|
bitmap$(EXEEXT) \
|
|
blocks$(EXEEXT) \
|
|
boxtype$(EXEEXT) \
|
|
browser$(EXEEXT) \
|
|
button$(EXEEXT) \
|
|
buttons$(EXEEXT) \
|
|
cairo_test$(EXEEXT) \
|
|
checkers$(EXEEXT) \
|
|
clock$(EXEEXT) \
|
|
colbrowser$(EXEEXT) \
|
|
color_chooser$(EXEEXT) \
|
|
cursor$(EXEEXT) \
|
|
curve$(EXEEXT) \
|
|
demo$(EXEEXT) \
|
|
doublebuffer$(EXEEXT) \
|
|
editor$(EXEEXT) \
|
|
fast_slow$(EXEEXT) \
|
|
file_chooser$(EXEEXT) \
|
|
fonts$(EXEEXT) \
|
|
forms$(EXEEXT) \
|
|
hello$(EXEEXT) \
|
|
help$(EXEEXT) \
|
|
iconize$(EXEEXT) \
|
|
image$(EXEEXT) \
|
|
inactive$(EXEEXT) \
|
|
input$(EXEEXT) \
|
|
input_choice$(EXEEXT) \
|
|
keyboard$(EXEEXT) \
|
|
label$(EXEEXT) \
|
|
line_style$(EXEEXT) \
|
|
list_visuals$(EXEEXT) \
|
|
mandelbrot$(EXEEXT) \
|
|
menubar$(EXEEXT) \
|
|
message$(EXEEXT) \
|
|
minimum$(EXEEXT) \
|
|
navigation$(EXEEXT) \
|
|
output$(EXEEXT) \
|
|
overlay$(EXEEXT) \
|
|
pack$(EXEEXT) \
|
|
pixmap$(EXEEXT) \
|
|
pixmap_browser$(EXEEXT) \
|
|
preferences$(EXEEXT) \
|
|
radio$(EXEEXT) \
|
|
resize$(EXEEXT) \
|
|
resizebox$(EXEEXT) \
|
|
scroll$(EXEEXT) \
|
|
subwindow$(EXEEXT) \
|
|
sudoku$(EXEEXT) \
|
|
symbols$(EXEEXT) \
|
|
tabs$(EXEEXT) \
|
|
$(THREADS) \
|
|
tile$(EXEEXT) \
|
|
tiled_image$(EXEEXT) \
|
|
valuators$(EXEEXT) \
|
|
utf8$(EXEEXT)
|
|
|
|
|
|
GLALL = \
|
|
cube$(EXEEXT) \
|
|
CubeView$(EXEEXT) \
|
|
fractals$(EXEEXT) \
|
|
fullscreen$(EXEEXT) \
|
|
gl_overlay$(EXEEXT) \
|
|
glpuzzle$(EXEEXT) \
|
|
shape$(EXEEXT)
|
|
|
|
all: $(ALL) $(GLDEMOS)
|
|
|
|
gldemos: $(GLALL)
|
|
|
|
depend: $(CPPFILES)
|
|
makedepend -Y -I.. -f makedepend $(CPPFILES)
|
|
|
|
# Automatically generated dependencies...
|
|
include makedepend
|
|
|
|
clean:
|
|
$(RM) $(ALL) $(GLALL) core
|
|
$(RM) *.o core.* *~ *.bck *.bak
|
|
$(RM) CubeViewUI.cxx
|
|
$(RM) fast_slow.cxx
|
|
$(RM) inactive.cxx
|
|
$(RM) keyboard_ui.cxx
|
|
$(RM) mandelbrot_ui.cxx
|
|
$(RM) preferences.cxx
|
|
$(RM) radio.cxx
|
|
$(RM) resize.cxx
|
|
$(RM) tabs.cxx
|
|
$(RM) valuators.cxx
|
|
$(OSX_ONLY) $(RM) blocks.app/Contents/MacOS/blocks$(EXEEXT)
|
|
$(OSX_ONLY) $(RM) checkers.app/Contents/MacOS/checkers$(EXEEXT)
|
|
$(OSX_ONLY) $(RM) sudoku.app/Contents/MacOS/sudoku$(EXEEXT)
|
|
|
|
install: all
|
|
echo "Installing example programs to $(DESTDIR)$(docdir)/examples..."
|
|
-$(INSTALL_DIR) $(DESTDIR)$(docdir)/examples
|
|
for file in *.h *.cxx *.fl demo.menu; do \
|
|
$(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/examples; \
|
|
done
|
|
-$(INSTALL_DIR) $(DESTDIR)$(docdir)/examples/pixmaps
|
|
for file in pixmaps/*.xbm pixmaps/*.xpm; do \
|
|
$(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/examples/pixmaps; \
|
|
done
|
|
|
|
install-linux:
|
|
echo Installing games to $(DESTDIR)$(bindir)...
|
|
-$(INSTALL_DIR) $(DESTDIR)$(bindir)
|
|
-$(INSTALL_DIR) $(DESTDIR)/usr/share/applications
|
|
-$(INSTALL_DIR) $(DESTDIR)/usr/share/icons/hicolor/32x32/apps
|
|
-$(INSTALL_DIR) $(DESTDIR)/usr/share/icons/hicolor/128x128/apps
|
|
for game in blocks checkers sudoku; do \
|
|
$(INSTALL_BIN) $$game $(DESTDIR)$(bindir); \
|
|
$(INSTALL_DATA) desktop/$$game.desktop $(DESTDIR)/usr/share/applications; \
|
|
$(INSTALL_DATA) desktop/$$game-32.png $(DESTDIR)/usr/share/icons/hicolor/32x32/apps/$$game.png; \
|
|
$(INSTALL_DATA) desktop/$$game-128.png $(DESTDIR)/usr/share/icons/hicolor/128x128/apps/$$game.png; \
|
|
done
|
|
|
|
install-osx:
|
|
echo Installing games in $(DESTDIR)/Applications...
|
|
for game in blocks checkers sudoku; do \
|
|
if test ! -d $(DESTDIR)/Applications/$$game.app; then \
|
|
$(INSTALL_DIR) $(DESTDIR)/Applications/$$game.app; \
|
|
$(INSTALL_DIR) $(DESTDIR)/Applications/$$game.app/Contents; \
|
|
$(INSTALL_DIR) $(DESTDIR)/Applications/$$game.app/Contents/MacOS; \
|
|
$(INSTALL_DIR) $(DESTDIR)/Applications/$$game.app/Contents/Resources; \
|
|
fi; \
|
|
$(INSTALL_DATA) $$game.app/Contents/Info.plist $(DESTDIR)/Applications/$$game.app/Contents; \
|
|
$(INSTALL_DATA) $$game.app/Contents/PkgInfo $(DESTDIR)/Applications/$$game.app/Contents; \
|
|
$(INSTALL_BIN) $$game.app/Contents/MacOS/$$game $(DESTDIR)/Applications/$$game.app/Contents/MacOS; \
|
|
$(INSTALL_DATA) $$game.app/Contents/Resources/$$game.icns $(DESTDIR)/Applications/$$game.app/Contents/Resources; \
|
|
done
|
|
|
|
uninstall:
|
|
echo "Removing examples programs from $(DESTDIR)$(docdir)/examples..."
|
|
-$(RMDIR) $(DESTDIR)$(docdir)/examples
|
|
|
|
uninstall-linux:
|
|
echo Removing games from $(DESTDIR)$(bindir)...
|
|
for game in blocks checkers sudoku; do \
|
|
$(RM) $(DESTDIR)$(bindir)/$$game; \
|
|
$(RM) $(DESTDIR)/usr/share/applications/$$game.desktop; \
|
|
$(RM) $(DESTDIR)/usr/share/icons/hicolor/32x32/apps/$$game.png; \
|
|
$(RM) $(DESTDIR)/usr/share/icons/hicolor/128x128/apps/$$game.png; \
|
|
done
|
|
|
|
uninstall-osx:
|
|
echo Removing games from $(DESTDIR)/Applications...
|
|
$(RMDIR) $(DESTDIR)/Applications/blocks.app
|
|
$(RMDIR) $(DESTDIR)/Applications/checkers.app
|
|
$(RMDIR) $(DESTDIR)/Applications/sudoku.app
|
|
|
|
# FLUID file rules
|
|
.fl.cxx .fl.h: ../fluid/fluid$(EXEEXT)
|
|
echo Generating $@ and header from $<...
|
|
../fluid/fluid$(EXEEXT) -c $<
|
|
|
|
# All demos depend on the FLTK library...
|
|
$(ALL): ../lib/$(LIBNAME)
|
|
|
|
# General demos...
|
|
unittests$(EXEEXT): unittests.o
|
|
|
|
adjuster$(EXEEXT): adjuster.o
|
|
|
|
arc$(EXEEXT): arc.o
|
|
|
|
ask$(EXEEXT): ask.o
|
|
|
|
bitmap$(EXEEXT): bitmap.o
|
|
|
|
boxtype$(EXEEXT): boxtype.o
|
|
|
|
browser$(EXEEXT): browser.o
|
|
|
|
button$(EXEEXT): button.o
|
|
|
|
buttons$(EXEEXT): buttons.o
|
|
|
|
blocks$(EXEEXT): blocks.o
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) blocks.o -o $@ $(AUDIOLIBS) $(LINKFLTK) $(LDLIBS)
|
|
$(OSX_ONLY) $(INSTALL_BIN) blocks$(EXEEXT) blocks.app/Contents/MacOS
|
|
|
|
checkers$(EXEEXT): checkers.o
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) checkers.o -o $@ $(LINKFLTK) $(LDLIBS)
|
|
$(OSX_ONLY) $(INSTALL_BIN) checkers$(EXEEXT) checkers.app/Contents/MacOS
|
|
|
|
clock$(EXEEXT): clock.o
|
|
|
|
colbrowser$(EXEEXT): colbrowser.o
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ colbrowser.o $(LINKFLTKFORMS) $(LDLIBS)
|
|
|
|
color_chooser$(EXEEXT): color_chooser.o
|
|
|
|
cursor$(EXEEXT): cursor.o
|
|
|
|
curve$(EXEEXT): curve.o
|
|
|
|
demo$(EXEEXT): demo.o
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ demo.o $(LINKFLTKFORMS) $(LDLIBS)
|
|
|
|
doublebuffer$(EXEEXT): doublebuffer.o
|
|
|
|
editor$(EXEEXT): editor.o
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) editor.o -o $@ $(LINKFLTKIMG) $(LDLIBS)
|
|
|
|
fast_slow$(EXEEXT): fast_slow.o
|
|
fast_slow.cxx: fast_slow.fl ../fluid/fluid$(EXEEXT)
|
|
|
|
file_chooser$(EXEEXT): file_chooser.o ../lib/$(IMGLIBNAME)
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) file_chooser.o -o $@ $(LINKFLTKIMG) $(LDLIBS)
|
|
|
|
fonts$(EXEEXT): fonts.o
|
|
|
|
forms$(EXEEXT): forms.o
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ forms.o $(LINKFLTKFORMS) $(LDLIBS)
|
|
|
|
hello$(EXEEXT): hello.o
|
|
|
|
help$(EXEEXT): help.o ../lib/$(IMGLIBNAME)
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) help.o -o $@ $(LINKFLTKIMG) $(LDLIBS)
|
|
|
|
iconize$(EXEEXT): iconize.o
|
|
|
|
image$(EXEEXT): image.o
|
|
|
|
inactive$(EXEEXT): inactive.o
|
|
inactive.cxx: inactive.fl ../fluid/fluid$(EXEEXT)
|
|
|
|
input$(EXEEXT): input.o
|
|
|
|
input_choice$(EXEEXT): input_choice.o
|
|
|
|
keyboard$(EXEEXT): keyboard_ui.o keyboard.o
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ keyboard.o keyboard_ui.o $(LINKFLTK) $(LDLIBS)
|
|
keyboard_ui.o: keyboard_ui.h
|
|
keyboard_ui.cxx: keyboard_ui.fl ../fluid/fluid$(EXEEXT)
|
|
|
|
label$(EXEEXT): label.o
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ label.o $(LINKFLTKFORMS) $(LDLIBS)
|
|
|
|
line_style$(EXEEXT): line_style.o
|
|
|
|
list_visuals$(EXEEXT): list_visuals.o
|
|
|
|
mandelbrot$(EXEEXT): mandelbrot_ui.o mandelbrot.o
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ mandelbrot.o mandelbrot_ui.o $(LINKFLTK) $(LDLIBS)
|
|
mandelbrot_ui.o: mandelbrot_ui.h
|
|
mandelbrot_ui.cxx: mandelbrot_ui.fl ../fluid/fluid$(EXEEXT)
|
|
|
|
menubar$(EXEEXT): menubar.o
|
|
|
|
message$(EXEEXT): message.o
|
|
|
|
minimum$(EXEEXT): minimum.o
|
|
|
|
navigation$(EXEEXT): navigation.o
|
|
|
|
output$(EXEEXT): output.o ../lib/$(FLLIBNAME)
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ output.o $(LINKFLTKFORMS) $(LDLIBS)
|
|
|
|
overlay$(EXEEXT): overlay.o
|
|
|
|
pack$(EXEEXT): pack.o
|
|
|
|
pixmap$(EXEEXT): pixmap.o
|
|
|
|
pixmap_browser$(EXEEXT): pixmap_browser.o ../lib/$(IMGLIBNAME)
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) pixmap_browser.o -o $@ $(LINKFLTKIMG) $(LDLIBS)
|
|
|
|
preferences$(EXEEXT): preferences.o
|
|
preferences.cxx: preferences.fl ../fluid/fluid$(EXEEXT)
|
|
|
|
radio$(EXEEXT): radio.o
|
|
radio.cxx: radio.fl ../fluid/fluid$(EXEEXT)
|
|
|
|
resize$(EXEEXT): resize.o
|
|
resize.cxx: resize.fl ../fluid/fluid$(EXEEXT)
|
|
|
|
resizebox$(EXEEXT): resizebox.o
|
|
|
|
scroll$(EXEEXT): scroll.o
|
|
|
|
subwindow$(EXEEXT): subwindow.o
|
|
|
|
sudoku: sudoku.o
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) sudoku.o -o $@ $(AUDIOLIBS) $(LINKFLTKIMG) $(LDLIBS)
|
|
$(OSX_ONLY) $(INSTALL_BIN) sudoku$(EXEEXT) sudoku.app/Contents/MacOS
|
|
|
|
sudoku.exe: sudoku.o sudoku.rc
|
|
echo Linking $@...
|
|
windres sudoku.rc sudokures.o
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) sudoku.o sudokures.o -o $@ $(AUDIOLIBS) $(LINKFLTKIMG) $(LDLIBS)
|
|
|
|
symbols$(EXEEXT): symbols.o
|
|
|
|
tabs$(EXEEXT): tabs.o
|
|
tabs.cxx: tabs.fl ../fluid/fluid$(EXEEXT)
|
|
|
|
threads$(EXEEXT): threads.o
|
|
# This ensures that we have this dependency even if threads are not
|
|
# enabled in the current tree...
|
|
threads.o: threads.h
|
|
|
|
tile$(EXEEXT): tile.o
|
|
|
|
tiled_image$(EXEEXT): tiled_image.o
|
|
|
|
valuators$(EXEEXT): valuators.o
|
|
valuators.cxx: valuators.fl ../fluid/fluid$(EXEEXT)
|
|
|
|
# All OpenGL demos depend on the FLTK and FLTK_GL libraries...
|
|
$(GLALL): ../lib/$(LIBNAME) ../lib/$(GLLIBNAME)
|
|
|
|
# OpenGL demos...
|
|
CubeView$(EXEEXT): CubeMain.o CubeView.o CubeViewUI.o
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ \
|
|
CubeMain.o CubeView.o CubeViewUI.o \
|
|
$(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
|
|
CubeMain.o: CubeViewUI.h CubeView.h CubeViewUI.cxx
|
|
CubeView.o: CubeView.h
|
|
CubeViewUI.o: CubeViewUI.cxx CubeViewUI.h
|
|
CubeViewUI.cxx: CubeViewUI.fl ../fluid/fluid$(EXEEXT)
|
|
|
|
cube$(EXEEXT): cube.o
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ cube.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
|
|
|
|
fractals$(EXEEXT): fractals.o fracviewer.o
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ fractals.o fracviewer.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
|
|
|
|
fullscreen$(EXEEXT): fullscreen.o
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ fullscreen.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
|
|
|
|
glpuzzle$(EXEEXT): glpuzzle.o
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ glpuzzle.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
|
|
|
|
gl_overlay$(EXEEXT): gl_overlay.o
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ gl_overlay.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
|
|
|
|
shape$(EXEEXT): shape.o
|
|
echo Linking $@...
|
|
$(CXX) $(ARCHFLAGS) $(LDFLAGS) -o $@ shape.o $(LINKFLTKGL) $(LINKFLTK) $(GLDLIBS)
|
|
|
|
cairo_test$(EXEEXT): cairo_test.o
|
|
|
|
#
|
|
# End of "$Id$".
|
|
#
|