3
# Please don't mind too much about BUILD_DIR,
4
# it was originally from an experiment that I did
5
# not keep in the package. F-D
8
4
DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
9
5
DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
10
6
DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
11
7
export QUILT_PATCHES := debian/patches
12
9
ROOT_DIR=$(shell pwd)
15
11
export HOME := $(ROOT_DIR)/debian
17
-include ${BUILD_DIR}/erts/vsn.mk
18
-include ${BUILD_DIR}/lib/erl_interface/vsn.mk
19
-include ${BUILD_DIR}/lib/ic/vsn.mk
20
-include ${BUILD_DIR}/lib/tools/vsn.mk
21
-include ${BUILD_DIR}/lib/webtool/vsn.mk
13
-include ${ROOT_DIR}/erts/vsn.mk
14
-include ${ROOT_DIR}/lib/erl_interface/vsn.mk
15
-include ${ROOT_DIR}/lib/ic/vsn.mk
16
-include ${ROOT_DIR}/lib/tools/vsn.mk
17
-include ${ROOT_DIR}/lib/webtool/vsn.mk
22
18
SOURCE_VERSION=$(shell dpkg-parsechangelog | sed -ne's!^Version: \(.*\)-.*!\1!p')
23
19
ABI_VERSION=$(shell cat debian/control | sed -ne's!^Provides: erlang-abi-\(.*\)!\1!p' | head -1)
24
20
HIPE_ARCHES=$(shell cat debian/control | grep '^Architecture:' | egrep -v '(all|any)' | sed -e 's/^Architecture: *//')
22
ifeq ($(findstring debug,$(DEB_BUILD_OPTIONS)),debug)
26
25
BUILD_HIPE := $(shell echo ' $(HIPE_ARCHES) ' | grep -c ' ${DEB_HOST_ARCH} ' | sed -es/1/yes/ -es/0/no/)
27
27
ifeq ($(BUILD_HIPE), no)
28
28
BINARY_TARGETS=binary-erlang-base
29
29
INSTALL_RULE=install-stnd-stamp
50
50
CLOCK_GETTIME_OPT=--enable-clock-gettime
53
# Temporary (until #475459 is fixed) disabling threads for sparc architecture
54
ifeq ($(DEB_HOST_ARCH), sparc)
55
THREAD_OPTS=--disable-threads --disable-smp-support
57
THREAD_OPTS=--enable-threads --enable-smp-support
55
CFLAGS=-g -O2 -fno-strict-aliasing
56
GEN_OPT_FLGS=-O2 -fno-strict-aliasing
62
ifeq ($(findstring debug,$(DEB_BUILD_OPTIONS)),debug)
63
CFLAGS=-g -O2 -fno-strict-aliasing
64
GEN_OPT_FLGS=-O2 -fno-strict-aliasing
67
CFLAGS=-g -O2 -fno-strict-aliasing
68
GEN_OPT_FLGS=-O2 -fno-strict-aliasing
58
72
unpatch: patch-stamp
84
98
rm -rf debian/erlang-hipe
86
100
# Restore replaced configure, config.guess, and config.sub files
87
for i in `find ${BUILD_DIR} -name 'configure.backup'` ; do \
101
for i in `find ${ROOT_DIR} -name 'configure.backup'` ; do \
88
102
mv $$i $${i%%.backup} ; \
90
for i in `find ${BUILD_DIR} -name 'config.guess~'` ; do \
104
for i in `find ${ROOT_DIR} -name 'config.guess~'` ; do \
91
105
mv $$i $${i%%\~} ; \
93
for i in `find ${BUILD_DIR} -name 'config.sub~'` ; do \
107
for i in `find ${ROOT_DIR} -name 'config.sub~'` ; do \
94
108
mv $$i $${i%%\~} ; \
138
152
# Replace config.guess and config.sub by installed in /usr/share/misc.
139
153
# Also add suffix -gnu to ibm-linux in config.guess to fix FTBFS
140
154
# on s390 architecture
141
for i in `find ${BUILD_DIR} -not \( -wholename '*/.pc' -prune \) \
155
for i in `find ${ROOT_DIR} -not \( -wholename '*/.pc' -prune \) \
142
156
-a -name 'config.guess'` ; do \
143
157
cp -fb /usr/share/misc/config.guess $$i ; \
144
158
sed -i 's/-ibm-linux$$/-ibm-linux-gnu/g' $$i ; \
146
for i in `find ${BUILD_DIR} -not \( -wholename '*/.pc' -prune \) \
160
for i in `find ${ROOT_DIR} -not \( -wholename '*/.pc' -prune \) \
147
161
-a -name 'config.sub'` ; do \
148
162
cp -fb /usr/share/misc/config.sub $$i ; \
151
165
# Regenerate configure scripts using autoconf
152
for i in `find ${BUILD_DIR} -not \( -wholename '*/.pc' -prune \) \
166
for i in `find ${ROOT_DIR} -not \( -wholename '*/.pc' -prune \) \
153
167
-a -name 'configure.in' -printf "%h\n"`; do \
154
168
echo "autoconf'ing $${i}"; \
155
169
(cd $${i} && autoconf) \
218
228
echo "*** do-install called for $(INSTALL_DIR)."
220
230
# Calls make install.
221
(cd $(BUILD_DIR) && \
222
${MAKE} INSTALL_PREFIX=$(INSTALL_DIR) install)
231
${MAKE} INSTALL_PREFIX=$(INSTALL_DIR) TYPE=$(TYPE) install
224
233
# Replace ROOTDIR in "erl" and "start" scripts for real rootdir
225
234
# If there's no erl or start then it's better to fail than silently continue
275
284
build-hipe: build-hipe-stamp
276
285
build-hipe-stamp: configure-hipe-stamp
278
(cd ${BUILD_DIR} && ${MAKE} GEN_OPT_FLGS="$(GEN_OPT_FLGS)" CC_R_FLAG= LD_R_FLAG= CC_R_OPT=)
279
287
touch build-hipe-stamp
288
ifeq ($(findstring debug,$(DEB_BUILD_OPTIONS)),debug)
289
${MAKE} TYPE=$(TYPE) FLAVOR=smp GEN_OPT_FLGS="$(GEN_OPT_FLGS)" emulator
290
${MAKE} TYPE=$(TYPE) FLAVOR=plain GEN_OPT_FLGS="$(GEN_OPT_FLGS)" emulator
292
${MAKE} TYPE=$(TYPE) GEN_OPT_FLGS="$(GEN_OPT_FLGS)" CC_R_FLAG= LD_R_FLAG= CC_R_OPT=
281
294
build-stnd: build-stnd-stamp
282
295
build-stnd-stamp: configure-stnd-stamp
284
(cd ${BUILD_DIR} && ${MAKE} GEN_OPT_FLGS="$(GEN_OPT_FLGS)" CC_R_FLAG= LD_R_FLAG= CC_R_OPT=)
297
ifeq ($(findstring debug,$(DEB_BUILD_OPTIONS)),debug)
298
${MAKE} TYPE=$(TYPE) FLAVOR=smp GEN_OPT_FLGS="$(GEN_OPT_FLGS)" emulator
299
${MAKE} TYPE=$(TYPE) FLAVOR=plain GEN_OPT_FLGS="$(GEN_OPT_FLGS)" emulator
301
${MAKE} TYPE=$(TYPE) GEN_OPT_FLGS="$(GEN_OPT_FLGS)" CC_R_FLAG= LD_R_FLAG= CC_R_OPT=
285
302
touch build-stnd-stamp
287
304
install-hipe: install-hipe-stamp
306
323
build-stamp: $(INSTALL_RULE)
309
sh debian/analyse.sh $(TMPINSTALL_DIR)
310
326
for i in debian/*.in ; do \
311
327
sed -e's/@VERSION@/$(VSN)/g' \
312
328
-e's/@SOURCE_VERSION@/$(SOURCE_VERSION)/g' \
317
333
-e's/@WEBTOOL_VSN@/$(WEBTOOL_VSN)/g' \
318
334
-e's/@TOOLS_VSN@/$(TOOLS_VSN)/g' <$$i >$${i%%.in} ; \
320
pod2man -c 'Erlang packages for Debian GNU/Linux' \
321
debian/erlang-depends >debian/erlang-depends.1
336
sh debian/analyse.sh $(TMPINSTALL_DIR)
323
338
# Add all author lists to debian/AUTHORS
325
for i in `find $(BUILD_DIR) -name AUTHORS | sort` ; do \
340
for i in `find $(ROOT_DIR) -name AUTHORS | sort` ; do \
327
342
if [ $$f = 1 ] ; then \