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
|
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# This is the debhelper compatibility version to use.
export DH_COMPAT=5
INSTALL_DIR = install -p -d -o root -g root -m 755
INSTALL_FILE = install -p -o root -g root -m 644
INSTALL_BIN = install -p -o root -g root -m 755
tmp = $(CURDIR)/debian/magnus
share = $(tmp)/usr/share/magnus
lib = $(tmp)/usr/lib/magnus
doc = $(tmp)/usr/share/doc/magnus
backend = $(lib)/back_end
overrides = $(tmp)/usr/share/lintian/overrides
pixmaps = $(tmp)/usr/share/pixmaps
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
# General compiler flags:
EXTRA_FLAGS = -Wno-deprecated -fno-operator-names -fsigned-char
EXTRA_LDFLAGS =
ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
EXTRA_FLAGS += -g
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
INSTALL_PROGRAM += -s
endif
ifeq ($(DEB_BUILD_GNU_TYPE),hppa-linux)
EXTRA_FLAGS += -ffunction-sections
EXTRA_LDFLAGS += -ffunction-sections
endif
configure: configure-stamp
configure-stamp:
dh_testdir
./configure
touch configure-stamp
build: build-stamp
build-stamp: configure-stamp
dh_testdir
$(MAKE) EXTRA_FLAGS="$(EXTRA_FLAGS)" EXTRA_LDFLAGS="$(EXTRA_LDFLAGS)" \
DEBUG=
mkdir -p doc/manual/ps
cd doc/manual ; make
cd doc/manual ; dvips magnus.dvi
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
-$(MAKE) clean
rm -f back_end/global/config.h back_end/global/config.h.old
rm -f front_end/magnus front_end/magnus.old
rm -f back_end/black_boxes/TietzeTrek/Makefile.old
rm -rf doc/manual/ps
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
$(INSTALL_DIR) $(share)
$(INSTALL_DIR) $(lib)
# Install the back end.
$(INSTALL_DIR) $(backend)/SessionManager/test/bin
$(INSTALL_BIN) back_end/SessionManager/test/bin/magnus \
$(backend)/SessionManager/test/bin
# Install the black boxes.
for i in `find back_end/black_boxes -type f -perm +100`; do \
$(INSTALL_DIR) $(lib)/`dirname $$i`; \
$(INSTALL_BIN) $$i $(lib)/`dirname $$i`; \
done
rm -f $(backend)/black_boxes/ace/*.ps
rm -rf $(backend)/black_boxes/homology/src
rm -rf $(backend)/black_boxes/kbmag/gap
rm -rf $(backend)/black_boxes/TietzeTrek/DEFUNCT
# Install the front end and miscellaneous files.
for i in `find front_end packages inventory -type d`; do \
$(INSTALL_DIR) $(share)/$$i; done
for i in `find front_end packages inventory -type f -perm +100`; do \
$(INSTALL_BIN) $$i $(share)/`dirname $$i`; done
for i in `find front_end packages inventory -type f -not -perm +100`; do \
$(INSTALL_FILE) $$i $(share)/`dirname $$i`; done
rm -f $(share)/front_end/magnus.in $(share)/front_end/magnus.old
rm -f $(share)/front_end/.cvsignore
# Install the manual.
$(INSTALL_DIR) $(doc)
$(INSTALL_FILE) doc/manual/magnus.ps $(doc)/Manual.ps
# Remove CVS directories.
rm -rf `find $(tmp) -type d -name CVS`
# Install overrides.
$(INSTALL_DIR) $(overrides)
$(INSTALL_FILE) debian/overrides $(overrides)/magnus
# Install pixmaps.
$(INSTALL_DIR) $(pixmaps)
$(INSTALL_FILE) debian/*.xpm $(pixmaps)
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
# dh_installdebconf
dh_installdocs
dh_installexamples
dh_installmenu
# dh_installmime
dh_installman
dh_installchangelogs ChangeLog
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_makeshlibs
dh_installdeb
# dh_perl
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure
|