# Fonostream Makefile # Process this file with GNU make to build the fonostream executable object_names=pixmaps.o fonostream.o chillout_aux.o wxchillout.o ifeq ($(MAKECMDGOALS),linux) EXECUTABLE:=fonostream builddir := build/linux CFLAGS=-I./src/ -I./$(builddir)/ -g CXXFLAGS=-I./src/ -I./$(builddir)/ `wx-config --cxxflags` -g LDFLAGS=`wx-config --libs` endif ifeq ($(MAKECMDGOALS),windows) EXECUTABLE:=fonostream.exe builddir := build/windows CFLAGS=-I./src/ -I./$(builddir)/ CXXFLAGS=-I./src/ -I./$(builddir)/ `/usr/i586-mingw32/bin/wx-config --cxxflags` LDFLAGS=`/usr/i586-mingw32/bin/wx-config --libs` -static WINDRESFLAGS=--define __WXMSW__ --include-dir . --include-dir \ /usr/i586-mingw32/include/wx-2.8/ # /usr/local/src/wxWidgets-2.8.9/lib/wx/include/i586-mingw32msvc-msw-ansi-release-static-2.8 \ # --include-dir /usr/local/src/wxWidgets-2.8.9/include/ CXX=i586-mingw32msvc-g++ CC=i586-mingw32msvc-gcc WINDRES=i586-mingw32msvc-windres object_names+=resources.o endif ifeq ($(MAKECMDGOALS),macosx) EXECUTABLE:=Fonostream builddir := build/windows CFLAGS=-I./src/ -I./$(builddir)/ CXXFLAGS=-I./src/ -I./$(builddir)/ `wx-config --cxxflags` LDFLAGS=`wx-config --libs` endif all: @echo specify one target: linux, windows or macosx linux macos windows: dir $(builddir)/$(EXECUTABLE) doc: fonostream.html test: wxtest PIXMAPS_BASE=en_logofon.png media-stream.png media-eject.png \ media-playback-pause.png media-playback-start.png media-playback-stop.png \ media-record.png media-seek-backward.png media-seek-forward.png \ media-skip-backward.png media-skip-forward.png error.png PIXMAPS := $(PIXMAPS_BASE:%.png=pixmaps/%.png) objects := $(object_names:%.o=$(builddir)/%.o) dir: @mkdir -p $(builddir) $(builddir)/pixmaps.cpp: $(PIXMAPS) perl tools/png2wx.pl -C $(builddir)/pixmaps.cpp -H $(builddir)/pixmaps.hpp -M PIXMAPS_HPP $(PIXMAPS) $(builddir)/pixmaps.o: $(builddir)/pixmaps.cpp $(CXX) $(CXXFLAGS) -c $(builddir)/pixmaps.cpp -o $(builddir)/pixmaps.o $(builddir)/%.o: src/%.cpp $(CXX) -c $(CXXFLAGS) $< -o $@ $(builddir)/resources.o: src/fonostream.rc $(WINDRES) -isrc/fonostream.rc -o$(builddir)/resources.o $(WINDRESFLAGS) $(builddir)/%.o: src/%.c $(CC) -c $(CFLAGS) $< -o $@ $(builddir)/$(EXECUTABLE): $(objects) $(CXX) $(objects) -o $(builddir)/$(EXECUTABLE) $(LDFLAGS) clean: @rm -R build/ wxtest: wxchillout.cpp wxchillout.h $(CC) $(CXXFLAGS) $(LDFLAGS) -I. -g -DWXCHILLOUT_TEST wxchillout.cpp -o wxtest fonostream.html: README asciidoc -a toc -a badges -o fonostream.html README check-syntax: gcc -I./src/ -I./build/linux/ `wx-config --cxxflags` -o nul -Wall -S $(CHK_SOURCES) .PHONY: clean dir