Cleanup Python integration module
[tennix.git] / makefile
blob7d1891dffd98095393a9dc1f7b41e477f269b012
3 # Tennix! SDL Port
4 # Copyright (C) 2003, 2007, 2008, 2009 Thomas Perl <thp@thpinfo.com>
5 #
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,
19 # MA 02110-1301, USA.
22 -include config.mk
24 CONFIGURE_OUTPUT := config.mk config.h dependencies.mk
26 ifeq ($(SILENT),0)
27 SILENTMSG := @true
28 SILENTCMD :=
29 else
30 SILENTMSG := @echo
31 SILENTCMD := @
32 endif
34 # Object files for "tennix"
35 TENNIX_BIN := 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"
45 DUMP_BIN := 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)
55 endif
57 ifeq ($(HAVE_PYTHON),1)
58 TENNIX_TNX_DATA += $(wildcard data/*.py)
59 endif
61 # Installable files
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)
68 %.o: %.cc
69 $(SILENTMSG) " CXX $@"
70 $(SILENTCMD)$(CXX) -c $(CFLAGS) -o $@ $<
72 $(TENNIX_BIN): $(TENNIX_OBJ)
73 $(SILENTMSG) " LD $@"
74 $(SILENTCMD)$(CXX) $(LDFLAGS) -o $@ $^
76 $(ARCHIVE_BIN): $(ARCHIVE_OBJ)
77 $(SILENTMSG) " LD $@"
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/
105 clean:
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)
112 distclean: clean
113 $(SILENTMSG) " DISTCLEAN"
114 $(SILENTCMD)$(RM) -f $(CONFIGURE_OUTPUT)
116 $(CONFIGURE_OUTPUT): configure
117 $(SILENTMSG) " CONFIGURE"
118 $(SILENTCMD)./$<
120 -include dependencies.mk
122 .PHONY: install clean distclean