Makefile: can make any world
[Tsunagari.git] / src / Makefile
blob4321481b66d65655e2e1d168f0554abd7224a94f
1 ############################################################
2 # Tsunagari Tile Engine primary source Makefile (gnu make) #
3 ############################################################
5 ### --- VARIABLES SECTION --- ###
7 # Warning flags to enable.
8 WFLAGS = -Wall -Wextra -Wconversion
10 # Libraries to include.
11 LIBS = -lgosu -lzip -lboost_program_options `xml2-config --libs`
13 # Compiler and linker flags.
14 CXXFLAGS = -g -pedantic -ansi $(WFLAGS) `xml2-config --cflags`
15 LDFLAGS = -g $(LIBS)
17 # Compiler to use. (Suggested: "g++" or "clang")
18 CXX = g++
20 # Name of testing world.
21 TESTWORLD = babysfirst.world
23 ### --- MAIN SECTION --- ###
25 all: tsunagari $(TESTWORLD)
27 tsunagari: area.o cmd.o common.o entity.o log.o main.o resourcer.o sprite.o window.o world.o
28 $(CXX) -o tsunagari *.o $(LDFLAGS)
30 %.world: %/*
31 cd $(basename $@) && zip -0 ../$@ *
33 .PHONY: doc
34 doc:
35 cd ../doc && doxygen
37 clean:
38 $(RM) tsunagari *.o $(TESTWORLD) && $(RM) -r ../doc/html