Adam Montague amontague@siriushosting.com writes:
I tried to compile nettle using --disable-dependency-tracking on OpenBSD, but I get:
$ make make all-here make: don't know how to make aesdata. Stop in /usr/ports/security/ nettle/w-nettle-1.13/nettle-1.13. *** Error code 2
Right, I noticed this too.
Appearantly, two-suffix rules are fairly portable and useful, while single-suffix rules are not. I've hacked the Makefiles to not use single-suffix rules.
Since a week or so, the lsh xenofarm is up and running again, and these clients also build nettle. With the Makefiles in CVS, building nettle (with --disable-dependency-tracking) seems to work with all of GNU make, FreeBSD make and Solaris make, see http://www.lysator.liu.se/~nisse/xeno-lsh/latest.html. Is OpenBSD's make program different from FreeBSD's?
make clean also doesn't work right:
$ make clean set -e; for d in tools testsuite examples; do echo "Making clean in $d" ; (cd $d && make clean); done Making clean in tools rm -f sexp-conv nettle-lfib-stream *.o Making clean in testsuite rm -f aes-test$(EXEEXT) arcfour-test$(EXEEXT) arctwo-test$(EXEEXT)
[...]
This is strange. Why isn't $(EXEEXT) expanded? I'm not sure in which order things are supposed to be expanded, but it shouldn't matter. The unexpanded command line is
-rm -f $(TARGETS)
where TARGETS is defined as
TARGETS = $(TS_SOURCES:.c=$(EXEEXT))
Is this construction failing on OpenBSD? Can it be rewritten in some more portable way?
Regards, /Niels