Files
projectm/Makefile.am
Bernhard M. Wiedemann 1ffc0cdb5a Sort input file list (#176)
so that projectM builds in a reproducible way
in spite of indeterministic filesystem readdir order.

See https://reproducible-builds.org/ for why this is good.

Without this patch, multiple .milk files varied between builds
in interesting ways:
--- "old//usr/share/projectM/presets/Geiss - All-Spark Polar.milk"
+++ "new//usr/share/projectM/presets/Geiss - All-Spark Polar.milk"
@@ -3,7 +3,7 @@
 PSVERSION_WARP=2^M
 PSVERSION_COMP=2^M
 [preset00]^M
-fRating=4.000000^M
+fRating=2.0^M
2019-03-11 16:02:41 +02:00

47 lines
1.7 KiB
Makefile

ACLOCAL_AMFLAGS=-I m4
AM_CPPFLAGS=-DDATADIR_PATH='"${pkgdatadir}"'
SUBDIRS=src
PRESETSDIR=presets
EXTRA_DIST=README.md AUTHORS.txt presets fonts $(PRESETSDIR)
CLEANFILES=dist
# stick apps in bin
# bin_PROGRAMS = $(top_builddir)/bin
# aka /usr/local/share/projectM
pm_data_dir = $(pkgdatadir)
pm_font_dir = $(pm_data_dir)/fonts
pm_presets_dir = $(pm_data_dir)/presets
# files to install
pm_data__DATA = src/libprojectM/config.inp
pm_font__DATA = fonts/Vera.ttf fonts/VeraMono.ttf
# find and install all preset files
install-data-local:
test -z $(DESTDIR)$(pkgdatadir) || $(MKDIR_P) $(DESTDIR)$(pm_presets_dir)
find "$(PRESETSDIR)" -type f -print0 | LC_ALL=C sort -z | xargs -0 '-I{}' $(INSTALL_DATA) '{}' $(DESTDIR)$(pm_presets_dir)
# from https://stackoverflow.com/questions/30897170/ac-subst-does-not-expand-variable answer: https://stackoverflow.com/a/30960268
# ptomato https://stackoverflow.com/users/172999/ptomato
src/libprojectM/config.inp: src/libprojectM/config.inp.in Makefile
$(AM_V_GEN)rm -f $@ $@.tmp && \
$(SED) -e "s,%datadir%,$(datadir),"g $< >$@.tmp && \
chmod a-w $@.tmp && \
mv $@.tmp $@
# do a macOS build
dist-mac: dist
rm -rf dist
xcrun xcodebuild -scheme "projectM SDL" -configuration Release archive -archivePath build/ProjectM.xcarchive
xcrun xcodebuild -scheme "iProjectM" -configuration Release archive -archivePath build/iTunes.xcarchive
mkdir -p dist
# mv build/ProjectM.xcarchive/Products/Applications/projectM\ SDL.app dist/
mv src/projectM-iTunes/iTunes\ Visualizer.pkg dist/iTunes-plugin-macOS.pkg
mv src/projectM-sdl/projectM\ SDL.pkg dist/projectM-macOS.pkg
mv projectM-*.tar.gz dist/
@echo "Success!\nBuilt iTunes plugin installer and SDL apps in dist/"
CLEANFILES+=src/libprojectM/config.inp