Makefile 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. CFLAGS = -w -g -O2
  2. CLEANFILES = \
  3. lisp \
  4. lisp.o \
  5. hash \
  6. bestline.o \
  7. sectorlisp.o \
  8. sectorlisp.bin \
  9. sectorlisp.bin.dbg \
  10. brainfuck.o \
  11. brainfuck.bin \
  12. brainfuck.bin.dbg
  13. .PHONY: all
  14. all: lisp \
  15. hash \
  16. sectorlisp.bin \
  17. sectorlisp.bin.dbg \
  18. brainfuck.bin \
  19. brainfuck.bin.dbg
  20. .PHONY: clean
  21. clean:; $(RM) $(CLEANFILES)
  22. lisp: lisp.o bestline.o
  23. lisp.o: lisp.js bestline.h
  24. bestline.o: bestline.c bestline.h
  25. sectorlisp.o: sectorlisp.S
  26. $(AS) -g -o $@ $<
  27. sectorlisp.bin.dbg: sectorlisp.o
  28. $(LD) -oformat:binary -Ttext=0x0000 -o $@ $<
  29. sectorlisp.bin: sectorlisp.bin.dbg
  30. objcopy -S -O binary sectorlisp.bin.dbg sectorlisp.bin
  31. brainfuck.o: brainfuck.S
  32. $(AS) -g -o $@ $<
  33. brainfuck.bin.dbg: brainfuck.o
  34. $(LD) -oformat:binary -Ttext=0x7c00 -o $@ $<
  35. brainfuck.bin: brainfuck.bin.dbg
  36. objcopy -S -O binary brainfuck.bin.dbg brainfuck.bin
  37. .PHONY: check
  38. check:
  39. ./checkjumps.sh
  40. gcc -w -c -o /dev/null -xc lisp.js
  41. clang -w -c -o /dev/null -xc lisp.js
  42. gcc -Wall -Werror -c -o /dev/null hash.c
  43. clang -Wall -Werror -c -o /dev/null hash.c
  44. %.o: %.js
  45. $(COMPILE.c) -xc $(OUTPUT_OPTION) $<