X-Git-Url: https://git.distorted.org.uk/~mdw/fringe/blobdiff_plain/b3cbee25bc4ead4911b04a411d1c590f87467f63..eee4486fb912094ea6c900c42a66cf8dd4d5bd96:/Makefile diff --git a/Makefile b/Makefile index 8ea4f74..6d4455d 100644 --- a/Makefile +++ b/Makefile @@ -13,6 +13,7 @@ .SUFFIXES: .o LANGS = +SOURCES = TARGETS = $(patsubst %,%-fringe,$(LANGS)) CLEANFILES = $(TARGETS) @@ -46,6 +47,12 @@ test:: all fi ###-------------------------------------------------------------------------- +### Reporting. + +report:: + wc -l $(SOURCES) | sort -n + +###-------------------------------------------------------------------------- ### C. CC = gcc @@ -55,6 +62,7 @@ CLEANFILES += *.o .c.o:; $(CC) -c $(CFLAGS) -o $@ $< LANGS += c +SOURCES += c-fringe.c c-fringe: c-fringe.o $(CC) -o $@ $^ @@ -62,12 +70,13 @@ c-fringe: c-fringe.o ### Haskell. HC = ghc -HFLAGS = -O2 -XFlexibleInstances +HFLAGS = -O2 CLEANFILES += *.hi *.hc .SUFFIXES: .hs .hs.o:; $(HC) -c $(HFLAGS) -o $@ $< LANGS += haskell +SOURCES += haskell-fringe.hs haskell-fringe: haskell-fringe.o $(HC) -o $@ $^ @@ -78,15 +87,20 @@ ICONT = icont IFLAGS = -u -fa LANGS += icon +SOURCES += icon-fringe.icn icon-fringe: icon-fringe.icn $(ICONT) -o $@ $^ ###-------------------------------------------------------------------------- ### Common Lisp. +CLEANFILES += *.core + LANGS += cl +SOURCES += cl-fringe.lisp cl-fringe: cl-fringe.lisp - cl-launch -R -o $@ -f `pwd`/$^ +## cl-launch -R -o $@ -f `pwd`/$^ -- slow to start + cl-launch -o $@ -f `pwd`/$^ +I -r launch -d $@.core ###-------------------------------------------------------------------------- ### F#. @@ -97,6 +111,7 @@ CLEANFILES += *.exe .fs.exe:; fsc -o $@ $< LANGS += f\# +SOURCES += f\#-fringe.fs f\#-fringe: f\#-fringe.exe chmod +x $< cp $< $@ @@ -106,18 +121,35 @@ f\#-fringe: f\#-fringe.exe SCMC = csc SCMFLAGS = -c -O2 -.SUFFIXES: .scm .o +.SUFFIXES: .scm .scm.o:; $(SCMC) $(SCMFLAGS) -o $@ $< LANGS += scheme +SOURCES += scheme-fringe.scm scheme-fringe: scheme-fringe.o $(SCMC) -o $@ $^ ###-------------------------------------------------------------------------- +### Go. + +GOOBJ = 8 +GOC = $(GOOBJ)g +GOLINK = $(GOOBJ)l +CLEANFILES += *.$(GOOBJ) +.SUFFIXES: .$(GOOBJ) .go +.go.$(GOOBJ):; $(GOC) $(GOFLAGS) $< + +LANGS += go +SOURCES += go-fringe.go +go-fringe: go-fringe.$(GOOBJ) + $(GOLINK) -o $@ $^ + +###-------------------------------------------------------------------------- ### Smalltalk. LANGS += smalltalk TARGETS += smalltalk-fringe.im +SOURCES += smalltalk-fringe.st smalltalk-fringe.im: smalltalk-fringe.st echo "ObjectMemory snapshot: '$@.new'" | gst $^ - mv $@.new $@