Using makefile from akien-mga, to support DESTDIR variable, and configurable install paths:
https://github.com/stephenjsweeney/tbftss/pull/14
This commit is contained in:
parent
d3e2da1821
commit
6998fc9087
73
makefile
73
makefile
|
@ -1,10 +1,18 @@
|
|||
PROG = tbftss
|
||||
CC = gcc
|
||||
BIN_DIR = /usr/bin
|
||||
DATA_DIR = /opt/tbftss
|
||||
LOCALE_DIR = /usr/share/locale
|
||||
ICON_DIR = /usr/share/icons/hicolor
|
||||
DESKTOP_DIR = /usr/share/applications
|
||||
PREFIX ?= /usr
|
||||
BIN_DIR ?= $(PREFIX)/bin
|
||||
DATA_DIR ?= /opt/$(PROG)
|
||||
LOCALE_DIR = $(PREFIX)/share/locale
|
||||
ICON_DIR = $(PREFIX)/share/icons/hicolor
|
||||
DESKTOP_DIR = $(PREFIX)/share/applications
|
||||
|
||||
DESTDIR ?=
|
||||
INST_BIN_DIR = $(DESTDIR)$(BIN_DIR)
|
||||
INST_DATA_DIR = $(DESTDIR)$(DATA_DIR)
|
||||
INST_LOCALE_DIR = $(DESTDIR)$(LOCALE_DIR)
|
||||
INST_ICON_DIR = $(DESTDIR)$(ICON_DIR)
|
||||
INST_DESKTOP_DIR = $(DESTDIR)$(DESKTOP_DIR)
|
||||
|
||||
SEARCHPATH += src/plat/unix
|
||||
OBJS += unixInit.o
|
||||
|
@ -12,11 +20,10 @@ OBJS += unixInit.o
|
|||
include common.mk
|
||||
|
||||
CXXFLAGS += `sdl2-config --cflags` -DVERSION=$(VERSION) -DREVISION=$(REVISION) -DDATA_DIR=\"$(DATA_DIR)\" -DLOCALE_DIR=\"$(LOCALE_DIR)\"
|
||||
CXXFLAGS += -ansi -pedantic
|
||||
CXXFLAGS += -Wall -Wempty-body -Werror -Wstrict-prototypes -Werror=maybe-uninitialized -Warray-bounds
|
||||
CXXFLAGS += -Wall -Wempty-body -ansi -pedantic -Werror -Wstrict-prototypes -Werror=maybe-uninitialized -Warray-bounds
|
||||
CXXFLAGS += -g -lefence
|
||||
|
||||
LFLAGS := `sdl2-config --libs` -lSDL2_mixer -lSDL2_image -lSDL2_ttf -lm
|
||||
LFLAGS := `sdl2-config --libs` -lSDL2_mixer -lSDL2_image -lSDL2_ttf -lm $(LDFLAGS)
|
||||
|
||||
DIST_FILES = data gfx manual music sound src LICENSE makefile* common.mk README.md CHANGELOG
|
||||
|
||||
|
@ -25,37 +32,43 @@ $(PROG): $(OBJS)
|
|||
$(CC) -o $@ $(OBJS) $(LFLAGS)
|
||||
|
||||
install:
|
||||
cp $(PROG) $(BIN_DIR)
|
||||
mkdir -p $(DATA_DIR)
|
||||
cp -r data $(DATA_DIR)
|
||||
cp -r gfx $(DATA_DIR)
|
||||
cp -r manual $(DATA_DIR)
|
||||
cp -r music $(DATA_DIR)
|
||||
cp -r sound $(DATA_DIR)
|
||||
cp -p icons/$(PROG)-16x16.png $(ICON_DIR)/16x16/apps/$(PROG).png
|
||||
cp -p icons/$(PROG)-32x32.png $(ICON_DIR)/32x32/apps/$(PROG).png
|
||||
cp -p icons/$(PROG)-64x64.png $(ICON_DIR)/64x64/apps/$(PROG).png
|
||||
cp -p icons/$(PROG)-128x128.png $(ICON_DIR)/128x128/apps/$(PROG).png
|
||||
cp -p icons/$(PROG).desktop $(DESKTOP_DIR)
|
||||
mkdir -p $(INST_BIN_DIR)
|
||||
install -m 0755 $(PROG) $(INST_BIN_DIR)
|
||||
mkdir -p $(INST_DATA_DIR)
|
||||
cp -r data $(INST_DATA_DIR)
|
||||
cp -r gfx $(INST_DATA_DIR)
|
||||
cp -r manual $(INST_DATA_DIR)
|
||||
cp -r music $(INST_DATA_DIR)
|
||||
cp -r sound $(INST_DATA_DIR)
|
||||
mkdir -p $(INST_ICON_DIR)/16x16/apps
|
||||
mkdir -p $(INST_ICON_DIR)/32x32/apps
|
||||
mkdir -p $(INST_ICON_DIR)/64x64/apps
|
||||
mkdir -p $(INST_ICON_DIR)/128x128/apps
|
||||
cp -p icons/$(PROG)-16x16.png $(INST_ICON_DIR)/16x16/apps/$(PROG).png
|
||||
cp -p icons/$(PROG)-32x32.png $(INST_ICON_DIR)/32x32/apps/$(PROG).png
|
||||
cp -p icons/$(PROG)-64x64.png $(INST_ICON_DIR)/64x64/apps/$(PROG).png
|
||||
cp -p icons/$(PROG)-128x128.png $(INST_ICON_DIR)/128x128/apps/$(PROG).png
|
||||
mkdir -p $(INST_DESKTOP_DIR)
|
||||
cp -p icons/$(PROG).desktop $(INST_DESKTOP_DIR)
|
||||
|
||||
@for f in $(LOCALE_MO); do \
|
||||
lang=`echo $$f | sed -e 's/^locale\///;s/\.mo$$//'`; \
|
||||
mkdir -p $(LOCALE_DIR)/$$lang/LC_MESSAGES; \
|
||||
cp -v $$f $(LOCALE_DIR)/$$lang/LC_MESSAGES/$(PROG).mo; \
|
||||
mkdir -p $(INST_LOCALE_DIR)/$$lang/LC_MESSAGES; \
|
||||
cp -v $$f $(INST_LOCALE_DIR)/$$lang/LC_MESSAGES/$(PROG).mo; \
|
||||
done
|
||||
|
||||
uninstall:
|
||||
$(RM) $(BIN_DIR)/$(PROG)
|
||||
$(RM) -rf $(DATA_DIR)
|
||||
$(RM) $(ICON_DIR)/16x16/apps/$(PROG).png
|
||||
$(RM) $(ICON_DIR)/32x32/apps/$(PROG).png
|
||||
$(RM) $(ICON_DIR)/64x64/apps/$(PROG).png
|
||||
$(RM) $(ICON_DIR)/128x128/apps/$(PROG).png
|
||||
$(RM) $(DESKTOP_DIR)/$(PROG).desktop
|
||||
$(RM) $(INST_BIN_DIR)/$(PROG)
|
||||
$(RM) -rf $(INST_DATA_DIR)
|
||||
$(RM) $(INST_ICON_DIR)/16x16/apps/$(PROG).png
|
||||
$(RM) $(INST_ICON_DIR)/32x32/apps/$(PROG).png
|
||||
$(RM) $(INST_ICON_DIR)/64x64/apps/$(PROG).png
|
||||
$(RM) $(INST_ICON_DIR)/128x128/apps/$(PROG).png
|
||||
$(RM) $(INST_DESKTOP_DIR)/$(PROG).desktop
|
||||
|
||||
@for f in $(LOCALE_MO); do \
|
||||
lang=`echo $$f | sed -e 's/^locale\///;s/\.mo$$//'`; \
|
||||
$(RM) -v $(LOCALE_DIR)/$$lang/LC_MESSAGES/$(PROG).mo; \
|
||||
$(RM) -v $(INST_LOCALE_DIR)/$$lang/LC_MESSAGES/$(PROG).mo; \
|
||||
done
|
||||
|
||||
# prepare an archive for the program
|
||||
|
|
Loading…
Reference in New Issue