Add 4 tedious little rules to the Makefile and copyright notices.
Make the test definition conditional on the wrapper build.
-#-*-Makefile-*-
-# tests/ffi/Makefile
-
-# Build a test library and wrapper.
-
-all: ffi-test-shim.so
+# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
+# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
+# Massachusetts Institute of Technology
+#
+# This file is part of MIT/GNU Scheme.
+#
+# MIT/GNU Scheme is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# MIT/GNU Scheme is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with MIT/GNU Scheme; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+# 02110-1301, USA.
HOST=../../src/microcode/scheme --library ../../src/lib --batch-mode
+all: ffi-test-shim.so ffi-test-types.bin ffi-test-const.bin
+
ffi-test-shim.so: ffi-test-shim.o ffi-test.o
echo "(link-shim)" | $(HOST) -- -o $@ $^
ffi-test-shim.o: ffi-test-shim.c ffi-test.h
echo "(compile-shim)" | $(HOST) -- -c $<
-ffi-test-shim.c: ffi-test.cdecl
+ffi-test-shim.c ffi-test-const.c ffi-test-types.bin: ffi-test.cdecl
echo '(generate-shim "ffi-test" "#include \"ffi-test.h\"")' | $(HOST)
+ffi-test-const.bin: ffi-test-const.scm
+ echo '(sf "ffi-test-const")' | $(HOST)
+
+ffi-test-const.scm: ffi-test-const
+ ./ffi-test-const
+
+ffi-test-const: ffi-test-const.o
+ $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
+
+ffi-test-const.o: ffi-test-const.c
+ $(CC) $(CPPFLAGS) $(CFLAGS) -c $<
+
# The test library itself.
ffi-test.o: ffi-test.c ffi-test.h
echo "(compile-shim)" | $(HOST) -- -o $@ -c $<
-.PHONY: build
+.PHONY: all
-/* -*-C-*- */
+/* -*-C-*-
+
+Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
+ 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Massachusetts
+ Institute of Technology
+
+This file is part of MIT/GNU Scheme.
+
+MIT/GNU Scheme is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+MIT/GNU Scheme is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with MIT/GNU Scheme; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
+USA.
+
+*/
/* A test library; used to test the C/Unix FFI. */
-;;;-*-Scheme-*-
+#| -*-Scheme-*-
+
+Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
+ 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Massachusetts
+ Institute of Technology
+
+This file is part of MIT/GNU Scheme.
+
+MIT/GNU Scheme is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+MIT/GNU Scheme is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with MIT/GNU Scheme; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
+USA.
+
+|#
+
+;;;; Build and test the test library wrapper.
(with-working-directory-pathname (directory-pathname (current-load-pathname))
(lambda ()
(let ((code
(with-notification
(lambda (port)
- (write-string "make build" port)
+ (write-string "make all" port)
(newline port))
(lambda ()
(run-synchronous-subprocess "make" (list "all"))))))
(with-system-library-directories '("./")
(lambda ()
(compile-file "test-ffi-wrapper")))
- (load "test-ffi-wrapper"))))))
-
-(define-test 'ffi test-ffi)
\ No newline at end of file
+ (load "test-ffi-wrapper")
+ (define-test 'ffi test-ffi))))))
\ No newline at end of file