File: rules

package info (click to toggle)
expat 2.2.10-2%2Bdeb11u5
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 91,088 kB
  • sloc: xml: 610,483; ansic: 24,722; sh: 676; makefile: 345; python: 55; cpp: 1
file content (143 lines) | stat: -rwxr-xr-x 4,842 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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#!/usr/bin/make -f
## ----------------------------------------------------------------------
## debian/rules : package script for expat
## ----------------------------------------------------------------------

## uncomment this to turn on verbose mode
#export DH_VERBOSE=1

DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_HOST_ARCH      ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_HOST_ARCH_OS   ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

ifneq (,$(filter stage1, $(DEB_BUILD_PROFILES)))
  without_docbook = --without-docbook
  build_targets = lib xmlwf tests examples
endif

ifeq (,$(filter noudeb, $(DEB_BUILD_PROFILES)))
  with_udeb = yes
endif

ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
	CONFFLAGS = --build=$(DEB_HOST_GNU_TYPE)
else
	CONFFLAGS = --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
endif

ifneq (,$(filter $(DEB_HOST_ARCH_OS), kfreebsd hurd))
	CONFFLAGS += --with-libbsd
endif

# -pthread -D_REENTRANT #551079
CFLAGS  = `dpkg-buildflags --get CFLAGS`
CFLAGS  += -Wall

LDFLAGS = -Wl,-Bsymbolic-functions
LDFLAGS += `dpkg-buildflags --get LDFLAGS`

CPPFLAGS = `dpkg-buildflags --get CPPFLAGS`

UPACKAGE = $(shell dh_listpackages | grep -- -udeb$$)

COMMA = ,
ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
  NJOBS := -j $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
endif

config-common-stamp:
	dh_testdir
	rm -rf $(CURDIR)/src $(CURDIR)/srcw
	mkdir -p $(CURDIR)/src $(CURDIR)/srcw
	tar cf - expat/* | tar --strip-components=1 -C $(CURDIR)/src   -xf -
	tar cf - expat/* | tar --strip-components=1 -C $(CURDIR)/srcw -xf -
	sed -i -e "s,libexpat\.la,libexpatw.la," \
		-e "s,libexpat_la,libexpatw_la," \
		$$(find srcw -name Makefile.am)
	cd $(CURDIR)/src ; ./buildconf.sh
	cd $(CURDIR)/srcw; ./buildconf.sh
	touch $@

build/config.status: config-common-stamp
	dh_testdir
	(mkdir -p $(@D); cd $(@D); CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \
	 ../src/configure $(CONFFLAGS) --prefix=/usr --mandir=\$${prefix}/share/man --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) $(without_docbook))

buildw/config.status: config-common-stamp
	dh_testdir
	(mkdir -p $(@D); cd $(@D); CFLAGS="$(CFLAGS) -DXML_UNICODE" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \
	 ../srcw/configure $(CONFFLAGS) --prefix=/usr --mandir=\$${prefix}/share/man --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) $(without_docbook))

clean:
	dh_testdir
	dh_testroot
	rm -rf src/ srcw/
	rm -rf build/ buildw/
	rm -rf debian/tmp/
	dh_autoreconf_clean
	dh_clean config-common-stamp build-stamp debian/xmlwf.1

build: build-stamp
build-arch: build-stamp
build-indep: build-stamp
build-stamp: build/config.status buildw/config.status
	dh_testdir
	$(MAKE) $(NJOBS) -C build/ $(build_targets)
	$(MAKE) $(NJOBS) -C buildw/lib all
#	docbook-to-man doc/xmlwf.sgml > debian/xmlwf.1
	touch $@

install: build
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs
ifneq (,$(filter stage1, $(DEB_BUILD_PROFILES)))
	# fake manpage
	mkdir -p $(CURDIR)/debian/tmp/usr/share/man/man1/
	echo '.SH NAME\nxmlwf - dummy manpage' \
		>$(CURDIR)/debian/tmp/usr/share/man/man1/xmlwf.1
endif
	$(MAKE) -C build/ install DESTDIR=$(CURDIR)/debian/tmp
	$(MAKE) -C buildw/lib install DESTDIR=$(CURDIR)/debian/tmp APIHEADER=
	# Move libexpat.so.* to /lib so that zfsutils can use it.
	mkdir -p $(CURDIR)/debian/tmp/lib/$(DEB_HOST_MULTIARCH)
	mv $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libexpat.so.* \
		$(CURDIR)/debian/tmp/lib/$(DEB_HOST_MULTIARCH)/
	for i in $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libexpat.so ; do \
		dest=$$(readlink $$i) ; \
		rm -f $$i ; \
		ln -s /lib/$(DEB_HOST_MULTIARCH)/$$dest $$i ; \
	done
	mkdir -p debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)
	mv debian/tmp/usr/include/expat_config.h debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/.

binary-indep: build install
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_install -a --sourcedir=debian/tmp
	rm debian/libexpat1-dev/usr/share/doc/libexpat1-dev/expat.html/Makefile.am
	dh_installdocs -a
	dh_installman -a
#	dh_installman -pexpat debian/xmlwf.1
	dh_installexamples -a
	dh_installchangelogs -a expat/Changes
	dh_link -a
	dh_strip -a
	dh_compress -a
	dh_fixperms -a
	chmod 644 $(CURDIR)/debian/libexpat1-dev/usr/share/doc/libexpat1-dev/examples/* \
	          $(CURDIR)/debian/libexpat1-dev/usr/share/aclocal/*
	dh_makeshlibs -a -V $(if $(with_udeb),--add-udeb=$(UPACKAGE))
	dh_installdeb -a
	dh_shlibdeps -a -l $(CURDIR)/debian/libexpat1/usr/lib/$(DEB_HOST_MULTIARCH)
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary: binary-indep binary-arch

.PHONY: clean build install binary-indep binary-arch binary