the makefile does some crazy thing with libraries. Sometimes the timestamps

don't quite match, and all hell breaks loose.

MAKE DARN SURE it gets its file by forcing them down the problematic target.
Yep, sometimes ar will replace the same files twice. Which is always better
than 0.

this has long been an annoyance. Why do every single math guy still write
makefiles by hand that look like fortran77 code ?

(also fix an error in popen by speaking the right standardese)
This commit is contained in:
espie 2013-10-11 08:39:25 +00:00
parent 191c25bd82
commit 492e1a91c6
3 changed files with 33 additions and 1 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.23 2013/03/11 11:23:56 espie Exp $
# $OpenBSD: Makefile,v 1.24 2013/10/11 08:39:25 espie Exp $
# Memory hog, stuck for days on the same file during build.
NOT_FOR_ARCHS= sh
@ -7,6 +7,7 @@ COMMENT= interpreted language for scientific computing
VERSION= 2.1.06
DISTNAME= yorick-${VERSION}
REVISION = 0
CATEGORIES= math devel

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-play_unix_files_c,v 1.1 2013/10/11 08:39:26 espie Exp $
--- play/unix/files.c.orig Fri Oct 11 10:03:34 2013
+++ play/unix/files.c Fri Oct 11 10:07:59 2013
@@ -14,7 +14,7 @@
#endif
#ifndef _XOPEN_SOURCE
/* to get popen declared */
-#define _XOPEN_SOURCE 1
+#define _XOPEN_SOURCE 700
#endif
#include "config.h"

View File

@ -0,0 +1,19 @@
$OpenBSD: patch-yorick_Makefile,v 1.3 2013/10/11 08:39:26 espie Exp $
--- yorick/Makefile.orig Sun Jul 12 06:16:14 2009
+++ yorick/Makefile Fri Oct 11 10:34:59 2013
@@ -52,12 +52,14 @@ EXTRA_LIBS=$(ALT_LIBS)
# hack combines gist, matrix, and fft libs into a single libyor.a
# (this does not get inter-directory dependencies absolutely correct)
BUILTIN_PKGS=../gist/libgist.a ../regexp/libyor ../matrix/libyor ../fft/libyor
-libyor: $(BUILTIN_PKGS)
+libyor: $(BUILTIN_PKGS) $(OBJS) ywrap.o
@rm -f $(PKG_LIB)
cp ../gist/libgist.a $(PKG_LIB)
cd ../regexp; $(MAKE) "COPT=$(COPT)" oinsert
cd ../matrix; $(MAKE) "COPT=$(COPT)" oinsert
cd ../fft; $(MAKE) "COPT=$(COPT)" oinsert
+ $(AR) $(ARFLAGS) ${PKG_LIB} $(OBJS) ywrap.o
+ $(RANLIB) ${PKG_LIB}
touch $@
../gist/libgist.a:
@cd ../gist; $(MAKE) "COPT=$(COPT)" libgist.a