File: rules

package info (click to toggle)
lua5.4 5.4.2-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,596 kB
  • sloc: ansic: 19,534; makefile: 307; sh: 35
file content (94 lines) | stat: -rwxr-xr-x 3,488 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/usr/bin/make -f

# Uncomment to use ccache
#export CCACHE=/usr/lib/ccache/

include /usr/share/dpkg/architecture.mk

ifeq ($(origin CC),default)
CC = $(CCACHE)$(DEB_HOST_GNU_TYPE)-gcc
endif

ifeq ($(origin CXX),default)
CXX = $(CCACHE)$(DEB_HOST_GNU_TYPE)-g++
endif

ifeq (hurd,$(DEB_HOST_ARCH_OS))
MYLIBS = -lpthread
endif

LUA_V = 5.4
LUA_FULL_V = 5.4.$(shell grep 'define LUA_VERSION_RELEASE\b' src/lua.h | cut -d '"' -f 2)
SONUM = 0
LUA = lua$(LUA_V)

DEB_DESTDIR := $(shell pwd)/debian/tmp/usr
LIB_PACKAGE_NAME = lib$(LUA)-$(SONUM)

PKG_DIR = $(DEB_DESTDIR)/lib/$(DEB_HOST_MULTIARCH)/pkgconfig
PKG_CONFIG_FILE = $(PKG_DIR)/$(LUA).pc
PKG_CONFIG_FILE_FBSD = $(PKG_DIR)/lua-5.4.pc
PKG_CONFIG_FILE_NODOT = $(PKG_DIR)/lua54.pc
PKGPP_CONFIG_FILE = $(PKG_DIR)/$(LUA)-c++.pc
PKGPP_CONFIG_FILE_FBSD = $(PKG_DIR)/lua-5.4-c++.pc
PKGPP_CONFIG_FILE_NODOT = $(PKG_DIR)/lua54-c++.pc

LUA_MULTIARCH_INCLUDE = $(DEB_DESTDIR)/include/$(DEB_HOST_MULTIARCH)/
LUA_MULTIARCH = lua5.4-deb-multiarch.h
%:
	dh $@

override_dh_auto_configure:
	mkdir debian/libtool
	cp debian/configure.ac debian/libtool/
	cd debian/libtool && LIBTOOLIZE='libtoolize -i' autoreconf -f -i
	dh_auto_configure --sourcedirectory=debian/libtool
	echo "#ifndef _LUA_DEB_MULTIARCH_" > src/$(LUA_MULTIARCH)
	echo "#define _LUA_DEB_MULTIARCH_" >> src/$(LUA_MULTIARCH)
	echo "#define DEB_HOST_MULTIARCH \"$(DEB_HOST_MULTIARCH)\"" >> \
		src/$(LUA_MULTIARCH)
	echo "#endif" >> src/$(LUA_MULTIARCH)

override_dh_auto_build:
	$(MAKE) linux-readline MYLIBS=$(MYLIBS) LIBTOOL='$(CURDIR)/debian/libtool/libtool' CC='$(CC) -std=gnu99' CXX='$(CXX)'

override_dh_auto_install:
	# pkgconfig
	mkdir -p $(PKG_DIR)
	echo "prefix=/usr" > $(PKG_CONFIG_FILE)
	echo "major_version=$(LUA_V)" >> $(PKG_CONFIG_FILE)
	echo "version=$(LUA_FULL_V)" >> $(PKG_CONFIG_FILE)
	echo "lib_name_include=lua$(LUA_V)" >> $(PKG_CONFIG_FILE)
	echo "deb_host_multiarch=$(DEB_HOST_MULTIARCH)" >> $(PKG_CONFIG_FILE)
	cat debian/lua.pc.in >> $(PKG_CONFIG_FILE)
	ln -s $(shell basename $(PKG_CONFIG_FILE)) $(PKG_CONFIG_FILE_FBSD)
	ln -s $(shell basename $(PKG_CONFIG_FILE)) $(PKG_CONFIG_FILE_NODOT)
	echo "prefix=/usr" > $(PKGPP_CONFIG_FILE)
	echo "major_version=$(LUA_V)" >> $(PKGPP_CONFIG_FILE)
	echo "version=$(LUA_FULL_V)" >> $(PKGPP_CONFIG_FILE)
	echo "lib_name_include=lua$(LUA_V)" >> $(PKGPP_CONFIG_FILE)
	echo "deb_host_multiarch=$(DEB_HOST_MULTIARCH)" >> $(PKGPP_CONFIG_FILE)
	cat debian/lua-c++.pc.in >> $(PKGPP_CONFIG_FILE)
	ln -s $(shell basename $(PKGPP_CONFIG_FILE)) $(PKGPP_CONFIG_FILE_FBSD)
	ln -s $(shell basename $(PKGPP_CONFIG_FILE)) $(PKGPP_CONFIG_FILE_NODOT)
	# manpage
	cat doc/lua.1  | sed 's/TH LUA 1/TH LUA5.4 1/' > doc/lua5.4.1
	cat doc/luac.1 | sed 's/TH LUAC 1/TH LUAC5.4 1/' > doc/luac5.4.1
	# multiarch
	mkdir -p $(LUA_MULTIARCH_INCLUDE)
	cp src/$(LUA_MULTIARCH) $(LUA_MULTIARCH_INCLUDE)
	$(MAKE) install LIBTOOL=$(CURDIR)/debian/libtool/libtool
	mkdir -p $(DEB_DESTDIR)/share/lua$(LUA_V)/
	cp debian/version-script $(DEB_DESTDIR)/share/lua$(LUA_V)/
	sed -e's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' <debian/liblua5.4-dev.postinst.in >debian/liblua5.4-dev.postinst
	sed -e's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' <debian/liblua5.4-dev.prerm.in >debian/liblua5.4-dev.prerm

override_dh_auto_clean:
	dh_auto_clean
	rm -f doc/lua5.4.1 doc/luac5.4.1
	rm -f src/$(LUA_MULTIARCH)
	rm -f debian/liblua5.4-dev.postinst debian/liblua5.4-dev.prerm
	rm -Rf debian/libtool

override_dh_strip:
	dh_strip --dbg-package=$(LIB_PACKAGE_NAME)-dbg