$(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
.SUFFIXES: .erl .beam
.erl.beam:; $(call v_echo,ERLC)$(ERLC) $(ERLCFLAGS) $<
-LANGS += erl
-TARGETS += erl-fringe.beam
-SOURCES += erl-fringe.erl
-erl-fringe:
+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 erl-fringe main -extra "$$@"'; \
+ 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 $@