go-fringe.go: Language change: `closed' function on channels has gone.
[fringe] / Makefile
index 7a4f553..0d87af1 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -123,7 +123,7 @@ cl-fringe: cl-fringe.fasl
 ###--------------------------------------------------------------------------
 ### F#.
 
-FSC                     = fsc
+FSC                     = fsharpc
 FSCFLAGS                =
 CLEANFILES             += *.exe
 .SUFFIXES: .fs .exe
@@ -138,7 +138,7 @@ f\#-fringe: f\#-fringe.exe
 ### Scheme.
 
 SCMC                    = csc
-SCMFLAGS                = -c -O2 
+SCMFLAGS                = -c -O2
 .SUFFIXES: .scm
 .scm.o:; $(call v_echo,SCMC)$(SCMC) $(SCMFLAGS) -o $@ $<
 
@@ -150,17 +150,11 @@ scheme-fringe: scheme-fringe.o
 ###--------------------------------------------------------------------------
 ### 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.
@@ -178,6 +172,61 @@ smalltalk-fringe:
        } >$@.new
        $(V_HIDE)chmod +x $@.new && mv $@.new $@
 
+###--------------------------------------------------------------------------
+### Forth.
+
+LANGS                  += forth
+TARGETS                        += forth-fringe
+SOURCES                        += forth-fringe.fth
+forth-fringe: forth-fringe.fth
+       $(call v_echo,FORTHI)gforthmi $@ $<
+
+###--------------------------------------------------------------------------
+### Erlang.
+
+ERLC                    = erlc
+CLEANFILES             += *.beam erl_crash.dump
+.SUFFIXES: .erl .beam
+.erl.beam:; $(call v_echo,ERLC)$(ERLC) $(ERLCFLAGS) $<
+
+LANGS                  += erlang
+TARGETS                        += erlang-fringe.beam
+SOURCES                        += erlang-fringe.erl
+erlang-fringe:
+       $(call v_echo,GENSH){ echo '#! /bin/sh';                        \
+         echo 'exec erl -pa . -noshell -run erlang-fringe main -extra "$$@"'; \
+       } >$@.new
+       $(V_HIDE)chmod +x $@.new && mv $@.new $@
+
+###--------------------------------------------------------------------------
+### Algol 68.
+
+ALGOL68                         = /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 $@
+
+###--------------------------------------------------------------------------
+### Dylan.
+
+D2C                     = d2c
+CLEANFILES             += dylan-*.c *.mak
+
+LANGS                  += dylan
+TARGETS                        += dylan-fringe
+SOURCES                        += dylan-fringe.dylan dylan-fringe-exports.dylan
+SOURCES                        += dylan-fringe.lid
+
+dylan-fringe: dylan-fringe.lid dylan-fringe.dylan dylan-fringe-exports.dylan
+       $(call v_echo,D2C)d2c -g $<
+
 ###----- That's all, folks --------------------------------------------------
 
 all:: $(TARGETS)