Deliver each contrib as a single FASL. Don't implicitly require ASDF or source code...
[sbcl.git] / contrib / vanilla-module.mk
index 41c1771..01396f8 100644 (file)
@@ -1,8 +1,15 @@
+DEST=$(SBCL_PWD)/obj/sbcl-home/contrib/
+FASL=$(DEST)/$(MODULE).fasl
+ASD=$(DEST)/$(MODULE).asd
 
-$(MODULE).fasl: $(MODULE).lisp ../../output/sbcl.core
-       $(SBCL) --eval '(compile-file (format nil "SYS:CONTRIB;~:@(~A~);~:@(~A~).LISP" "$(MODULE)" "$(MODULE)"))' </dev/null
+fasl:: $(FASL)
+$(FASL):: $(MODULE).lisp ../../output/sbcl.core
+       $(SBCL) --eval '(compile-file (format nil "SYS:CONTRIB;~:@(~A~);~:@(~A~).LISP" "$(MODULE)" "$(MODULE)") :output-file (parse-native-namestring "$@"))' </dev/null
 
-test:: $(MODULE).fasl
+$(ASD)::
+       echo "(defsystem :$(MODULE) :class require-system)" > $@
+
+test:: $(FASL) $(ASD)
 
 install:
-       cp $(MODULE).fasl "$(BUILD_ROOT)$(INSTALL_DIR)"
+       cp $(FASL) $(ASD) "$(BUILD_ROOT)$(INSTALL_DIR)"