PAKNAME = blobwars.pak
DOCS = doc/*
ICONS = icons/
-
-VERSION = 1.17
-RELEASE = 1
-USEPAK = 1
-
-PREFIX=$(DESTDIR)/usr
-BINDIR = $(PREFIX)/games/
-DATADIR = $(PREFIX)/share/games/blobwars/
-DOCDIR = $(PREFIX)/share/doc/$(PROG)/
-ICONDIR = $(PREFIX)/share/icons/hicolor/
-DESKTOPDIR = $(PREFIX)/share/applications/
-LOCALEDIR = $(PREFIX)/share/locale/
+DATA = data gfx sound music
+
+VERSION = 1.19
+RELEASE ?= 0
+USEPAK ?= 0
+
+PREFIX ?= /usr
+BINDIR ?= $(PREFIX)/games/
+DATADIR ?= $(PREFIX)/share/games/blobwars/
+DOCDIR ?= $(PREFIX)/share/doc/$(PROG)/
+ICONDIR ?= $(PREFIX)/share/icons/hicolor/
+DESKTOPDIR ?= $(PREFIX)/share/applications/
+LOCALEDIR ?= $(PREFIX)/share/locale/
MEDAL_SERVER_HOST = www.parallelrealities.co.uk
-#MEDAL_SERVER_HOST = localhost
MEDAL_SERVER_PORT = 80
CXXFLAGS += `sdl-config --cflags` -DVERSION=$(VERSION) -DRELEASE=$(RELEASE) -DUSEPAK=$(USEPAK)
LOCALE_MO = $(patsubst %.po,%.mo,$(wildcard locale/*.po))
+ALL = $(PROG) $(LOCALE_MO)
+ifeq ($(USEPAK), 1)
+ ALL += $(PAKNAME)
+endif
+
# top-level rule to create the program.
-all: $(PROG) pak $(LOCALE_MO)
+all: $(ALL)
# compiling other source files.
%.o: src/%.cpp src/%.h src/defs.h src/defines.h src/headers.h
# linking the program.
$(PROG): $(GAMEOBJS)
- $(CXX) $(LIBS) $(GAMEOBJS) -o $(PROG)
+ $(CXX) $(GAMEOBJS) -o $(PROG) $(LIBS)
pak: $(PAKOBJS)
- $(CXX) $(LIBS) $(PAKOBJS) -o pak
+ $(CXX) $(PAKOBJS) -o pak $(LIBS)
%.mo: %.po
msgfmt -c -o $@ $<
mapeditor: $(MAPOBJS)
- $(CXX) $(LIBS) $(MAPOBJS) -o mapeditor
+ $(CXX) $(MAPOBJS) -o mapeditor $(LIBS)
# cleaning everything that can be automatically recreated with "make".
clean:
$(RM) $(GAMEOBJS) mapEditor.o pak.o $(PROG) $(PAKNAME) pak mapeditor $(LOCALE_MO)
-buildpak: pak
- ./pak data gfx music sound $(PAKNAME)
+$(PAKNAME): pak
+ ./pak $(DATA) $(PAKNAME)
+
+buildpak: $(PAKNAME)
# install
-install:
-
- ./pak data gfx music sound $(PAKNAME)
-
- mkdir -p $(BINDIR)
- mkdir -p $(DATADIR)
- mkdir -p $(DOCDIR)
- mkdir -p $(ICONDIR)16x16/apps
- mkdir -p $(ICONDIR)32x32/apps
- mkdir -p $(ICONDIR)64x64/apps
- mkdir -p $(DESKTOPDIR)
-
- install -o root -g games -m 755 $(PROG) $(BINDIR)$(PROG)
- install -o root -g games -m 644 $(PAKNAME) $(DATADIR)$(PAKNAME)
- install -o root -g games -m 644 $(DOCS) $(DOCDIR)
- cp $(ICONS)$(PROG).png $(ICONDIR)32x32/apps/
- cp $(ICONS)$(PROG)-mini.png $(ICONDIR)16x16/apps/$(PROG).png
- cp $(ICONS)$(PROG)-large.png $(ICONDIR)64x64/apps/$(PROG).png
- cp $(ICONS)$(PROG).desktop $(DESKTOPDIR)
+install: $(ALL)
+ mkdir -p $(DESTDIR)$(BINDIR)
+ mkdir -p $(DESTDIR)$(DATADIR)
+ mkdir -p $(DESTDIR)$(DOCDIR)
+ mkdir -p $(DESTDIR)$(ICONDIR)16x16/apps
+ mkdir -p $(DESTDIR)$(ICONDIR)32x32/apps
+ mkdir -p $(DESTDIR)$(ICONDIR)64x64/apps
+ mkdir -p $(DESTDIR)$(DESKTOPDIR)
+
+ install -m 755 $(PROG) $(DESTDIR)$(BINDIR)$(PROG)
+ifeq ($(USEPAK), 1)
+ install -m 644 $(PAKNAME) $(DESTDIR)$(DATADIR)$(PAKNAME)
+else
+ cp -pr $(DATA) $(DESTDIR)$(DATADIR)
+endif
+ cp -p $(DOCS) $(DESTDIR)$(DOCDIR)
+ cp -p $(ICONS)$(PROG).png $(DESTDIR)$(ICONDIR)32x32/apps/
+ cp -p $(ICONS)$(PROG)-mini.png $(DESTDIR)$(ICONDIR)16x16/apps/$(PROG).png
+ cp -p $(ICONS)$(PROG)-large.png $(DESTDIR)$(ICONDIR)64x64/apps/$(PROG).png
+ cp -p $(ICONS)$(PROG).desktop $(DESTDIR)$(DESKTOPDIR)
@for f in $(LOCALE_MO); do \
lang=`echo $$f | sed -e 's/^locale\///;s/\.mo$$//'`; \
- mkdir -p $(LOCALEDIR)$$lang/LC_MESSAGES; \
- echo "cp $$f $(LOCALEDIR)$$lang/LC_MESSAGES/$(PROG).mo"; \
- cp $$f $(LOCALEDIR)$$lang/LC_MESSAGES/$(PROG).mo; \
+ mkdir -p $(DESTDIR)$(LOCALEDIR)$$lang/LC_MESSAGES; \
+ echo "cp $$f $(DESTDIR)$(LOCALEDIR)$$lang/LC_MESSAGES/$(PROG).mo"; \
+ cp $$f $(DESTDIR)$(LOCALEDIR)$$lang/LC_MESSAGES/$(PROG).mo; \
done
uninstall:
$(RM) $(LOCALEDIR)$$lang/LC_MESSAGES/$(PROG).mo; \
done
+.PHONY: all install uninstall clean buildpak