fltk/fluid/Makefile
Matthias Melcher fd791a068e
Separate FLUID user documentation, screen shot automation (#936)
* CMake integration, no autotiools
* alignment panel is now correctly renamed to setting panel
* source view is now correctly renamed to code view
* Merge FLTK FLUID docs into FLUID user manual.
* Add two simple entry tutorials
* Remove FLUID chapter form FLTK docs.
* GitHub action to generate HTML and PDF docs and
  make the available as artefacts
2024-04-17 17:51:32 +02:00

151 lines
5.0 KiB
Makefile

#
# FLUID Makefile for the Fast Light Tool Kit (FLTK).
#
# Copyright 1998-2023 by Bill Spitzak and others.
#
# This library is free software. Distribution and use rights are outlined in
# the file "COPYING" which should have been included with this file. If this
# file is missing or damaged, see the license at:
#
# https://www.fltk.org/COPYING.php
#
# Please see the following page on how to report bugs and issues:
#
# https://www.fltk.org/bugs.php
#
include ../makeinclude
CPPFILES = \
CodeEditor.cxx \
StyleParse.cxx \
Fd_Snap_Action.cxx \
Fl_Button_Type.cxx \
Fl_Function_Type.cxx \
Fl_Grid_Type.cxx \
Fl_Group_Type.cxx \
Fl_Menu_Type.cxx \
Fl_Type.cxx \
Fl_Widget_Type.cxx \
Fl_Window_Type.cxx \
Fluid_Image.cxx \
about_panel.cxx \
align_widget.cxx \
settings_panel.cxx \
autodoc.cxx \
code.cxx \
custom_widgets.cxx \
factory.cxx \
file.cxx \
fluid.cxx \
fluid_filename.cxx \
function_panel.cxx \
mergeback.cxx \
pixmaps.cxx \
shell_command.cxx \
codeview_panel.cxx \
template_panel.cxx \
undo.cxx \
widget_browser.cxx \
widget_panel.cxx
# ExternalCodeEditor: platform specific files
CPPFILES_WIN = ExternalCodeEditor_WIN32.cxx
CPPFILES_OSX = ExternalCodeEditor_UNIX.cxx
CPPFILES_X11 = ExternalCodeEditor_UNIX.cxx
CPPFILES_XFT = ExternalCodeEditor_UNIX.cxx
CPPFILES_CAIRO = ExternalCodeEditor_UNIX.cxx
CPPFILES_WAYLAND = ExternalCodeEditor_UNIX.cxx
CPPFILES_WAYLANDX11 = ExternalCodeEditor_UNIX.cxx
CPPFILES += $(CPPFILES_$(BUILD))
################################################################
OBJECTS = $(CPPFILES:.cxx=.o)
all: $(FLUID) fluid$(EXEEXT)
fluid$(EXEEXT): $(OBJECTS) $(LIBNAME) $(IMGLIBNAME)
echo Linking $@...
$(CXX) $(ARCHFLAGS) $(CXXFLAGS) -o $@ $(OBJECTS) $(LINKFLTKIMG) $(LDFLAGS) $(LDLIBS)
$(OSX_ONLY) $(RM) -r -f fluid.app
$(OSX_ONLY) mkdir -p fluid.app/Contents/MacOS fluid.app/Contents/Resources
$(OSX_ONLY) $(INSTALL_BIN) fluid fluid.app/Contents/MacOS
$(OSX_ONLY) $(INSTALL) icons/fluid.icns fluid.app/Contents/Resources
$(OSX_ONLY) $(INSTALL) fluid.plist fluid.app/Contents/Info.plist
fluid-shared$(EXEEXT): $(OBJECTS) ../src/$(DSONAME) ../src/$(IMGDSONAME)
echo Linking $@...
$(CXX) $(ARCHFLAGS) $(CXXFLAGS) -o $@ $(OBJECTS) $(LINKSHARED) $(LDFLAGS) $(LDLIBS)
clean:
-$(RM) *.o core.* *~ *.bck *.bak
-$(RM) core fluid$(EXEEXT) fluid-shared$(EXEEXT)
$(OSX_ONLY) -$(RMDIR) fluid.app
depend: $(CPPFILES)
makedepend -Y -I.. -f makedepend -w 20 $(CPPFILES)
echo "# DO NOT DELETE THIS LINE -- make depend depends on it." > makedepend.tmp
echo "" >> makedepend.tmp
grep '^[a-zA-Z]' makedepend | ( LC_ALL=C sort -u -f >> makedepend.tmp; )
mv makedepend.tmp makedepend
# Automatically generated dependencies...
include makedepend
install: all
echo "Installing FLUID in $(DESTDIR)$(bindir)..."
-$(INSTALL_DIR) $(DESTDIR)$(bindir)
$(INSTALL_BIN) $(FLUID) $(DESTDIR)$(bindir)/fluid$(EXEEXT)
install-linux:
-$(INSTALL_DIR) $(DESTDIR)/usr/share/applications
$(INSTALL_DATA) fluid.desktop $(DESTDIR)/usr/share/applications
for size in 16 32 48 64 128; do \
if test ! -d $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/apps; then \
$(INSTALL_DIR) $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/apps; \
fi; \
$(INSTALL_DATA) icons/fluid-$$size.png $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/apps/fluid.png; \
done
-$(INSTALL_DIR) $(DESTDIR)/usr/share/mimelnk/application
$(INSTALL_DATA) x-fluid.desktop $(DESTDIR)/usr/share/mimelnk/application
install-osx:
echo Installing Fluid in $(DESTDIR)/Applications...
-$(INSTALL_DIR) $(DESTDIR)/Applications/fluid.app
-$(INSTALL_DIR) $(DESTDIR)/Applications/fluid.app/Contents
$(INSTALL_DATA) fluid.app/Contents/Info.plist $(DESTDIR)/Applications/fluid.app/Contents/Info.plist
-$(INSTALL_DIR) $(DESTDIR)/Applications/fluid.app/Contents/MacOS
$(RM) $(DESTDIR)/Applications/fluid.app/Contents/MacOS/fluid
$(LN) $(bindir)/fluid $(DESTDIR)/Applications/fluid.app/Contents/MacOS/fluid
-$(INSTALL_DIR) $(DESTDIR)/Applications/fluid.app/Contents/Resources
$(INSTALL_DATA) fluid.app/Contents/Resources/fluid.icns $(DESTDIR)/Applications/fluid.app/Contents/Resources
uninstall:
$(RM) $(DESTDIR)$(bindir)/fluid$(EXEEXT)
uninstall-linux:
$(RM) $(DESTDIR)/usr/share/applications/fluid.desktop
$(RM) $(DESTDIR)/usr/share/icons/hicolor/*/fluid.png
$(RM) $(DESTDIR)/usr/share/mimelnk/application/x-fluid.desktop
uninstall-osx:
$(RM) -r $(DESTDIR)/Applications/fluid.app
# Note: The rebuild target can only be used if you have the original .fl
# files. This is normally only used by the FLTK maintainers...
# It *must* be executed *after* fluid has been built and
# fluid must be rebuilt if any {.fl|.cxx|.h} files were changed.
rebuild: fluid$(EXEEXT)
echo 'Rebuilding fluid (.fl) and .cxx/.h files from .fl files ...'
./fluid$(EXEEXT) -u -c about_panel.fl
./fluid$(EXEEXT) -u -c settings_panel.fl
./fluid$(EXEEXT) -u -c function_panel.fl
./fluid$(EXEEXT) -u -c print_panel.fl
./fluid$(EXEEXT) -u -c codeview_panel.fl
./fluid$(EXEEXT) -u -c template_panel.fl
./fluid$(EXEEXT) -u -c widget_panel.fl