]> git.mxchange.org Git - quix0rs-blobwars.git/blobdiff - makefile
Don't use sdlmain in the pak tool
[quix0rs-blobwars.git] / makefile
index 48868ea4832c13dfe8b5fb32c47d89df2f220986..509c2ff862740f21acbab3274a2084beeee0c017 100755 (executable)
--- a/makefile
+++ b/makefile
@@ -2,20 +2,20 @@ PROG = blobwars
 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)
@@ -68,8 +68,13 @@ PAKOBJS = CFileData.o pak.o
 
 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
@@ -77,50 +82,53 @@ all: $(PROG) pak $(LOCALE_MO)
 
 # 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:
@@ -139,3 +147,4 @@ uninstall:
                $(RM) $(LOCALEDIR)$$lang/LC_MESSAGES/$(PROG).mo; \
        done
 
+.PHONY: all install uninstall clean buildpak