diff options
| author | maxim nikonov <maxim.nikonov@hqo.co> | 2026-02-05 15:21:34 +0500 |
|---|---|---|
| committer | maxim nikonov <maxim.nikonov@hqo.co> | 2026-02-05 15:21:34 +0500 |
| commit | db214d1145e46d527a46d1fc2519548d2c4d23f1 (patch) | |
| tree | cf0fd9922e4d54f6beb63888f9b28c8e2a787bdf /Makefile | |
| parent | 75fc94d6c71fe686f6dde5b41ad91cba2f6bdd6f (diff) | |
wip: fork
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 656 |
1 files changed, 656 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..8739b9460 --- /dev/null +++ b/Makefile @@ -0,0 +1,656 @@ +# +# Makefile for FLTK (Fast Light Toolkit) +# +# X11-only build with Cairo/Pango support. +# No CMake, no autoconf. +# +# Copyright 1998-2026 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. +# + +####################################################################### +# Configuration +####################################################################### + +PREFIX = /usr/local +BINDIR = $(PREFIX)/bin +LIBDIR = $(PREFIX)/lib +INCLUDEDIR = $(PREFIX)/include + +# Compiler settings +CXX = g++ +CC = gcc +AR = ar +RANLIB = ranlib + +# Base flags +CFLAGS = -O2 -Wall -fPIC +CXXFLAGS = -O2 -Wall -fPIC -std=c++11 + +# FLTK-specific defines +DEFINES = -DFL_LIBRARY + +# Include directories +# Note: -I./fluid is needed for fluid sources that use relative includes +INCLUDES = -I. -I./src -I./jpeg -I./png -I./zlib -I./fluid + +# Platform detection and X11 paths +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Darwin) + # macOS with XQuartz + X11_CFLAGS = -I/opt/X11/include + X11_LIBS = -L/opt/X11/lib -lX11 -lXext -lXft -lXinerama -lXcursor -lXfixes -lXrender +else + # Linux - use pkg-config + X11_CFLAGS = $(shell pkg-config --cflags x11 xext xft xinerama xcursor xfixes xrender) + X11_LIBS = $(shell pkg-config --libs x11 xext xft xinerama xcursor xfixes xrender) +endif + +CAIRO_CFLAGS = $(shell pkg-config --cflags cairo pangocairo pango) +CAIRO_LIBS = $(shell pkg-config --libs cairo pangocairo pango gobject-2.0) + +GL_CFLAGS = $(shell pkg-config --cflags gl glu) +GL_LIBS = $(shell pkg-config --libs gl glu) + +# We use bundled jpeg/png/zlib, no system library needed +PNG_LIBS = +JPEG_LIBS = + +# Combined flags +ALL_CFLAGS = $(CFLAGS) $(DEFINES) $(INCLUDES) $(X11_CFLAGS) $(CAIRO_CFLAGS) +ALL_CXXFLAGS = $(CXXFLAGS) $(DEFINES) $(INCLUDES) $(X11_CFLAGS) $(CAIRO_CFLAGS) + +# Libraries for linking +FLTK_LDLIBS = $(X11_LIBS) $(CAIRO_LIBS) -lm -ldl -lpthread + +####################################################################### +# Source files for libfltk.a (core library) +####################################################################### + +CORE_SRCS = \ + src/Fl.cxx \ + src/Fl_Adjuster.cxx \ + src/Fl_Bitmap.cxx \ + src/Fl_Browser.cxx \ + src/Fl_Browser_.cxx \ + src/Fl_Browser_load.cxx \ + src/Fl_Box.cxx \ + src/Fl_Button.cxx \ + src/Fl_Cairo.cxx \ + src/Fl_Chart.cxx \ + src/Fl_Check_Browser.cxx \ + src/Fl_Check_Button.cxx \ + src/Fl_Choice.cxx \ + src/Fl_Clock.cxx \ + src/Fl_Color_Chooser.cxx \ + src/Fl_Copy_Surface.cxx \ + src/Fl_Counter.cxx \ + src/Fl_Device.cxx \ + src/Fl_Dial.cxx \ + src/Fl_Double_Window.cxx \ + src/Fl_File_Browser.cxx \ + src/Fl_File_Chooser.cxx \ + src/Fl_File_Chooser2.cxx \ + src/Fl_File_Icon.cxx \ + src/Fl_File_Input.cxx \ + src/Fl_Flex.cxx \ + src/Fl_Graphics_Driver.cxx \ + src/Fl_Grid.cxx \ + src/Fl_Group.cxx \ + src/Fl_Help_View.cxx \ + src/Fl_Image.cxx \ + src/Fl_Image_Surface.cxx \ + src/Fl_Input.cxx \ + src/Fl_Input_.cxx \ + src/Fl_Input_Choice.cxx \ + src/Fl_Light_Button.cxx \ + src/Fl_Menu.cxx \ + src/Fl_Menu_.cxx \ + src/Fl_Menu_Bar.cxx \ + src/Fl_Menu_Button.cxx \ + src/Fl_Menu_Window.cxx \ + src/Fl_Menu_add.cxx \ + src/Fl_Menu_global.cxx \ + src/Fl_Message.cxx \ + src/Fl_Multi_Label.cxx \ + src/Fl_Native_File_Chooser.cxx \ + src/Fl_Overlay_Window.cxx \ + src/Fl_Pack.cxx \ + src/Fl_Paged_Device.cxx \ + src/Fl_Pixmap.cxx \ + src/Fl_Positioner.cxx \ + src/Fl_Preferences.cxx \ + src/Fl_Printer.cxx \ + src/Fl_Progress.cxx \ + src/Fl_Repeat_Button.cxx \ + src/Fl_Return_Button.cxx \ + src/Fl_Roller.cxx \ + src/Fl_Round_Button.cxx \ + src/Fl_Scheme.cxx \ + src/Fl_Scheme_Choice.cxx \ + src/Fl_Screen_Driver.cxx \ + src/Fl_Scroll.cxx \ + src/Fl_Scrollbar.cxx \ + src/Fl_Shared_Image.cxx \ + src/Fl_Shortcut_Button.cxx \ + src/Fl_Single_Window.cxx \ + src/Fl_Slider.cxx \ + src/Fl_Spinner.cxx \ + src/Fl_Sys_Menu_Bar.cxx \ + src/Fl_System_Driver.cxx \ + src/Fl_Table.cxx \ + src/Fl_Table_Row.cxx \ + src/Fl_Tabs.cxx \ + src/Fl_Terminal.cxx \ + src/Fl_Text_Buffer.cxx \ + src/Fl_Text_Display.cxx \ + src/Fl_Text_Editor.cxx \ + src/Fl_Tile.cxx \ + src/Fl_Tiled_Image.cxx \ + src/Fl_Timeout.cxx \ + src/Fl_Tooltip.cxx \ + src/Fl_Tree.cxx \ + src/Fl_Tree_Item_Array.cxx \ + src/Fl_Tree_Item.cxx \ + src/Fl_Tree_Prefs.cxx \ + src/Fl_Valuator.cxx \ + src/Fl_Value_Input.cxx \ + src/Fl_Value_Output.cxx \ + src/Fl_Value_Slider.cxx \ + src/Fl_Widget.cxx \ + src/Fl_Widget_Surface.cxx \ + src/Fl_Window.cxx \ + src/Fl_Window_Driver.cxx \ + src/Fl_Window_fullscreen.cxx \ + src/Fl_Window_hotspot.cxx \ + src/Fl_Window_iconize.cxx \ + src/Fl_Wizard.cxx \ + src/Fl_XBM_Image.cxx \ + src/Fl_XPM_Image.cxx \ + src/Fl_abort.cxx \ + src/Fl_add_idle.cxx \ + src/Fl_arg.cxx \ + src/Fl_compose.cxx \ + src/Fl_display.cxx \ + src/Fl_get_system_colors.cxx \ + src/Fl_grab.cxx \ + src/Fl_lock.cxx \ + src/Fl_own_colormap.cxx \ + src/Fl_visual.cxx \ + src/filename_absolute.cxx \ + src/filename_expand.cxx \ + src/filename_ext.cxx \ + src/filename_isdir.cxx \ + src/filename_list.cxx \ + src/filename_match.cxx \ + src/filename_setext.cxx \ + src/fl_arc.cxx \ + src/fl_ask.cxx \ + src/fl_boxtype.cxx \ + src/fl_color.cxx \ + src/fl_contrast.cxx \ + src/fl_cursor.cxx \ + src/fl_curve.cxx \ + src/fl_diamond_box.cxx \ + src/fl_draw.cxx \ + src/fl_draw_arrow.cxx \ + src/fl_draw_pixmap.cxx \ + src/fl_encoding_latin1.cxx \ + src/fl_engraved_label.cxx \ + src/fl_file_dir.cxx \ + src/fl_font.cxx \ + src/fl_gleam.cxx \ + src/fl_gtk.cxx \ + src/fl_labeltype.cxx \ + src/fl_open_uri.cxx \ + src/fl_oval_box.cxx \ + src/fl_overlay.cxx \ + src/fl_oxy.cxx \ + src/fl_plastic.cxx \ + src/fl_read_image.cxx \ + src/fl_rect.cxx \ + src/fl_round_box.cxx \ + src/fl_rounded_box.cxx \ + src/fl_set_font.cxx \ + src/fl_scroll_area.cxx \ + src/fl_shadow_box.cxx \ + src/fl_shortcut.cxx \ + src/fl_show_colormap.cxx \ + src/fl_string_functions.cxx \ + src/fl_symbols.cxx \ + src/fl_utf8.cxx \ + src/fl_vertex.cxx \ + src/print_button.cxx \ + src/screen_xywh.cxx + +# X11 driver files +DRIVER_SRCS = \ + src/Fl_x.cxx \ + src/fl_dnd_x.cxx \ + src/Fl_get_key.cxx \ + src/Fl_Native_File_Chooser_FLTK.cxx \ + src/Fl_Native_File_Chooser_GTK.cxx \ + src/Fl_Native_File_Chooser_Kdialog.cxx \ + src/Fl_Native_File_Chooser_Zenity.cxx \ + src/drivers/Posix/Fl_Posix_Printer_Driver.cxx \ + src/drivers/Posix/Fl_Posix_System_Driver.cxx \ + src/drivers/Unix/Fl_Unix_Screen_Driver.cxx \ + src/drivers/Unix/Fl_Unix_System_Driver.cxx \ + src/drivers/X11/Fl_X11_Screen_Driver.cxx \ + src/drivers/X11/Fl_X11_Window_Driver.cxx \ + src/drivers/X11/fl_X11_platform_init.cxx \ + src/drivers/Xlib/Fl_Xlib_Copy_Surface_Driver.cxx \ + src/drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx \ + src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx \ + src/drivers/Cairo/Fl_X11_Cairo_Graphics_Driver.cxx + +# PostScript driver +PS_SRCS = \ + src/drivers/PostScript/Fl_PostScript.cxx \ + src/drivers/PostScript/Fl_PostScript_image.cxx + +# C source files +CORE_C_SRCS = \ + src/flstring.c \ + src/numericsort.c \ + src/vsnprintf.c \ + src/scandir_posix.c \ + src/xutf8/is_right2left.c \ + src/xutf8/is_spacing.c \ + src/xutf8/case.c \ + src/xutf8/keysym2Ucs.c + +# All core sources +LIBFLTK_SRCS = $(CORE_SRCS) $(DRIVER_SRCS) $(PS_SRCS) +LIBFLTK_C_SRCS = $(CORE_C_SRCS) + +####################################################################### +# Source files for libfltk_images.a +####################################################################### + +IMG_SRCS = \ + src/fl_images_core.cxx \ + src/fl_write_png.cxx \ + src/Fl_BMP_Image.cxx \ + src/Fl_File_Icon2.cxx \ + src/Fl_GIF_Image.cxx \ + src/Fl_Anim_GIF_Image.cxx \ + src/Fl_Help_Dialog.cxx \ + src/Fl_ICO_Image.cxx \ + src/Fl_JPEG_Image.cxx \ + src/Fl_PNG_Image.cxx \ + src/Fl_PNM_Image.cxx \ + src/Fl_Image_Reader.cxx \ + src/Fl_SVG_Image.cxx \ + src/nanosvg.cxx \ + src/drivers/SVG/Fl_SVG_File_Surface.cxx + +####################################################################### +# Source files for libfltk_forms.a +####################################################################### + +FORMS_SRCS = \ + src/forms_compatibility.cxx \ + src/forms_bitmap.cxx \ + src/forms_free.cxx \ + src/forms_fselect.cxx \ + src/forms_pixmap.cxx \ + src/forms_timer.cxx + +####################################################################### +# Source files for libfltk_gl.a +####################################################################### + +GL_SRCS = \ + src/Fl_Gl_Choice.cxx \ + src/Fl_Gl_Device_Plugin.cxx \ + src/Fl_Gl_Overlay.cxx \ + src/Fl_Gl_Window.cxx \ + src/freeglut_geometry.cxx \ + src/freeglut_stroke_mono_roman.cxx \ + src/freeglut_stroke_roman.cxx \ + src/freeglut_teapot.cxx \ + src/gl_draw.cxx \ + src/gl_start.cxx \ + src/glut_compatibility.cxx \ + src/glut_font.cxx \ + src/drivers/OpenGL/Fl_OpenGL_Display_Device.cxx \ + src/drivers/OpenGL/Fl_OpenGL_Graphics_Driver_arci.cxx \ + src/drivers/OpenGL/Fl_OpenGL_Graphics_Driver_color.cxx \ + src/drivers/OpenGL/Fl_OpenGL_Graphics_Driver_font.cxx \ + src/drivers/OpenGL/Fl_OpenGL_Graphics_Driver_line_style.cxx \ + src/drivers/OpenGL/Fl_OpenGL_Graphics_Driver_rect.cxx \ + src/drivers/OpenGL/Fl_OpenGL_Graphics_Driver_vertex.cxx \ + src/drivers/X11/Fl_X11_Gl_Window_Driver.cxx + +####################################################################### +# Source files for fluid +####################################################################### + +FLUID_SRCS = \ + fluid/main.cxx \ + fluid/Fluid.cxx \ + fluid/Project.cxx \ + fluid/app/args.cxx \ + fluid/app/Snap_Action.cxx \ + fluid/app/Image_Asset.cxx \ + fluid/app/history.cxx \ + fluid/app/Menu.cxx \ + fluid/app/shell_command.cxx \ + fluid/app/templates.cxx \ + fluid/io/Code_Writer.cxx \ + fluid/io/Project_Writer.cxx \ + fluid/io/Project_Reader.cxx \ + fluid/io/String_Writer.cxx \ + fluid/nodes/Tree.cxx \ + fluid/nodes/Button_Node.cxx \ + fluid/nodes/Function_Node.cxx \ + fluid/nodes/Grid_Node.cxx \ + fluid/nodes/Group_Node.cxx \ + fluid/nodes/Menu_Node.cxx \ + fluid/nodes/Node.cxx \ + fluid/nodes/Widget_Node.cxx \ + fluid/nodes/Window_Node.cxx \ + fluid/nodes/callbacks.cxx \ + fluid/nodes/factory.cxx \ + fluid/panels/about_panel.cxx \ + fluid/panels/codeview_panel.cxx \ + fluid/panels/function_panel.cxx \ + fluid/panels/settings_panel.cxx \ + fluid/panels/template_panel.cxx \ + fluid/panels/widget_panel.cxx \ + fluid/panels/widget_panel/Grid_Tab.cxx \ + fluid/panels/widget_panel/Grid_Child_Tab.cxx \ + fluid/proj/align_widget.cxx \ + fluid/proj/i18n.cxx \ + fluid/proj/mergeback.cxx \ + fluid/proj/undo.cxx \ + fluid/rsrcs/pixmaps.cxx \ + fluid/tools/ExternalCodeEditor_UNIX.cxx \ + fluid/tools/autodoc.cxx \ + fluid/tools/filename.cxx \ + fluid/widgets/App_Menu_Bar.cxx \ + fluid/widgets/Code_Editor.cxx \ + fluid/widgets/Code_Viewer.cxx \ + fluid/widgets/Text_Viewer.cxx \ + fluid/widgets/Formula_Input.cxx \ + fluid/widgets/Bin_Button.cxx \ + fluid/widgets/Style_Parser.cxx \ + fluid/widgets/Node_Browser.cxx + +####################################################################### +# Bundled libraries source files +####################################################################### + +JPEG_SRCS = \ + jpeg/jaricom.c \ + jpeg/jcapimin.c \ + jpeg/jcapistd.c \ + jpeg/jcarith.c \ + jpeg/jccoefct.c \ + jpeg/jccolor.c \ + jpeg/jcdctmgr.c \ + jpeg/jchuff.c \ + jpeg/jcinit.c \ + jpeg/jcmainct.c \ + jpeg/jcmarker.c \ + jpeg/jcmaster.c \ + jpeg/jcomapi.c \ + jpeg/jcparam.c \ + jpeg/jcprepct.c \ + jpeg/jcsample.c \ + jpeg/jctrans.c \ + jpeg/jdapimin.c \ + jpeg/jdapistd.c \ + jpeg/jdarith.c \ + jpeg/jdatadst.c \ + jpeg/jdatasrc.c \ + jpeg/jdcoefct.c \ + jpeg/jdcolor.c \ + jpeg/jddctmgr.c \ + jpeg/jdhuff.c \ + jpeg/jdinput.c \ + jpeg/jdmainct.c \ + jpeg/jdmarker.c \ + jpeg/jdmaster.c \ + jpeg/jdmerge.c \ + jpeg/jdpostct.c \ + jpeg/jdsample.c \ + jpeg/jdtrans.c \ + jpeg/jerror.c \ + jpeg/jfdctflt.c \ + jpeg/jfdctfst.c \ + jpeg/jfdctint.c \ + jpeg/jidctflt.c \ + jpeg/jidctfst.c \ + jpeg/jidctint.c \ + jpeg/jmemmgr.c \ + jpeg/jmemnobs.c \ + jpeg/jquant1.c \ + jpeg/jquant2.c \ + jpeg/jutils.c + +PNG_SRCS = \ + png/png.c \ + png/pngerror.c \ + png/pngget.c \ + png/pngmem.c \ + png/pngpread.c \ + png/pngread.c \ + png/pngrio.c \ + png/pngrtran.c \ + png/pngrutil.c \ + png/pngset.c \ + png/pngtrans.c \ + png/pngwio.c \ + png/pngwrite.c \ + png/pngwtran.c \ + png/pngwutil.c \ + png/arm/arm_init.c \ + png/arm/filter_neon_intrinsics.c \ + png/arm/palette_neon_intrinsics.c + +ZLIB_SRCS = \ + zlib/adler32.c \ + zlib/compress.c \ + zlib/crc32.c \ + zlib/deflate.c \ + zlib/gzclose.c \ + zlib/gzlib.c \ + zlib/gzread.c \ + zlib/gzwrite.c \ + zlib/infback.c \ + zlib/inffast.c \ + zlib/inflate.c \ + zlib/inftrees.c \ + zlib/trees.c \ + zlib/uncompr.c \ + zlib/zutil.c + +####################################################################### +# Object files +####################################################################### + +LIBFLTK_OBJS = $(LIBFLTK_SRCS:.cxx=.o) +LIBFLTK_C_OBJS = $(LIBFLTK_C_SRCS:.c=.o) +IMG_OBJS = $(IMG_SRCS:.cxx=.o) +FORMS_OBJS = $(FORMS_SRCS:.cxx=.o) +GL_OBJS = $(GL_SRCS:.cxx=.o) +FLUID_OBJS = $(FLUID_SRCS:.cxx=.o) + +JPEG_OBJS = $(JPEG_SRCS:.c=.o) +PNG_OBJS = $(PNG_SRCS:.c=.o) +ZLIB_OBJS = $(ZLIB_SRCS:.c=.o) + +####################################################################### +# Targets +####################################################################### + +.PHONY: all clean install libs fluid + +all: libs fluid + +libs: lib/libfltk.a lib/libfltk_images.a lib/libfltk_forms.a lib/libfltk_gl.a \ + lib/libfltk_jpeg.a lib/libfltk_png.a lib/libfltk_z.a + +fluid: bin/fluid + +####################################################################### +# Directory creation +####################################################################### + +lib: + mkdir -p lib + +bin: + mkdir -p bin + +####################################################################### +# Core library +####################################################################### + +lib/libfltk.a: lib $(LIBFLTK_OBJS) $(LIBFLTK_C_OBJS) + $(AR) rcs $@ $(LIBFLTK_OBJS) $(LIBFLTK_C_OBJS) + $(RANLIB) $@ + +####################################################################### +# Image library +####################################################################### + +lib/libfltk_images.a: lib $(IMG_OBJS) + $(AR) rcs $@ $(IMG_OBJS) + $(RANLIB) $@ + +####################################################################### +# Forms library +####################################################################### + +lib/libfltk_forms.a: lib $(FORMS_OBJS) + $(AR) rcs $@ $(FORMS_OBJS) + $(RANLIB) $@ + +####################################################################### +# OpenGL library +####################################################################### + +lib/libfltk_gl.a: lib $(GL_OBJS) + $(AR) rcs $@ $(GL_OBJS) + $(RANLIB) $@ + +####################################################################### +# Bundled JPEG library +####################################################################### + +lib/libfltk_jpeg.a: lib $(JPEG_OBJS) + $(AR) rcs $@ $(JPEG_OBJS) + $(RANLIB) $@ + +####################################################################### +# Bundled PNG library +####################################################################### + +lib/libfltk_png.a: lib $(PNG_OBJS) + $(AR) rcs $@ $(PNG_OBJS) + $(RANLIB) $@ + +####################################################################### +# Bundled zlib library +####################################################################### + +lib/libfltk_z.a: lib $(ZLIB_OBJS) + $(AR) rcs $@ $(ZLIB_OBJS) + $(RANLIB) $@ + +####################################################################### +# Fluid executable +####################################################################### + +bin/fluid: bin lib/libfltk.a lib/libfltk_images.a $(FLUID_OBJS) + $(CXX) $(CXXFLAGS) -o $@ $(FLUID_OBJS) \ + -Llib -lfltk_images -lfltk -lfltk_jpeg -lfltk_png -lfltk_z \ + $(FLTK_LDLIBS) $(PNG_LIBS) $(JPEG_LIBS) + +####################################################################### +# Compilation rules +####################################################################### + +# C++ files +%.o: %.cxx + $(CXX) $(ALL_CXXFLAGS) -c -o $@ $< + +# C files +%.o: %.c + $(CC) $(ALL_CFLAGS) -c -o $@ $< + +# FLUID include flags +FLUID_CXXFLAGS = $(ALL_CXXFLAGS) -I./fluid + +# Special rules for fluid sources (need fluid include path) +# Pattern rules don't match subdirectories, so we need explicit rules +fluid/%.o: fluid/%.cxx + $(CXX) $(FLUID_CXXFLAGS) -c -o $@ $< + +fluid/app/%.o: fluid/app/%.cxx + $(CXX) $(FLUID_CXXFLAGS) -c -o $@ $< + +fluid/io/%.o: fluid/io/%.cxx + $(CXX) $(FLUID_CXXFLAGS) -c -o $@ $< + +fluid/nodes/%.o: fluid/nodes/%.cxx + $(CXX) $(FLUID_CXXFLAGS) -c -o $@ $< + +fluid/panels/%.o: fluid/panels/%.cxx + $(CXX) $(FLUID_CXXFLAGS) -c -o $@ $< + +fluid/panels/widget_panel/%.o: fluid/panels/widget_panel/%.cxx + $(CXX) $(FLUID_CXXFLAGS) -c -o $@ $< + +fluid/proj/%.o: fluid/proj/%.cxx + $(CXX) $(FLUID_CXXFLAGS) -c -o $@ $< + +fluid/rsrcs/%.o: fluid/rsrcs/%.cxx + $(CXX) $(FLUID_CXXFLAGS) -c -o $@ $< + +fluid/tools/%.o: fluid/tools/%.cxx + $(CXX) $(FLUID_CXXFLAGS) -c -o $@ $< + +fluid/widgets/%.o: fluid/widgets/%.cxx + $(CXX) $(FLUID_CXXFLAGS) -c -o $@ $< + +# Special rule for jpeg (needs its own include path) +jpeg/%.o: jpeg/%.c + $(CC) $(CFLAGS) -I./jpeg -c -o $@ $< + +# Special rule for png (needs zlib include path) +png/%.o: png/%.c + $(CC) $(CFLAGS) -I./png -I./zlib -c -o $@ $< + +# Special rule for zlib +zlib/%.o: zlib/%.c + $(CC) $(CFLAGS) -I./zlib -c -o $@ $< + +####################################################################### +# Clean +####################################################################### + +clean: + rm -f $(LIBFLTK_OBJS) $(LIBFLTK_C_OBJS) + rm -f $(IMG_OBJS) $(FORMS_OBJS) $(GL_OBJS) + rm -f $(FLUID_OBJS) + rm -f $(JPEG_OBJS) $(PNG_OBJS) $(ZLIB_OBJS) + rm -f lib/*.a + rm -f bin/fluid + +####################################################################### +# Install +####################################################################### + +install: all + mkdir -p $(DESTDIR)$(LIBDIR) + mkdir -p $(DESTDIR)$(INCLUDEDIR)/FL + mkdir -p $(DESTDIR)$(BINDIR) + cp lib/*.a $(DESTDIR)$(LIBDIR)/ + cp FL/*.H FL/*.h $(DESTDIR)$(INCLUDEDIR)/FL/ + cp bin/fluid $(DESTDIR)$(BINDIR)/ |
