.SUFFIXES: .o
LANGS =
+SOURCES =
TARGETS = $(patsubst %,%-fringe,$(LANGS))
CLEANFILES = $(TARGETS)
exit 1; \
fi
+###--------------------------------------------------------------------------
+### Reporting.
+
+report::
+ wc -l $(SOURCES) | sort -n
+
###--------------------------------------------------------------------------
### C.
.c.o:; $(CC) -c $(CFLAGS) -o $@ $<
LANGS += c
+SOURCES += c-fringe.c
c-fringe: c-fringe.o
$(CC) -o $@ $^
.hs.o:; $(HC) -c $(HFLAGS) -o $@ $<
LANGS += haskell
+SOURCES += haskell-fringe.hs
haskell-fringe: haskell-fringe.o
$(HC) -o $@ $^
IFLAGS = -u -fa
LANGS += icon
+SOURCES += icon-fringe.icn
icon-fringe: icon-fringe.icn
$(ICONT) -o $@ $^
CLEANFILES += *.core
LANGS += cl
+SOURCES += cl-fringe.lisp
cl-fringe: cl-fringe.lisp
## cl-launch -R -o $@ -f `pwd`/$^ -- slow to start
cl-launch -o $@ -f `pwd`/$^ +I -r launch -d $@.core
.fs.exe:; fsc -o $@ $<
LANGS += f\#
+SOURCES += f\#-fringe.fs
f\#-fringe: f\#-fringe.exe
chmod +x $<
cp $< $@
.scm.o:; $(SCMC) $(SCMFLAGS) -o $@ $<
LANGS += scheme
+SOURCES += scheme-fringe.scm
scheme-fringe: scheme-fringe.o
$(SCMC) -o $@ $^
LANGS += smalltalk
TARGETS += smalltalk-fringe.im
+SOURCES += smalltalk-fringe.st
smalltalk-fringe.im: smalltalk-fringe.st
echo "ObjectMemory snapshot: '$@.new'" | gst $^ -
mv $@.new $@