| 12
 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
 
 | Description: debianization
 Meant to maintain a minimal debian/rules, to fix annoying
 warnings, to address Debian specific stuff in general.
Forwarded: not-needed
Author: Jerome Benoit <calculus@rezozer.net>
Last-Update: 2023-09-10
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,16 +1,25 @@
+DEB_BUILD_MULTIARCH=@DEB_BUILD_MULTIARCH@
 GAPPATH=@GAPPATH@
 GAPARCH=@GAPARCH@
-CFLAGS  += -O2
+CGAP    = /usr/bin/gap
+##CFLAGS  = -O2
 SRCDIR  = ./src/leon
 CJSRCDIR= ./src/ctjhai
-BINDIR = bin/$(GAPARCH)
+LIBEXECDIR=/usr/libexec/$(DEB_BUILD_MULTIARCH)
+BINDIR=$(LIBEXECDIR)/gap/pkg/guava/bin
 #GAP_PATH=../..
 #PKG_PATH=.
 #SRCDISTFILE=guava
 
-targets: default
+PDFTEX=pdftex -no-shell-escape -interaction batchmode
 
-default: minimum-weight leonconv desauto install
+CFLAGS += -Wno-unused-result
+
+default: build doc
+
+build: minimum-weight leonconv desauto
+
+doc: src/ctjhai/README.ctjhai src/leon/doc/leon_guava_manual.pdf doc/manual.pdf
 
 minimum-weight: $(CJSRCDIR)/minimum-weight.o $(CJSRCDIR)/minimum-weight-gf2.o $(CJSRCDIR)/minimum-weight-gf3.o $(CJSRCDIR)/popcount.o
 	$(CC) $(LDFLAGS) -o $(CJSRCDIR)/minimum-weight \
@@ -20,7 +29,7 @@
 leonconv: desauto
 	cd ./src; $(MAKE) CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)";
 
-desauto: 
+desauto:
 	cd $(SRCDIR); autoreconf --install --force ; ./configure; $(MAKE) CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)";
 
 minimum-weight.o: $(CJSRCDIR)/minimum-weight.c $(CJSRCDIR)/minimum-weight-gf2.h $(CJSRCDIR)/minimum-weight-gf3.h $(CJSRCDIR)/popcount.h $(CJSRCDIR)/config.h $(CJSRCDIR)/types.h
@@ -35,23 +44,30 @@
 popcount.o: $(CJSRCDIR)/popcount.c $(CJSRCDIR)/popcount.h $(CJSRCDIR)/config.h $(CJSRCDIR)/types.h
 	$(CC) -c -O3 -Wall -I $(CJSRCDIR) $(CJSRCDIR)/popcount.c
 
+src/ctjhai/README.ctjhai: src/ctjhai/README
+	cp -l $< $@
+
+src/leon/doc/leon_guava_manual.pdf: src/leon/doc/manual.tex
+	$(PDFTEX) -jobname $(basename $(@F)) -output-directory $(@D) $<
+
+doc/manual.pdf:
+	cat debian/makedoc.g | $(CGAP) -A -q -T > /dev/null
 
 install: leonconv minimum-weight
-	mkdir -p $(BINDIR)
-	cp ./src/leonconv $(BINDIR)
-	cp $(SRCDIR)/desauto $(BINDIR)
-	cp $(CJSRCDIR)/minimum-weight $(BINDIR)
-	cp $(SRCDIR)/wtdist $(BINDIR)
+	if test ! -d $(DESTDIR)/$(BINDIR); then mkdir -p $(DESTDIR)/$(BINDIR); fi
+	cp ./src/leonconv $(DESTDIR)/$(BINDIR)
+	cp $(CJSRCDIR)/minimum-weight $(DESTDIR)/$(BINDIR)
+	( cd $(SRCDIR); $(MAKE) install BINDIR="$(BINDIR)"; )
+	( cd $(DESTDIR)/$(BINDIR); ln -sf leon/desauto )
+	( cd $(DESTDIR)/$(BINDIR); ln -sf leon/wtdist )
 
 clean:
-	-rm -f $(BINDIR)/*.o
 	-( cd src && make clean )
 	-( cd $(CJSRCDIR) && rm -f minimum-weight *.o)
 	-( cd $(SRCDIR) && make clean )
 
 distclean: clean
 	rm -rf bin
-	mkdir bin
 	rm -f Makefile Makefile-*
 	-( cd src && make distclean )
 	-( cd src/leon && make distclean )
--- a/configure
+++ b/configure
@@ -34,6 +34,7 @@
 rm -f Makefile
 . "$GAPPATH/sysinfo.gap"
 sed \
+    -e 's;@DEB_BUILD_MULTIARCH@;'$(dpkg-architecture -qDEB_BUILD_MULTIARCH)';g' \
     -e "s;@GAPARCH@;$GAParch;g" \
     -e "s;@GAPPATH@;$GAPPATH;g" \
     Makefile.in >Makefile
--- a/src/leon/Makefile.in
+++ b/src/leon/Makefile.in
@@ -7,6 +7,9 @@
 LINKNAME = -o
 OBJ = o
 OBJS = setstab cent inter desauto generate commut cjrndper orblist fndelt compgrp orbdes randobj wtdist
+BINDIR ?= ../../bin
+
+COMPOPT += -Wno-unused-result
 
 all: $(OBJS)
 #
@@ -183,6 +186,11 @@
 wtdist.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/errmesg.h $(SRCDIR)/field.h $(SRCDIR)/readdes.h $(SRCDIR)/storage.h $(SRCDIR)/token.h $(SRCDIR)/util.h $(SRCDIR)/wt.h $(SRCDIR)/swt.h $(SRCDIR)/wtdist.c
 	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/wtdist.c 
 
+install:
+	if test ! -d $(DESTDIR)/$(BINDIR);  then mkdir -p $(DESTDIR)/$(BINDIR); fi
+	if test ! -d $(DESTDIR)/$(BINDIR)/leon;  then mkdir -p $(DESTDIR)/$(BINDIR)/leon; fi
+	( for p in $(OBJS); do cp $$p $(DESTDIR)/$(BINDIR)/leon ; done )
+
 clean:
 	rm -f *.o $(OBJS) 
 
--- a/src/leon/configure.ac
+++ b/src/leon/configure.ac
@@ -1,5 +1,6 @@
 AC_INIT([leon],[1.0])
 AC_CONFIG_SRCDIR(src/group.h)
+AM_INIT_AUTOMAKE
 AC_CONFIG_HEADERS([src/leon_config.h])
 AC_CHECK_SIZEOF(int)
 
 |