X-Git-Url: https://git.distorted.org.uk/~mdw/fringe/blobdiff_plain/43aab76ca374d0a87743b33f71aeb03e373d5f1d..HEAD:/Makefile diff --git a/Makefile b/Makefile index 11e3da6..79af754 100644 --- a/Makefile +++ b/Makefile @@ -97,36 +97,37 @@ 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. CLEANFILES += *.core *.fasl +SBCL_BUILD = ./sbcl-build + .SUFFIXES: .lisp .fasl .lisp.fasl: - $(call v_echo,CL)sbcl --eval \ - '(quit :unix-status (if (compile-file "$<") 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#. -FSC = fsc +FSC = fsharpc +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 @@ -137,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 $@ $< @@ -149,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. @@ -177,6 +172,58 @@ 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. + +A68G = /usr/local/bin/a68g + +LANGS += algol68 +TARGETS += algol68-fringe +SOURCES += algol68-fringe.a68 + +algol68-fringe: algol68-fringe.a68 + $(call v_echo,A68)$(A68G) --compile -O2 $< && mv $@.sh $@ + +###-------------------------------------------------------------------------- +### 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)