
I'm taking a page from Dolphin's book, and including copies of each dependency's source code. This combines the ease of use of including pre-built libraries instead of needing to navigate a package manager - as is (or was) the case for MSVC - with the portability of using packages. Granted, this method's more of a jack of all trades, master of none, since it's *less* user-friendly than prebuilt packages (compilation times), and you don't get the per-distro compatibility fixes you'd get from a package manager. You can still use system libs if you want. In fact, it's still the default behaviour: compiling the libs manually is just a fallback. I'll add an option to force-enable this soon, however, since it's a nicer way to produce static MSYS2 builds than the hackish nightmare that I was using before. Not to mention, having my own copy of the sources means I can provide my own fixes and tweaks your package manager may not. For example, I can combine MSYS2's FreeType subpixel rendering with vcpkg's fix for SDL2 exporting its symbols in static builds.
43 lines
1.1 KiB
Makefile
43 lines
1.1 KiB
Makefile
include Makefile.FLTK
|
|
|
|
RM = rm -f
|
|
SHELL = /bin/sh
|
|
.SILENT:
|
|
|
|
# Executables
|
|
ALL = clipboard$(EXEEXT) \
|
|
fltk-versions$(EXEEXT) \
|
|
howto-add_fd-and-popen$(EXEEXT) \
|
|
howto-browser-with-icons$(EXEEXT) \
|
|
howto-drag-and-drop$(EXEEXT) \
|
|
howto-parse-args$(EXEEXT) \
|
|
howto-text-over-image-button$(EXEEXT) \
|
|
menubar-add$(EXEEXT) \
|
|
nativefilechooser-simple-app$(EXEEXT) \
|
|
progress-simple$(EXEEXT) \
|
|
shapedwindow$(EXEEXT) \
|
|
table-as-container$(EXEEXT) \
|
|
table-simple$(EXEEXT) \
|
|
table-sort$(EXEEXT) \
|
|
table-spreadsheet$(EXEEXT) \
|
|
table-spreadsheet-with-keyboard-nav$(EXEEXT) \
|
|
table-with-keynav$(EXEEXT) \
|
|
tabs-simple$(EXEEXT) \
|
|
textdisplay-with-colors$(EXEEXT) \
|
|
texteditor-simple$(EXEEXT) \
|
|
tree-simple$(EXEEXT) \
|
|
tree-as-container$(EXEEXT) \
|
|
tree-custom-draw-items$(EXEEXT) \
|
|
tree-custom-sort$(EXEEXT) \
|
|
tree-of-tables$(EXEEXT) \
|
|
wizard-simple$(EXEEXT)
|
|
|
|
# default target -- build everything
|
|
default all: $(ALL)
|
|
|
|
# clean everything
|
|
clean:
|
|
$(RM) $(ALL)
|
|
$(RM) *.o
|
|
$(RM) core
|
|
|