X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=makefile;h=104ef0a54881e7c7962a4972be1e007125b6b794;hb=c5674874e3972d06a09d1df4fc5a58a23fb5876b;hp=bb348d6ae2ab2abeead6747154df3eae116ce6b6;hpb=3c2c734367154c8d35fefb72dc98e7d3a2600e56;p=quix0rs-blobwars.git diff --git a/makefile b/makefile index bb348d6..104ef0a 100755 --- a/makefile +++ b/makefile @@ -2,18 +2,19 @@ PROG = blobwars PAKNAME = blobwars.pak DOCS = doc/* ICONS = icons/ - -VERSION = 1.18 -RELEASE = 1 -USEPAK = 0 - -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_PORT = 80 @@ -22,6 +23,7 @@ CXXFLAGS += -DPAKNAME=\"$(PAKNAME)\" -DPAKLOCATION=\"$(DATADIR)\" -DUNIX -DGAMEP CXXFLAGS += -DLOCALEDIR=\"$(LOCALEDIR)\" -DMEDAL_SERVER_HOST=\"$(MEDAL_SERVER_HOST)\" -DMEDAL_SERVER_PORT=$(MEDAL_SERVER_PORT) CXXFLAGS += $(CFLAGS) -Werror LIBS = `sdl-config --libs` -lSDL_mixer -lSDL_image -lSDL_ttf -lSDL_net -lz +PAKLIBS = -lz OBJS += CAudio.o OBJS += CBoss.o @@ -67,8 +69,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 @@ -76,50 +83,55 @@ all: $(PROG) pak $(LOCALE_MO) # linking the program. $(PROG): $(GAMEOBJS) - $(CXX) $(LIBS) $(GAMEOBJS) -o $(PROG) + $(CXX) $(LDFLAGS) $(GAMEOBJS) -o $(PROG) $(LIBS) pak: $(PAKOBJS) - $(CXX) $(LIBS) $(PAKOBJS) -o pak + $(CXX) $(LDFLAGS) $(PAKOBJS) -o pak $(PAKLIBS) %.mo: %.po msgfmt -c -o $@ $< mapeditor: $(MAPOBJS) - $(CXX) $(LIBS) $(MAPOBJS) -o mapeditor + $(CXX) $(LDFLAGS) $(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)48x48/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)16x16.png $(DESTDIR)$(ICONDIR)16x16/apps/$(PROG).png + cp -p $(ICONS)$(PROG)32x32.png $(DESTDIR)$(ICONDIR)32x32/apps/$(PROG).png + cp -p $(ICONS)$(PROG)48x48.png $(DESTDIR)$(ICONDIR)48x48/apps/$(PROG).png + cp -p $(ICONS)$(PROG)64x64.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: @@ -138,3 +150,4 @@ uninstall: $(RM) $(LOCALEDIR)$$lang/LC_MESSAGES/$(PROG).mo; \ done +.PHONY: all install uninstall clean buildpak