4 # Copyright (C) 2003, 2007, 2008, 2009 Thomas Perl <thp@thpinfo.com>
6 # This program is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU General Public License
8 # as published by the Free Software Foundation; either version 2
9 # of the License, or (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
24 CONFIGURE_OUTPUT
:= config.mk config.h dependencies.mk
34 # Object files for "tennix"
36 TENNIX_OBJ
+= src
/tennix.o src
/game.o src
/graphics.o src
/input.o
37 TENNIX_OBJ
+= src
/util.o src
/sound.o src
/animation.o src
/archive.o
38 TENNIX_OBJ
+= src
/SDL_rotozoom.o src
/network.o src
/tennixpy.o
40 # Object files for "archive"
41 ARCHIVE_BIN
:= archive
42 ARCHIVE_OBJ
+= src
/archivetool.o src
/archive.o
44 # Target filename for "dump"
47 # Data files for tennix.tnx
48 TENNIX_TNX
:= tennix.tnx
49 TENNIX_TNX_DATA
+= $(wildcard data
/*.ogg
)
50 TENNIX_TNX_DATA
+= $(wildcard data
/*.ttf
)
51 TENNIX_TNX_DATA
+= $(wildcard data
/*.png
)
53 ifeq ($(HAVE_VOICE_FILES
),1)
54 TENNIX_TNX_DATA
+= $(wildcard voice
/*.ogg
)
57 ifeq ($(HAVE_PYTHON
),1)
58 TENNIX_TNX_DATA
+= $(wildcard data
/*.py
)
62 TENNIX_PNG
:= data
/tennix.png
63 TENNIX_DESKTOP
:= data
/tennix.desktop
64 TENNIX_MAN
:= data
/tennix
.6
66 all: $(TENNIX_BIN
) $(ARCHIVE_BIN
) $(DUMP_BIN
) $(TENNIX_TNX
)
69 $(SILENTMSG
) " CXX $@"
70 $(SILENTCMD
)$(CXX
) -c
$(CFLAGS
) -o
$@
$<
72 $(TENNIX_BIN
): $(TENNIX_OBJ
)
74 $(SILENTCMD
)$(CXX
) $(LDFLAGS
) -o
$@
$^
76 $(ARCHIVE_BIN
): $(ARCHIVE_OBJ
)
78 $(SILENTCMD
)$(CXX
) -o
$@
$^
80 $(DUMP_BIN
): $(ARCHIVE_BIN
)
81 $(SILENTMSG
) " SYMLINK $@"
82 $(SILENTCMD
)$(LN
) -s
$< $@
84 $(TENNIX_TNX
): $(ARCHIVE_BIN
) $(TENNIX_TNX_DATA
)
85 $(SILENTMSG
) " ARCHIVE $@"
86 $(SILENTCMD
).
/$(ARCHIVE_BIN
) $@
$(TENNIX_TNX_DATA
)
88 install: $(TENNIX_BIN
) $(TENNIX_TNX
) $(TENNIX_PNG
) $(TENNIX_DESKTOP
) $(TENNIX_MAN
)
89 $(SILENTMSG
) " INSTALL $(TENNIX_BIN)"
90 $(SILENTCMD
)$(INSTALL
) -d
$(DESTDIR
)$(PREFIX
)/bin
/
91 $(SILENTCMD
)$(INSTALL
) -m
755 $(TENNIX_BIN
) $(DESTDIR
)$(PREFIX
)/bin
/
92 $(SILENTMSG
) " INSTALL $(TENNIX_TNX)"
93 $(SILENTCMD
)$(INSTALL
) -d
$(DESTDIR
)$(PREFIX
)/share
/tennix
/
94 $(SILENTCMD
)$(INSTALL
) -m
644 $(TENNIX_TNX
) $(DESTDIR
)$(PREFIX
)/share
/tennix
/
95 $(SILENTMSG
) " INSTALL $(TENNIX_PNG)"
96 $(SILENTCMD
)$(INSTALL
) -d
$(DESTDIR
)$(PREFIX
)/share
/pixmaps
/
97 $(SILENTCMD
)$(INSTALL
) -m
644 $(TENNIX_PNG
) $(DESTDIR
)$(PREFIX
)/share
/pixmaps
/
98 $(SILENTMSG
) " INSTALL $(TENNIX_DESKTOP)"
99 $(SILENTCMD
)$(INSTALL
) -d
$(DESTDIR
)$(PREFIX
)/share
/applications
/
100 $(SILENTCMD
)$(INSTALL
) -m
644 $(TENNIX_DESKTOP
) $(DESTDIR
)$(PREFIX
)/share
/applications
/
101 $(SILENTMSG
) " INSTALL $(TENNIX_MAN)"
102 $(SILENTCMD
)$(INSTALL
) -d
$(DESTDIR
)$(PREFIX
)/share
/man
/man6
/
103 $(SILENTCMD
)$(INSTALL
) -m
644 $(TENNIX_MAN
) $(DESTDIR
)$(PREFIX
)/share
/man
/man6
/
106 $(SILENTMSG
) " CLEAN"
107 $(SILENTCMD
)$(RM
) -f
$(TENNIX_BIN
) $(TENNIX_OBJ
)
108 $(SILENTCMD
)$(RM
) -f
$(ARCHIVE_BIN
) $(ARCHIVE_OBJ
)
109 $(SILENTCMD
)$(RM
) -f
$(DUMP_BIN
)
110 $(SILENTCMD
)$(RM
) -f
$(TENNIX_TNX
)
113 $(SILENTMSG
) " DISTCLEAN"
114 $(SILENTCMD
)$(RM
) -f
$(CONFIGURE_OUTPUT
)
116 $(CONFIGURE_OUTPUT
): configure
117 $(SILENTMSG
) " CONFIGURE"
120 -include dependencies.mk
122 .PHONY
: install clean distclean