1
2system	 := $(shell uname -s)
3
4subprojects := elements interface files lib parser visitors guido operations
5
6SRC = $(wildcard *.cpp) $(wildcard */*.cpp)
7OBJ = $(SRC:.cpp=.o)
8ifeq ($(system), Darwin)
9LIB = -F../build -framework libmusicxml2 -lc++
10else
11LIB = -L../build -lmusicxml2
12endif
13CXXFLAGS := -stdlib=libc++ -O3 -Wall -Wno-overloaded-virtual -Wuninitialized $(addprefix -I../src/, $(subprojects))
14INSTALLDIR := $(HOME)/bin
15
16applications := xmlversion countnotes xmlread xmlclone xmliter xml2guido xml2midi readunrolled randomMusic xmltranspose partsummary
17
18all : $(applications)
19
20countnotes: countnotes.cpp
21	gcc $(CXXFLAGS) countnotes.cpp $(LIB) -o countnotes
22
23xmlread: xmlread.cpp
24	gcc $(CXXFLAGS) xmlread.cpp $(LIB) -o xmlread
25
26xmlclone: xmlclone.cpp
27	gcc $(CXXFLAGS) xmlclone.cpp $(LIB) -o xmlclone
28
29xmliter : xmliter.cpp
30	gcc $(CXXFLAGS) xmliter.cpp $(LIB) -o xmliter
31
32xml2guido: xml2guido.cpp
33	gcc $(CXXFLAGS) xml2guido.cpp $(LIB) -o xml2guido
34
35xml2midi: xml2midi.cpp
36	gcc $(CXXFLAGS) xml2midi.cpp $(LIB) -o xml2midi
37
38readunrolled: readunrolled.cpp
39	gcc $(CXXFLAGS) readunrolled.cpp $(LIB) -o readunrolled
40
41randomMusic: RandomMusic.cpp
42	gcc $(CXXFLAGS) RandomMusic.cpp $(LIB) -o randomMusic
43
44xmltranspose: xmltranspose.cpp
45	gcc $(CXXFLAGS) xmltranspose.cpp $(LIB) -o xmltranspose
46
47partsummary: partsummary.cpp
48	gcc $(CXXFLAGS) partsummary.cpp $(LIB) -o partsummary
49
50xmlversion: xmlversion.cpp
51	gcc $(CXXFLAGS) xmlversion.cpp $(LIB) -o xmlversion
52
53clean :
54	rm -f $(applications) $(OBJ)
55	rm -rf *.dSYM
56
57install :
58	cp $(applications) $(INSTALLDIR)
59
60dep:
61	makedepend -- $(CXXFLAGS) -- $(SRC)
62
63# DO NOT DELETE
64