1#****************************************************************************
2#
3# Makefile for Kyra.
4# Lee Thomason and David Leimbach
5# www.grinninglizard.com
6# www.sourceforge.net/projects/kyra
7#
8# This is a GNU make (gmake) makefile
9#****************************************************************************
10
11include ../makefilebuild
12
13OUTPUT := krdemo
14
15all: ${OUTPUT}
16
17
18#****************************************************************************
19# Source files
20#****************************************************************************
21
22SRCS :=	bemgame.cpp \
23		demos.cpp \
24		space.cpp \
25		spritetest.cpp \
26		tiletest.cpp \
27		gamefactory.cpp \
28        scale.cpp \
29        sinwave.cpp \
30		text.cpp \
31		title.cpp \
32		shooter.cpp
33
34ifeq (YES, ${PROFILE})
35   SRCS   := ${SRCS} \
36		../engine/action.cpp \
37		../engine/box.cpp \
38		../engine/boxresource.cpp \
39		../engine/canvas.cpp \
40		../engine/canvasresource.cpp \
41		../engine/color.cpp \
42		../util/gldebug.cpp \
43		../engine/dirtyrectangle.cpp \
44		../engine/encoder.cpp \
45		../engine/engine.cpp \
46		../engine/fontresource.cpp \
47		../engine/image.cpp \
48		../engine/imagetree.cpp \
49		../engine/imnode.cpp \
50		../engine/kyraresource.cpp \
51		../engine/ogltexture.cpp \
52		../engine/painter.cpp \
53		../engine/parser.cpp \
54		../engine/pixelblock.cpp \
55		../engine/rle.cpp \
56		../engine/sdlutil.cpp \
57		../engine/sprite.cpp \
58		../engine/spriteresource.cpp \
59		../engine/textbox.cpp \
60		../engine/tile.cpp \
61		../engine/tileresource.cpp \
62		../engine/vault.cpp \
63        ../engine/namefield.cpp \
64		../engine/krmath.cpp \
65		../util/glrandom.cpp \
66		../util/glmap.cpp \
67        ../util/glisomath.cpp \
68		../util/glstring.cpp \
69        ../util/glmemorypool.cpp \
70		../util/glprime.cpp \
71		../util/glperformance.cpp \
72		../tinyxml/tinyxml.cpp \
73		../tinyxml/tinyxmlparser.cpp \
74		../tinyxml/tinyxmlerror.cpp \
75		../gui/console.cpp \
76		../gui/widget.cpp
77endif
78
79# Add on the sources for libraries
80SRCS := ${SRCS}
81
82OBJS := $(addsuffix .o,$(basename ${SRCS}))
83
84#****************************************************************************
85# Output
86#****************************************************************************
87
88${OUTPUT}: ${OBJS} ../engine/libkyra.a
89	${LD} -o $@ ${LDFLAGS} ${OBJS} ../engine/libkyra.a ${LIBS} ${EXTRA_LIBS}
90
91#****************************************************************************
92# common rules
93#****************************************************************************
94
95# Rules for compiling source files to object files
96%.o : %.cpp
97	${CXX} -c ${CXXFLAGS} ${INCS} $< -o $@
98
99%.o : %.c
100	${CC} -c ${CFLAGS} ${INCS} $< -o $@
101
102clean:
103	-rm -f core ${OBJS} ${OUTPUT}
104
105# Dependencies. Badly over included, but there were just too many problems
106# using makedepend and sharing the makefiles.
107
108include ../makefiledefines
109${OBJS} :  $(addprefix ../engine/, ${ENGINE_HEADERS}) $(addprefix ../util/, ${UTIL_HEADERS}) $(addprefix ../gui/, ${GUI_HEADERS}) \
110           demos.h standardtest.h bem.h consolefont.h font.h space.h
111