CLEANFILES += *.core *.fasl
+SBCL_BUILD = ./sbcl-build
+
.SUFFIXES: .lisp .fasl
.lisp.fasl:
- $(call v_echo,CL)sbcl --noinform --eval \
- '(quit :unix-status (if (compile-file "$<" :verbose nil :print nil) 0 1))'
+ $(call v_echo,CL)$(SBCL_BUILD) build $<
LANGS += cl
SOURCES += cl-fringe.lisp
cl-fringe: cl-fringe.fasl
- $(call v_echo,CP)cp $< $@.new && chmod +x $@.new && mv $@.new $@
-## $(call v_echo,CL)cl-launch -o $@ -f `pwd`/$^ +I -r launch -d $@.core
+ $(call v_echo,CLLD)$(SBCL_BUILD) link $@ $^
###--------------------------------------------------------------------------
### F#.
###--------------------------------------------------------------------------
### Go.
-GOOBJ = 8
-GOC = $(GOOBJ)g
-GOLINK = $(GOOBJ)l
-CLEANFILES += *.$(GOOBJ)
-.SUFFIXES: .$(GOOBJ) .go
-.go.$(GOOBJ):; $(call v_echo,GOC)$(GOC) $(GOFLAGS) $<
-
+GOBUILD = go build
LANGS += go
SOURCES += go-fringe.go
-go-fringe: go-fringe.$(GOOBJ)
- $(call v_echo,GOLD)$(GOLINK) -o $@ $^
+go-fringe: go-fringe.go
+ $(call v_echo,GO)$(GOBUILD) -o $@ $^
###--------------------------------------------------------------------------
### Smalltalk.
###--------------------------------------------------------------------------
### Algol 68.
-ALGOL68 = /usr/local/bin/a68g
+A68G = /usr/local/bin/a68g
LANGS += algol68
TARGETS += algol68-fringe
SOURCES += algol68-fringe.a68
algol68-fringe: algol68-fringe.a68
- $(call v_echo,GENSH){ echo '#! $(ALGOL68) --script'; \
- cat $<; \
- } >$@.new
- $(V_HIDE)chmod +x $@.new && mv $@.new $@
+ $(call v_echo,A68)$(A68G) --compile -O2 $< && mv $@.sh $@
###--------------------------------------------------------------------------
### Dylan.