VERSION := @PACKAGE_VERSION@ CODENAME := @CODENAME@ PREFIX := @prefix@ CXX := @CXX@ LD := @CXX@ INSTALL := @INSTALL@ MKDIR_P := @MKDIR_P@ PERL := @PERL@ XARGS := @XARGS@ MAKEDEPEND := @MAKEDEPEND@ SHA1SUM := @SHA1SUM@ CUT := @CUT@ MOC := @MOC@ UIC := @UIC@ RCC := @RCC@ LUPDATE := @LUPDATE@ LRELEASE := @LRELEASE@ CXXFLAGS := @CXXFLAGS@ \ @HAVES@ \ @QT_CXXFLAGS@ \ @JACK_CFLAGS@ \ @ALSA_CFLAGS@ \ @liblo_CFLAGS@ \ @lrdf_CFLAGS@ \ @fftw3f_CFLAGS@ \ @samplerate_CFLAGS@ \ @sndfile_CFLAGS@ \ @DSSI_LOCALFLAGS@ \ @ENDIANNESS@ \ -D'VERSION="$(VERSION)"' \ -D'CODENAME="$(CODENAME)"' \ -DSTABLE=1 \ -Isrc RCC_CXXFLAGS := @QT_CXXFLAGS@ \ @ENDIANNESS@ \ @CXXFLAGS_MINIMAL@ RCCFLAGS := -threshold 0 -compress 9 MOCFLAGS := @HAVES@ @ENDIANNESS@ LIBS := @QT_LIBS@ \ @JACK_LIBS@ \ @ALSA_LIBS@ \ @liblo_LIBS@ \ @lrdf_LIBS@ \ @fftw3f_LIBS@ \ @samplerate_LIBS@ \ @sndfile_LIBS@ \ -lz \ -ldl \ -lX11 \ @LIBS@ INSTBINDIR := $(DESTDIR)$(PREFIX)/bin INSTMIME16DIR := $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/mimetypes INSTMIME32DIR := $(DESTDIR)$(PREFIX)/share/icons/hicolor/32x32/mimetypes INSTMIME64DIR := $(DESTDIR)$(PREFIX)/share/icons/hicolor/64x64/mimetypes INSTMIMEDIR := $(DESTDIR)$(PREFIX)/share/mime INSTMIMEXMLDIR := $(INSTMIMEDIR)/packages INSTDESKTOPDIR := $(DESTDIR)$(PREFIX)/share/applications INSTICONDIR := $(DESTDIR)$(PREFIX)/share/icons/hicolor/32x32/apps INSTICONDIR64 := $(DESTDIR)$(PREFIX)/share/icons/hicolor/64x64/apps INSTICONDIR128 := $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps RESOURCES := $(wildcard data/*.qrc data/*/*.qrc src/*.qrc src/*/*.qrc src/*/*/*.qrc src/*/*/*/*.qrc) QRCSOURCES := $(patsubst %.qrc,%.cpp,$(RESOURCES)) HEADERS := $(filter-out templates/template.h, $(wildcard src/*.h src/*/*.h src/*/*/*.h src/*/*/*/*.h src/*/*/*/*/*.h)) SOURCES := $(QRCSOURCES) $(filter-out templates/template.cpp, $(wildcard src/*.cpp src/*/*.cpp src/*/*/*.cpp src/*/*/*/*.cpp src/*/*/*/*/*.cpp)) KEYSOURCES := $(filter-out data/data.cpp, $(SOURCES)) QHEADERS := $(shell fgrep -l Q_OBJECT $(HEADERS)) OBJECTS := $(patsubst %.cpp,%.o,$(SOURCES)) QSOURCES := $(patsubst %.h,%.moc,$(QHEADERS)) UI := $(wildcard src/*/*/*.ui) UIHEADERS := $(patsubst %.ui,%.h,$(UI)) RCS := $(wildcard data/rc/*.rc) TRANSLATIONS := $(filter-out data/locale/rosegarden.ts, $(wildcard data/locale/*.ts)) TRANSLATIONSQM := $(filter-out data/locale/rosegarden.qm, $(shell echo $(TRANSLATIONS) | sed "s/ts/qm/g")) BUILDKEY := $(shell cat $(KEYSOURCES) | $(SHA1SUM) | $(CUT) -c1-10) CXXFLAGS := $(CXXFLAGS) -D'BUILDKEY="$(BUILDKEY)"' DATA_FILES := $(shell scripts/extract-data-files) all: $(QSOURCES) $(UIHEADERS) $(UISOURCES) $(UIMOC) $(OBJECTS) $(LIBRARIES) $(EXECUTABLES) rosegarden rosegarden: $(OBJECTS) $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) %.h: %.ui $(UIC) $< > $@ %.cpp: %.ui %.h $(UIC) -pch $(patsubst %.cpp,%.moc,$@) -impl $(patsubst %.cpp,%.h,$@) $(patsubst %.cpp,%.ui,$@) > $@ %.moc: %.h $(MOC) $(MOCFLAGS) $< -o $@ %.cpp: %.qrc $(RCC) $(RCCFLAGS) $< -o $@ data/data.o: data/data.cpp $(CXX) -c $(RCC_CXXFLAGS) $< -o $@ data/data.cpp: $(DATA_FILES) %.o: %.cpp $(CXX) -c $(CXXFLAGS) $< -o $@ %.qm: %.ts $(LRELEASE) $(@:.qm=.ts) instrument-ts: $(PERL) scripts/extract_instrument_tr_strings.pl data/presets/presets.xml > data/InstrumentStrings.cpp menu-ts: $(PERL) scripts/extract_menu_tr_strings.pl $(RCS) > data/QMenuStrings.cpp autoload-ts: gunzip -c data/autoload/autoload.rg > data/autoload/autoload.xml # (couldn't make macro $(GUNZIP_C) work) $(PERL) scripts/extract_autoload_tr_strings.pl data/autoload/autoload.xml > data/AutoloadStrings.cpp rm -f data/autoload/autoload.xml ts: menu-ts instrument-ts autoload-ts $(MKDIR_P) data/locale $(LUPDATE) $(UI) $(HEADERS) $(SOURCES) data/QMenuStrings.cpp data/InstrumentStrings.cpp data/AutoloadStrings.cpp -ts data/locale/rosegarden.ts $(TRANSLATIONS) @scripts/ts-stats ts-noobsolete: menu-ts instrument-ts $(MKDIR_P) data/locale $(LUPDATE) -noobsolete $(HEADERS) $(SOURCES) data/QMenuStrings.cpp data/InstrumentStrings.cpp data/AutoloadStrings.cpp -ts data/locale/rosegarden.ts $(TRANSLATIONS) @scripts/ts-stats locale: $(TRANSLATIONSQM) clean: rm -f $(QSOURCES) $(UIHEADERS) $(UISOURCES) $(UIMOC) $(OBJECTS) $(LIBRARIES) $(EXECUTABLES) data/data.o data/data.cpp rm -f $(TRANSLATIONSQM) rosegarden distclean: clean rm -rf autom4te.cache/ rm -f aclocal.m4 rm -f config.log config.status configure rm -f dependencies dependencies.bak rm -f data/InstrumentStrings.cpp data/AutoloadStrings.cpp data/QMenuStrings.cpp data/data.cpp rm -f src/gui/dialogs/RosegardenTransportUi.h rm -f src/gui/studio/DeviceManagerDialogUi.h rm -f Makefile showfiles: echo $(QSOURCES) $(DATA_FILES) dependencies: $(KEYSOURCES) $(HEADERS) Makefile @echo Rebuilding dependencies file... @rm -f $@ @touch $@ @echo $(KEYSOURCES) | $(XARGS) -n 100 $(MAKEDEPEND) -f$@ -a -Y -Isrc >/dev/null 2>&1 qrc: locale @bash ./scripts/rebuild-qrc install: $(MKDIR_P) -m 755 $(INSTBINDIR) $(INSTALL) -m 755 rosegarden $(INSTBINDIR)/rosegarden $(MKDIR_P) -m 755 $(INSTMIME16DIR) $(MKDIR_P) -m 755 $(INSTMIME32DIR) $(MKDIR_P) -m 755 $(INSTMIME64DIR) $(INSTALL) -m 644 data/pixmaps/icons/mm-mime-hi16-rosegarden.png $(INSTMIME16DIR)/audio-x-rosegarden-composition.png $(INSTALL) -m 644 data/pixmaps/icons/mm-mime-hi32-rosegarden.png $(INSTMIME32DIR)/audio-x-rosegarden-composition.png $(INSTALL) -m 644 data/pixmaps/icons/mm-mime-hi64-rosegarden.png $(INSTMIME64DIR)/audio-x-rosegarden-composition.png $(INSTALL) -m 644 data/pixmaps/icons/mm-mime-hi16-rosegarden-rgd.png $(INSTMIME16DIR)/audio-x-rosegarden-device.png $(INSTALL) -m 644 data/pixmaps/icons/mm-mime-hi32-rosegarden-rgd.png $(INSTMIME32DIR)/audio-x-rosegarden-device.png $(INSTALL) -m 644 data/pixmaps/icons/mm-mime-hi64-rosegarden-rgd.png $(INSTMIME64DIR)/audio-x-rosegarden-device.png $(INSTALL) -m 644 data/pixmaps/icons/mm-mime-hi16-rosegarden-rgp.png $(INSTMIME16DIR)/audio-x-rosegarden-project.png $(INSTALL) -m 644 data/pixmaps/icons/mm-mime-hi32-rosegarden-rgp.png $(INSTMIME32DIR)/audio-x-rosegarden-project.png $(INSTALL) -m 644 data/pixmaps/icons/mm-mime-hi64-rosegarden-rgp.png $(INSTMIME64DIR)/audio-x-rosegarden-project.png $(INSTALL) -m 644 data/pixmaps/icons/mm-mime-hi16-rosegarden-rgt.png $(INSTMIME16DIR)/audio-x-rosegarden-template.png $(INSTALL) -m 644 data/pixmaps/icons/mm-mime-hi32-rosegarden-rgt.png $(INSTMIME32DIR)/audio-x-rosegarden-template.png $(INSTALL) -m 644 data/pixmaps/icons/mm-mime-hi64-rosegarden-rgt.png $(INSTMIME64DIR)/audio-x-rosegarden-template.png $(MKDIR_P) -m 755 $(INSTMIMEXMLDIR) $(INSTALL) -m 644 data/mime/rosegarden.xml $(INSTMIMEXMLDIR) $(MKDIR_P) -m 755 $(INSTDESKTOPDIR) $(INSTALL) -m 644 data/desktop/rosegarden.desktop $(INSTDESKTOPDIR) $(MKDIR_P) -m 755 $(INSTICONDIR) $(MKDIR_P) -m 755 $(INSTICONDIR64) $(MKDIR_P) -m 755 $(INSTICONDIR128) $(INSTALL) -m 644 data/pixmaps/icons/rg-rwb-rose3-32x32.png $(INSTICONDIR)/rosegarden.png $(INSTALL) -m 644 data/pixmaps/icons/rg-rwb-rose3-64x64.png $(INSTICONDIR64)/rosegarden.png $(INSTALL) -m 644 data/pixmaps/icons/rg-rwb-rose3-128x128.png $(INSTICONDIR128)/rosegarden.png uninstall: rm -f $(INSTBINDIR)/rosegarden rm -f $(INSTMIME16DIR)/audio-x-rosegarden* rm -f $(INSTMIME32DIR)/audio-x-rosegarden* rm -f $(INSTMIME64DIR)/audio-x-rosegarden* rm -f $(INSTMIMEXMLDIR)/rosegarden.xml rm -f $(INSTDESKTOPDIR)/rosegarden.desktop rm -f $(INSTICONDIR)/rosegarden.png rmdir -p --ignore-fail-on-non-empty $(INSTMIME16DIR) rmdir -p --ignore-fail-on-non-empty $(INSTMIME32DIR) rmdir -p --ignore-fail-on-non-empty $(INSTMIME64DIR) rmdir -p --ignore-fail-on-non-empty $(INSTMIMEXMLDIR) rmdir -p --ignore-fail-on-non-empty $(INSTICONDIR) Makefile: Makefile.in configure configure.ac acinclude.m4 @echo "*** WARNING: One or more of Makefile.in, configure, configure.ac and/or" @echo " acinclude.m4 has been modified since the Makefile was generated;" @echo " consider running ./configure again" configure: configure.ac acinclude.m4 sh ./bootstrap.sh .PHONY: autoload-ts instrument-ts menu-ts ts ts-noobsolete locale include dependencies