mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-18 02:21:47 +00:00
138 lines
4.3 KiB
Text
138 lines
4.3 KiB
Text
|
#!/usr/bin/make -f
|
||
|
# -*- makefile -*-
|
||
|
|
||
|
#############################################################################
|
||
|
#
|
||
|
# GNU Make Debian package makefile for SRB2
|
||
|
#
|
||
|
# Copyright (C) 1998-2010 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.
|
||
|
#
|
||
|
#############################################################################
|
||
|
|
||
|
# Uncomment this to turn on verbose mode.
|
||
|
#export DH_VERBOSE=1
|
||
|
|
||
|
# user/group of to-be-installed files
|
||
|
ROOT_USER := 0
|
||
|
ROOT_GROUP := 0
|
||
|
|
||
|
# determine cross-compile (may need some work)
|
||
|
CROSS_COMPILE_BUILD := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
|
||
|
CROSS_COMPILE_HOST := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
||
|
CROSS_COMPILE := $(shell test "$(CROSS_COMPILE_BUILD)" != "$(CROSS_COMPILE_HOST)" && echo "$(CROSS_COMPILE_HOST)")
|
||
|
|
||
|
MKDIR = mkdir -p
|
||
|
MAKE = make
|
||
|
INSTALL = install -o $(ROOT_USER) -g $(ROOT_GROUP) -m 644
|
||
|
MV = mv
|
||
|
RM = rm -rf
|
||
|
STRIPARGS = --strip-unneeded
|
||
|
ifdef CROSS_COMPILE
|
||
|
STRIP = $(CROSS_COMPILE_HOST)-strip $(STRIPARGS)
|
||
|
else
|
||
|
STRIP = strip $(STRIPARGS)
|
||
|
endif
|
||
|
DIR := $(shell pwd)
|
||
|
|
||
|
# FIXME: hate hate hate head/tail hack :(
|
||
|
CONTROLF = $(DIR)/debian/control
|
||
|
PACKAGE = srb2
|
||
|
DBGPKG = $(PACKAGE)-dbg
|
||
|
TITLE = Sonic Robo Blast 2
|
||
|
SECTION = Games/Action
|
||
|
EXENAME = srb2
|
||
|
DBGNAME = debug/$(EXENAME)
|
||
|
|
||
|
PKGDIR = usr/games
|
||
|
DBGDIR = usr/lib/debug/$(PKGDIR)
|
||
|
PREFIX = $(shell test "$(CROSS_COMPILE_BUILD)" != "$(CROSS_COMPILE_HOST)" && echo "PREFIX=$(CROSS_COMPILE_HOST)")
|
||
|
OS = LINUX=1
|
||
|
NONX86 = $(shell test "`echo $(CROSS_COMPILE_HOST) | grep 'i[3-6]86'`" || echo "NONX86=1")
|
||
|
MAKEARGS = $(OS) $(NONX86) $(PREFIX) EXENAME=$(EXENAME) DBGNAME=$(DBGNAME) SDL_PKGCONFIG=sdl PNG_PKGCONFIG=libpng NOOBJDUMP=1
|
||
|
MENUFILE1 = ?package($(PACKAGE)):needs="X11" section="$(SECTION)"
|
||
|
MENUFILE2 = title="$(TITLE)" command="/$(PKGDIR)/$(PACKAGE)"
|
||
|
# FIXME pkg-config dir hacks
|
||
|
export PKG_CONFIG_LIBDIR = /usr/$(CROSS_COMPILE_HOST)/lib/pkgconfig
|
||
|
BINDIR := $(DIR)/bin/Linux/Release
|
||
|
LDFLAGS += "-Wl,-rpath=/usr/$(CROSS_COMPILE_HOST)/lib/"
|
||
|
|
||
|
build:
|
||
|
$(MKDIR) $(BINDIR)/debug
|
||
|
$(MAKE) -C $(DIR)/src $(MAKEARGS)
|
||
|
$(STRIP) $(BINDIR)/$(EXENAME)
|
||
|
|
||
|
binary-indep:
|
||
|
# only here to kill Lintian warning
|
||
|
echo "no need to do any arch-independent stuff"
|
||
|
|
||
|
binary-arch:
|
||
|
$(MKDIR) $(DIR)/debian/tmp/$(PKGDIR) $(DIR)/debian/tmp/$(DBGDIR)
|
||
|
$(INSTALL) $(BINDIR)/$(EXENAME) $(DIR)/debian/tmp/$(PKGDIR)/$(PACKAGE)
|
||
|
$(INSTALL) $(BINDIR)/$(DBGNAME) $(DIR)/debian/tmp/$(DBGDIR)/$(PACKAGE)
|
||
|
# add compiled binaries to include-binaries
|
||
|
echo $(BINDIR)/$(EXENAME) >> $(DIR)/debian/source/include-binaries
|
||
|
echo $(BINDIR)/$(EXENAME) >> $(DIR)/debian/source/include-binaries
|
||
|
# Generate install folder files
|
||
|
echo $(PKGDIR) > $(DIR)/debian/$(PACKAGE).install
|
||
|
echo $(DBGDIR) > $(DIR)/debian/$(DBGPKG).install
|
||
|
|
||
|
binary: binary-arch
|
||
|
# Generate .desktop specifications
|
||
|
echo "`echo '$(MENUFILE1)\\'`" > $(DIR)/debian/menu
|
||
|
echo " `echo '$(MENUFILE2)'`" >> $(DIR)/debian/menu
|
||
|
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:
|
||
|
$(MAKE) -C $(DIR)/src $(MAKEARGS) clean cleandep
|
||
|
$(RM) $(BINDIR)/*
|
||
|
$(RM) $(DIR)/debian/$(PACKAGE)/*
|
||
|
$(RM) $(DIR)/debian/$(DBGPKG)/*
|
||
|
$(RM) $(DIR)/debian/tmp/*
|
||
|
$(RM) $(DIR)/debian/$(PACKAGE).install
|
||
|
$(RM) $(DIR)/debian/$(DBGPKG).install
|
||
|
$(RM) $(DIR)/debian/menu
|
||
|
$(RM) $(DIR)/debian/files
|
||
|
$(RM) $(DIR)/debian/source/include-binaries
|
||
|
|
||
|
.PHONY: all clean binary binary-arch binary-indep build
|