Commit cb91dbb7 authored by Niels Möller's avatar Niels Möller

(INCLUDES): Need -I flags for VPATH build.

(clean distclean mostlyclean maintainer-clean): Clean
subdirectories first.
(DISTFILES): Added a bunch of files.
(des_headers): Added desCore rules.
(install-here): Split off target install-headers, which uses $^ to
refer to the files.
(distdir): Use $^ to refer to the files.
distcheck): Fixes.

Rev: src/nettle/Makefile.in:1.2
parent 63921956
......@@ -11,13 +11,19 @@ SUBDIRS = tools testsuite examples
include config.make
# FIXME: Really need -I$(srcdir) ???
INCLUDES = -I. -I$(srcdir)
TARGETS = aesdata$(EXEEXT) desdata$(EXEEXT) shadata$(EXEEXT) libnettle.a $(SHLIBTARGET)
all check install uninstall clean distclean mostlyclean maintainer-clean distdir:
all check install uninstall:
$(MAKE) $@-here
set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done
clean distclean mostlyclean maintainer-clean:
set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done
$(MAKE) $@-here
check-here:
true
......@@ -84,9 +90,12 @@ INSTALL_HEADERS = $(HEADERS) nettle-types.h
SOURCES = $(nettle_SOURCES) aesdata.c desdata.c shadata.c
DISTFILES = $(SOURCES) $(HEADERS) .bootstrap aclocal.m4 configure.ac configure \
config.guess config.sub texinfo.tex \
config.guess config.sub install-sh texinfo.tex \
config.h.in config.m4.in config.make.in Makefile.in \
README AUTHORS COPYING INSTALL NEWS TODO \
memxor.c $(des_headers) descore.README \
aes-internal.h cast128_sboxes.h desinfo.h desCode.h \
serpent_sboxes.h nettle-internal.h \
nettle.texinfo nettle.info sha-example.c
# Rules building libnettle.a
......@@ -129,6 +138,19 @@ desdata$(EXEEXT): desdata.$(OBJEXT)
shadata$(EXEEXT): shadata.$(OBJEXT)
$(LINK) $^ $(LIBS) -lm -o $@
# desCore rules
# It seems using $(srcdir)/ doesn't work with GNU make 3.79.1
# des_headers = $(srcdir)/parity.h $(srcdir)/rotors.h $(srcdir)/keymap.h
des_headers = parity.h rotors.h keymap.h
# Generate DES headers.
$(des_headers): desdata.c
$(MAKE) desdata$(EXEEXT)
./desdata$(EXEEXT) $(@F) > $@T
test -s $@T && mv -f $@T $@
des.o: des.c des.h $(des_headers)
# FIXME: For some reason, this rule breaks builds on Tru64 5.1B (on
# alpha), with the system make. It fails with "Don't know how to make
# aes.asm", which is very strange, since the make program on this
......@@ -154,12 +176,15 @@ shadata$(EXEEXT): shadata.$(OBJEXT)
Makefile: $(srcdir)/Makefile.in config.status
$(SHELL) ./config.status $@
settings: $(srcdir)/settings.in config.status
config.make: $(srcdir)/config.make.in config.status
$(SHELL) ./config.status $@
config.status: $(srcdir)/configure
$(SHELL) ./config.status --recheck
config.m4: config.status $(srcdir)/config.m4.in
$(SHELL) ./config.status $@
configure: $(srcdir)/configure.ac $(srcdir)/aclocal.m4
cd $(srcdir) && $(AUTOCONF)
......@@ -178,10 +203,8 @@ $(srcdir)/config.h.in: $(srcdir)/configure.ac
touch $@
# Installation
install-here: install-info libnettle.a $(SHLIBTARGET) $(INSTALL_HEADERS) $(SHLIBINSTALL)
$(INSTALL) -d $(includedir)/nettle
install-here: install-info install-headers libnettle.a $(SHLIBTARGET) $(SHLIBINSTALL)
$(INSTALL) -d $(libdir)
$(INSTALL_DATA) $(INSTALL_HEADERS) $(includedir)/nettle
$(INSTALL_DATA) libnettle.a $(libdir)
install-shared: $(SHLIBFORLINK)
......@@ -194,21 +217,29 @@ install-shared: $(SHLIBFORLINK)
install-info: nettle.info
$(INSTALL) -d $(infodir)
$(INSTALL_DATA) nettle.info $(infodir) ; \
$(INSTALL_DATA) $< $(infodir) ; \
if (install-info --version && \
install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
install-info --info-dir="$(infodir)" nettle.info ; \
install-info --info-dir="$(infodir)" $< ; \
else : ; fi
install-headers: $(INSTALL_HEADERS)
$(INSTALL) -d $(includedir)/nettle
$(INSTALL_DATA) $^ $(includedir)/nettle
# Distribution
distdir = $(PACKAGE_NAME)-$(PACKAGE_VERSION)
top_distdir = $(distdir)
# $(distdir) must always be a relative path!
distdir-here: $(DISTFILES)
distdir: $(DISTFILES)
rm -rf $(distdir)
mkdir $(distdir)
cp $(DISTFILES) $(distdir)
cp $^ $(distdir)
set -e; for d in sparc x86 ; do \
mkdir $(distdir)/$$d ; \
cp $(srcdir)/$$d/*.asm $(srcdir)/$$d/*.m4 $(distdir)/$$d ; \
done
set -e; for d in $(SUBDIRS); do \
sd=$(distdir)/$$d ; \
mkdir $$sd && $(MAKE) -C $$d distdir=../$$sd $@ ; \
......@@ -220,12 +251,13 @@ dist: distdir
rm_distcheck = test ! -d distcheck-tmp \
|| { find distcheck-tmp -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr distcheck-tmp; }; }
&& rm -fr distcheck-tmp; };
distcheck: dist
$(rm_distcheck)
mkdir distcheck-tmp
cd distcheck-tmp && gzip -d < $(distdir).tar.gz | tar xf - && chmod -R a-w $(distdir)
gzip -d < $(distdir).tar.gz \
| { cd distcheck-tmp && tar xf - && chmod -R a-w $(distdir) ; }
mkdir distcheck-tmp/build
mkdir distcheck-tmp/install
cd distcheck-tmp/build && ../$(distdir)/configure --prefix=`cd ../install && pwd`
......@@ -234,7 +266,7 @@ distcheck: dist
cd distcheck-tmp/build && $(MAKE) install
cd distcheck-tmp/build && $(MAKE) dist
cd distcheck-tmp/build && rm *.gz
cd distcheck-tmp/build && $(MAKE) distcleancheck
cd distcheck-tmp/build && $(MAKE) distclean
cd distcheck-tmp && find build -type f -print > leftover-files
@test `cat distcheck-tmp/leftover-files | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
......@@ -242,23 +274,11 @@ distcheck: dist
exit 1; }
$(rm_distcheck)
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
clean-here:
rm -f $(TARGETS) *.$(OBJEXT) *.p$(OBJEXT) *.d
-rm -f $(TARGETS) *.$(OBJEXT) *.p$(OBJEXT) *.d
distclean-hdr:
-rm -f config.h stamp-h1
config.m4: config.status $(srcdir)/config.m4.in
$(SHELL) ./config.status $@
distclean-here: clean-here
-rm -f config.h stamp-h1 config.log config.status \
config.make config.m4 Makefile nettle-types.h
-include $(SOURCES:.c=.$(OBJEXT).d) $(SOURCES:.c=.p$(OBJEXT).d)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment