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 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192
|
#!/usr/bin/make -f
TESTDIR=test -d src/clt/alp/exe
DEBCFLAGS:=-g -Wall
DEBSTRIP:=strip
WGET=wget
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
DEBCFLAGS += -O0
else
DEBCFLAGS += -O2
endif
ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
DEBSTRIP:=:
endif
DEBVERSION:=$(shell head -1 debian/changelog \
| sed -e 's/^[^(]*(\([^)]*\)).*/\1/')
UPVERSION:=$(shell echo $(DEBVERSION) | sed -e 's/-[0-9.]*$$//')
DASHUPVERSION:=$(shell echo $(UPVERSION) | tr . -)
MAJORVERSION:=$(shell echo $(UPVERSION) | sed -e 's/\.[0-9]*$$//')
build:
$(TESTDIR)
cat debian/copyright.in etc/license.txt > debian/copyright
cnf/bin/aleph-setup -o --prefix=/usr
mkdir debian/static || rm -fr debian/static/*
mkdir debian/static/lib debian/static/bin
make OPTCCFLAGS="$(DEBCFLAGS)" DYNCCFLAGS= LD=false SOLIB=
case "`dpkg --print-architecture`" in __NO_ARCH_ANYMORE_) \
make -C src/ext/asi OPTCCFLAGS="$(DEBCFLAGS)"; \
cp bld/bin/* debian/static/bin/;; esac
cp bld/lib/*.a debian/static/lib
make distclean
cnf/bin/aleph-setup -o --prefix=/usr
make OPTCCFLAGS="$(DEBCFLAGS)"
make doc
touch build
binary-pre: build
$(TESTDIR)
rm -fr debian/tmp* debian/files* debian/substvars*
install -d debian/tmp
make install PREFIX=`pwd`/debian/tmp/usr \
MANDIR=`pwd`/debian/tmp/usr/share/man
set -e; for i in `cd debian/static/lib && ls`; do \
(set -x; cp debian/static/lib/$$i debian/tmp/usr/lib/$$i); done
set -e; for i in `cd debian/static/bin && ls`; do \
if [ "$$i" != "" ]; then \
(set -x; cp debian/static/bin/$$i debian/tmp/usr/bin/$$i); \
fi; done
binary-arch: binary-pre
# Binary package
install -d debian/tmp-bin/usr
install -d debian/tmp-bin/DEBIAN
mv debian/tmp/usr/bin debian/tmp-bin/usr/bin
install -d debian/tmp-bin/usr/lib
mv debian/tmp/usr/lib/*.so.[0-9].[0-9].[0-9] debian/tmp-bin/usr/lib
chmod -x debian/tmp-bin/usr/lib/*
mv debian/tmp/usr/lib/*.so.[0-9].[0-9] debian/tmp-bin/usr/lib
mv debian/tmp/usr/share debian/tmp-bin/usr/
gzip -v9 debian/tmp-bin/usr/share/man/man1/*
install -d debian/tmp-bin/usr/share/doc/aleph
cp debian/copyright debian/tmp-bin/usr/share/doc/aleph/copyright
cp debian/changelog debian/tmp-bin/usr/share/doc/aleph/changelog.Debian
cp debian/README.Debian debian/tmp-bin/usr/share/doc/aleph/README.Debian
gzip -v9 debian/tmp-bin/usr/share/doc/aleph/changelog.Debian \
debian/tmp-bin/usr/share/doc/aleph/README.Debian
cp debian/postinst-bin debian/tmp-bin/DEBIAN/postinst
cp debian/postrm-bin debian/tmp-bin/DEBIAN/postrm
ls debian/tmp-bin/usr/lib/*.so.[0-9].[0-9].[0-9] \
| sed -e 's!^.*/\(libaleph-.*\)\.so\.'"`echo $(MAJORVERSION) \
| sed -e 's!\.!\\\.!'`"'\.[0-9]*$$!\1 $(MAJORVERSION) aleph(>=$(MAJORVERSION))!' > debian/tmp-bin/DEBIAN/shlibs
chmod +x debian/tmp-bin/DEBIAN/postinst \
debian/tmp-bin/DEBIAN/postrm
# Debianization
$(DEBSTRIP) --remove-section=.comment --remove-section=.note \
--strip-unneeded debian/tmp-bin/usr/lib/*
$(DEBSTRIP) --remove-section=.comment --remove-section=.note \
debian/tmp-bin/usr/bin/*
LD_LIBRARY_PATH="debian/tmp-bin/usr/lib:$$LD_LIBRARY_PATH" \
dpkg-shlibdeps debian/tmp-bin/usr/bin/*
dpkg-gencontrol -isp -paleph -Pdebian/tmp-bin
chown -R root.root debian/tmp-bin
chmod -R u+rwX,go+rX-w,a-ts debian/tmp-bin
dpkg --build debian/tmp-bin ..
# Dev package
install -d debian/tmp-dev/usr
install -d debian/tmp-dev/DEBIAN
mv debian/tmp/usr/include debian/tmp-dev/usr/include
mv debian/tmp/usr/lib debian/tmp-dev/usr/lib
$(DEBSTRIP) --strip-debug debian/tmp-dev/usr/lib/*.a
install -d debian/tmp-dev/usr/share/doc
ln -s aleph debian/tmp-dev/usr/share/doc/aleph-dev
# Debianization
dpkg-gencontrol -isp -paleph-dev -Pdebian/tmp-dev
chown -R root.root debian/tmp-dev
chmod -R u+rwX,go+rX-w,a-ts debian/tmp-dev
dpkg --build debian/tmp-dev ..
binary-all: binary-pre
# Doc package
install -d debian/tmp-doc/usr/share/doc/aleph-doc
install -d debian/tmp-doc/DEBIAN
install -d debian/tmp-doc/usr/share/doc-base
@set -e; \
for i in 0 1 2 3 4; do \
(set -x; cp debian/aleph-docbase-vol$$i \
debian/tmp-doc/usr/share/doc-base/aleph-vol$$i); \
done
for i in bld/aleph-doc-$(DASHUPVERSION)/*-A4.ps \
bld/aleph-doc-$(DASHUPVERSION)/*-A4.pdf; \
do \
cp $$i debian/tmp-doc/usr/share/doc/aleph-doc/"`echo $$i \
| sed -e 's!^.*/\([^/]\+\)-A4\(\.ps\|\.pdf\)$$!\1\2!'`"; \
done
gzip -v9 debian/tmp-doc/usr/share/doc/aleph-doc/*.ps
mkdir -p debian/tmp-doc/usr/share/doc/aleph-doc/examples/als
cp exp/als/*.als debian/tmp-doc/usr/share/doc/aleph-doc/examples/als
mkdir debian/tmp-doc/usr/share/doc/aleph-doc/examples/api
cp exp/api/*.[ch]* debian/tmp-doc/usr/share/doc/aleph-doc/examples/api
find debian/tmp-doc/usr/share/doc/aleph-doc/examples -type f \
| xargs gzip -v9
cp debian/copyright debian/tmp-doc/usr/share/doc/aleph-doc/copyright
cp debian/changelog debian/tmp-doc/usr/share/doc/aleph-doc/changelog.Debian
gzip -v9 debian/tmp-doc/usr/share/doc/aleph-doc/changelog.Debian
cp debian/prerm-doc debian/tmp-doc/DEBIAN/prerm
cp debian/postinst-doc debian/tmp-doc/DEBIAN/postinst
chmod +x debian/tmp-doc/DEBIAN/prerm debian/tmp-doc/DEBIAN/postinst
# Debianization
dpkg-gencontrol -isp -paleph-doc -Pdebian/tmp-doc
chown -R root.root debian/tmp-doc
chmod -R u+rwX,go+rX-w,a-ts debian/tmp-doc
dpkg --build debian/tmp-doc ..
# Emacs package
install -d debian/tmp-emacs/usr/share/doc/aleph-emacs
install -d debian/tmp-emacs/usr/share/emacs/site-lisp
install -d debian/tmp-emacs/usr/lib/emacsen-common/packages/install
install -d debian/tmp-emacs/usr/lib/emacsen-common/packages/remove
install -d debian/tmp-emacs/etc/emacs/site-start.d
install -d debian/tmp-emacs/DEBIAN
cp etc/aleph-mode.el debian/tmp-emacs/usr/share/emacs/site-lisp/
cp debian/emacs-install \
debian/tmp-emacs/usr/lib/emacsen-common/packages/install/aleph-emacs
chmod +x \
debian/tmp-emacs/usr/lib/emacsen-common/packages/install/aleph-emacs
cp debian/emacs-remove \
debian/tmp-emacs/usr/lib/emacsen-common/packages/remove/aleph-emacs
chmod +x \
debian/tmp-emacs/usr/lib/emacsen-common/packages/remove/aleph-emacs
cp debian/emacs-start \
debian/tmp-emacs/etc/emacs/site-start.d/50aleph-emacs.el
cp debian/emacs-copyright \
debian/tmp-emacs/usr/share/doc/aleph-emacs/copyright
cp debian/changelog \
debian/tmp-emacs/usr/share/doc/aleph-emacs/changelog.Debian
gzip -v9 debian/tmp-emacs/usr/share/doc/aleph-emacs/changelog.Debian
cp debian/prerm-emacs debian/tmp-emacs/DEBIAN/prerm
cp debian/postinst-emacs debian/tmp-emacs/DEBIAN/postinst
chmod +x debian/tmp-emacs/DEBIAN/*
cp debian/conffiles-emacs debian/tmp-emacs/DEBIAN/conffiles
dpkg-gencontrol -isp -paleph-emacs -Pdebian/tmp-emacs
chown -R root.root debian/tmp-emacs
chmod -R u+rwX,go+rX-w,a-ts debian/tmp-emacs
dpkg --build debian/tmp-emacs ..
binary: binary-arch binary-all
rm debian/tmp/usr/etc/aleph/license.txt # Not used
test "$$(find debian/tmp ! -type d)" = ""
clean:
$(TESTDIR)
-make distclean
rm -f build debian/copyright
rm -fr debian/tmp* debian/files* debian/substvars* debian/static
find . -name "*~" -print0 | xargs -r0 rm -f
print-version:
@echo "Debian version: $(DEBVERSION)"
@echo "Upstream version: $(UPVERSION)"
@echo "Major upstream version: $(MAJORVERSION)"
@echo "Dashed upstream version: $(DASHUPVERSION)"
get-orig-source:
$(WGET) -O aleph_$(UPVERSION).orig.tar.gz \
ftp://ftp.aleph-lang.org/pub/aleph/aleph-$(DASHUPVERSION)/aleph-src-$(DASHUPVERSION).tar.gz
# Localvariables:
# mode: make
# End:
|