Kart-Public/assets/debian-template/rules

154 lines
4.7 KiB
Makefile

#!/usr/bin/make -f
# -*- makefile -*-
#############################################################################
#
# GNU Make Debian package makefile for SRB2-data
#
# Copyright (C) 1998-2011 by Callum Dickinson
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# This file most likely will not need to be modified to make
# branches of SRB2 capable of making their own Debian packages,
# instead look at the /debian/control file for configuration.
#
#############################################################################
#############################################################################
#
# !!!!!!!!!! DEPLOYER NOTE !!!!!!!!!!
#
# Variables to be templated are curly-braced ${PACKAGE_INSTALL_PATH}
# Variables used by the rules script are parenthese'd $(DATADIR)
# See [repo-root]/debian_template.sh
#
#############################################################################
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# user/group of to-be-installed files
ROOT_USER := 0
ROOT_GROUP := 0
MKDIR := mkdir -p
INSTALL := install -o $(ROOT_USER) -g $(ROOT_GROUP) -m 644
MV := mv
RM := rm -rf
DIR := $(shell pwd)
PACKAGE := $(shell cat $(DIR)/debian/control | grep 'Package:' | sed -e 's/Package: //g')
DATAFILES := ${ASSET_FILES_REQUIRED}
DOCFILES := ${ASSET_FILES_DOCS}
OPTIONALFILES := ${ASSET_FILES_OPTIONAL}
GETOPTIONALFILES := ${ASSET_FILES_OPTIONAL_GET}
DATADIR := $(shell echo "${PACKAGE_INSTALL_PATH}" | sed -e 's/^\///')
RESOURCEDIR := .
WGET := wget -P $(RESOURCEDIR) -c -nc
build:
$(MKDIR) $(DIR)/debian/tmp/$(DATADIR)
> $(DIR)/debian/source/include-binaries
# This will need to be updated every time SRB2 official version is
# Copy data files to their install locations, and add data files to include-binaries
for file in $(DATAFILES); do \
if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \
$(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \
fi; \
if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \
$(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \
echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \
fi; \
if [ ! -f $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR} ]; then \
echo $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR} not found and could not be downloaded!; \
return 1; \
fi; \
done
# Do the same for DOCFILES, but don't error out if not found
for file in $(DOCFILES); do \
if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \
$(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \
fi; \
if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \
$(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \
echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \
fi; \
done
# Do the same for OPTIONALFILES if GETOPTIONALFILES == 1
if [ "$(GETOPTIONALFILES)" = "1" ]; then \
for file in $(OPTIONALFILES); do \
if [ ! -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \
$(WGET) ${ASSET_BASE_PATH}/${DEBFILEVAR}; \
fi; \
if [ -f $(RESOURCEDIR)/${DEBFILEVAR} ]; then \
$(INSTALL) $(RESOURCEDIR)/${DEBFILEVAR} $(DIR)/debian/tmp/$(DATADIR)/${DEBFILEVAR}; \
echo $(RESOURCEDIR)/${DEBFILEVAR} >> $(DIR)/debian/source/include-binaries; \
fi; \
done; \
fi;
binary-indep:
# Generate install folder file
echo $(DATADIR) > $(DIR)/debian/$(PACKAGE).install
binary-arch:
# only here to kill Lintian warning
echo "no need to do any arch-specific stuff"
binary: binary-indep
dh_testdir
dh_testroot
dh_installchangelogs
# dh_installdocs
# dh_installexamples
dh_install --sourcedir=$(DIR)/debian/tmp
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_python
# dh_installinit
# dh_installcron
# dh_installinfo
# dh_installman
# dh_link
dh_compress
dh_fixperms
# dh_perl
# dh_makeshlibs
dh_installdeb
# -dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
clean:
$(RM) $(DIR)/debian/tmp/*; \
$(RM) $(DIR)/debian/$(PACKAGE).install; \
$(RM) $(DIR)/debian/files; \
clean-all: clean
$(RM) $(RESOURCEDIR)/*.wad; \
$(RM) $(RESOURCEDIR)/*.dta; \
$(RM) $(RESOURCEDIR)/*.plr; \
$(RM) $(RESOURCEDIR)/*.wpn; \
$(RM) $(RESOURCEDIR)/*.srb; \
$(RM) $(RESOURCEDIR)/*.dll; \
$(RM) $(RESOURCEDIR)/*.txt; \
$(RM) $(DIR)/debian/source/include-binaries; \
.PHONY: all clean binary binary-arch binary-indep build