OSDN Git Service

README-jp.txtのBOMを削除した
[starfighter-jp/starfighter-jp.git] / Makefile
1 CXXFLAGS ?= -O2 -Wall -g
2 CXXFLAGS += `pkg-config --cflags sdl2 SDL2_image SDL2_mixer`
3 LIBS = `pkg-config --libs sdl2 SDL2_image SDL2_mixer`
4 OBJS = alien.o audio.o bullet.o cargo.o collectable.o colors.o cutscene.o engine.o event.o explosion.o game.o gfx.o intermission.o loadSave.o messages.o misc.o missions.o player.o renderer.o resources.o screen.o ship.o shop.o Starfighter.o title.o weapons.o window.o
5
6 VERSION = 1.6
7 PROG = starfighter
8 DOCS = docs/*
9 DATA = data gfx sound music
10 DATAFILES = data/* gfx/* sound/* music/*
11 LAUNCHER = misc/starfighter.desktop
12 ICON = misc/starfighter.png
13
14 PREFIX ?= /usr
15 BINDIR ?= $(PREFIX)/games/
16 DATADIR ?= $(PREFIX)/share/games/parallelrealities/
17 DOCDIR ?= $(PREFIX)/share/doc/$(PROG)/
18 MENUDIR ?= $(PREFIX)/share/applications/
19 ICONDIR ?= $(PREFIX)/share/pixmaps/
20
21 # top-level rule to create the program.
22 ALL = $(PROG)
23
24 all: $(ALL)
25
26 # compiling other source files.
27 %.o: src/%.cpp src/*.h
28         $(CXX) $(CXXFLAGS) -c -DVERSION=\"$(VERSION)\" -DDATADIR=\"$(DATADIR)\" $<
29
30 # linking the program.
31 $(PROG): $(OBJS)
32         $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) -o $(PROG) $(LIBS)
33
34 # cleaning everything that can be automatically recreated with "make".
35 clean:
36         $(RM) $(OBJS) $(ALL)
37
38 # install
39 install: $(ALL)
40         mkdir -p $(DESTDIR)$(BINDIR)
41         mkdir -p $(DESTDIR)$(DATADIR)
42         mkdir -p $(DESTDIR)$(DOCDIR)
43         mkdir -p $(DESTDIR)$(MENUDIR)
44         mkdir -p $(DESTDIR)$(ICONDIR)
45
46         install -m 755 $(PROG) $(DESTDIR)$(BINDIR)$(PROG)
47         cp -r $(DATA) $(DESTDIR)$(DATADIR)
48         cp $(DOCS) $(DESTDIR)$(DOCDIR)
49         install -m 644 $(LAUNCHER) $(DESTDIR)$(MENUDIR)
50         install -m 644 $(ICON) $(DESTDIR)$(ICONDIR)
51
52 optimise:
53         advpng -z gfx/*.png
54         jpegoptim --strip-all gfx/*.jpg
55
56 dist:
57         rm -rf starfighter-$(VERSION)
58         mkdir starfighter-$(VERSION)
59         cp --parents -lt starfighter-$(VERSION) `git ls-files`
60         git log >starfighter-$(VERSION)/ChangeLog
61         tar czf starfighter-$(VERSION).tar.gz starfighter-$(VERSION)
62         rm -rf starfighter-$(VERSION)
63
64 .PHONY: all clean install optimise dist