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
|
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)
|