algol68-fringe: New language.
[fringe] / Makefile
index 11e3da6..2c43ae8 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -97,12 +97,12 @@ haskell-fringe: haskell-fringe.o
 ### Icon.
 
 ICONT                   = icont
-IFLAGS                  = -u -fa
+IFLAGS                  = -u -s -fa
 
 LANGS                  += icon
 SOURCES                        += icon-fringe.icn
 icon-fringe: icon-fringe.icn
-       $(call v_echo,ICONT)$(ICONT) -o $@ $^
+       $(call v_echo,ICONT)$(ICONT) $(IFLAGS) -o $@ $^
 
 ###--------------------------------------------------------------------------
 ### Common Lisp.
@@ -111,8 +111,8 @@ CLEANFILES          += *.core *.fasl
 
 .SUFFIXES: .lisp .fasl
 .lisp.fasl:
-       $(call v_echo,CL)sbcl --eval \
-               '(quit :unix-status (if (compile-file "$<") 0 1))'
+       $(call v_echo,CL)sbcl --noinform --eval \
+               '(quit :unix-status (if (compile-file "$<" :verbose nil :print nil) 0 1))'
 
 LANGS                  += cl
 SOURCES                        += cl-fringe.lisp
@@ -124,9 +124,10 @@ cl-fringe: cl-fringe.fasl
 ### F#.
 
 FSC                     = fsc
+FSCFLAGS                =
 CLEANFILES             += *.exe
 .SUFFIXES: .fs .exe
-.fs.exe:; $(call v_echo,FSC)$(FSC) -o $@ $<
+.fs.exe:; $(call v_echo,FSC)$(FSC) --nologo $(FSCFLAGS) -o $@ $<
 
 LANGS                  += f\#
 SOURCES                        += f\#-fringe.fs
@@ -177,6 +178,47 @@ 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 $@
+
 ###----- That's all, folks --------------------------------------------------
 
 all:: $(TARGETS)