1CXXFLAGS += -Wall -fno-exceptions -fno-unwind-tables -fno-rtti -I${LOCALBASE}/include
2
3# -Weffc++ -U_FORTIFY_SOURCE
4# NDEBUG pro release ?
5LDFLAGS = -L${LOCALBASE}/lib
6LIBS = ${LOCALBASE}/lib/libglfw.a ${PTHREAD_LIBS} -lGL -lm -lGLU -lX11 -lXrandr
7INCLUDES =
8FILE2C = utils/file2c.rb
9
10OBJECTS = main.o snoutlib/glfwapp.o snoutlib/settings.o snoutlib/loadingscreen.o snoutlib/procedural.o \
11	  snoutlib/misc.o snoutlib/timer.o snoutlib/mfont.o snoutlib/svg.o snoutlib/tesselate.o \
12	  snoutlib/menu.o snoutlib/shader.o snoutlib/staticmesh.o snoutlib/rtt_fbo.o snoutlib/gldefs.o\
13	  snoutlib/particles.o snoutlib/perlin.o snoutlib/bbox.o snoutlib/fx.o\
14	  gamemenu.o layout.o background.o boat.o pboat.o pe_smoke.o resources.o credits.o hiscore.o \
15	  torpedo.o pe_bubbles.o pe_bubble_expl.o game.o missile.o fx_missile_expl.o pe_smoketrail.o \
16	  fx_ship_expl.o fx_torpedo_expl.o pe_torpedo_expl.o fx_moving_text.o
17
18SRCS = $(OBJECTS:.o=.cpp)
19
20
21BINARY = sea
22
23.SUFFIXES: .cpp .o
24
25all: $(BINARY)
26
27resources: data/sha/seawaves.vs
28	$(FILE2C) data/sha/seawaves.vs data/res/seawaves.vs.h text
29	$(FILE2C) data/sha/clouds.vs data/res/clouds.vs.h text
30	$(FILE2C) data/sha/clouds.fs data/res/clouds.fs.h text
31	$(FILE2C) data/sha/font.fs data/res/font.fs.h text
32	$(FILE2C) data/sha/staticmesh.fs data/res/staticmesh.fs.h text
33	$(FILE2C) data/sha/particles.vs data/res/particles.vs.h text
34	$(FILE2C) data/sha/particles.fs data/res/particles.fs.h text
35	$(FILE2C) data/sha/line.fs data/res/line.fs.h text
36	$(FILE2C) data/model/torpedo.m data/res/torpedo.m.h binary
37	$(FILE2C) data/model/torpedo2.m data/res/torpedo2.m.h binary
38	$(FILE2C) data/model/tanker.m data/res/tanker.m.h binary
39	$(FILE2C) data/model/pboat.m data/res/pboat.m.h binary
40	$(FILE2C) data/model/OpenGL_logo_flat.m data/res/OpenGL_logo_flat.m.h binary
41
42
43$(BINARY): $(OBJECTS)
44	$(CXX) $(LDFLAGS) -o $(BINARY) $(OBJECTS) $(LIBS)
45
46strip: $(BINARY)
47	strip -s -R .comment $(BINARY)
48
49pack: $(BINARY) strip
50	upx --ultra-brute $(BINARY)
51
52size: clean pack
53
54clean:
55	rm -f $(OBJECTS) $(BINARY) core
56
57# dependencies
58
59MAKEDEPEND = gcc -M $(CPPFLAGS) -o $(df).d $<
60DEPDIR = .deps
61df = $(DEPDIR)/$(*F)
62
63# DO NOT DELETE
64