-BINARY = rrqforth
+INCS := $(shell grep ^include rrqforth.asm | tr -d "'" | sed 's/include//' )
-default: X
-
-VFMT := "RRQ Forth version %h at %aI"
-VERSION := $(shell git log -1 --pretty=format:'$(VFMT)' main.fasm)
-
-main.fasm: machine.fasm readline.fasm syscalls.fasm
-
-version: main.fasm
- @echo "db '$(VERSION)'\ndb 10" > $@
-
-rrqforth: main.fasm |
- fasm $^ $@
+# compile into 3 things: binary, symbolic information and debug support
+rrqforth: rrqforth.asm $(INCS)
+ fasm $< -s $@.fas
+ ./fas2txt.lsp $@.fas > $@.map
chmod a+x $@
-rrqforth.fas: main.fasm rrqforth
- fasm $< -s $@
+clean:
+ rm -f rrqforth{,.fas,.map}
-X: rrqforth.fas
- ./symbols.lsp $< > $@
+ADOCS := $(shell echo adoc/*.adoc )
+DOCS = reference.adoc wordindex.adoc separator.adoc $(ADOCS)
-clean:
- rm -f version rrqforth rrqforth.fas
+reference.html: $(DOCS)
+ asciidoc -bhtml ${@:.html=.adoc} > $@