Mirror of CollapseOS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
940B

  1. TARGETS = forth stage
  2. OBJS = vm.o
  3. BLKPACK = ../tools/blkpack
  4. BLKUNPACK = ../tools/blkunpack
  5. .PHONY: all
  6. all: $(TARGETS)
  7. $(BLKPACK):
  8. $(MAKE) -C ../tools
  9. .PHONY: $(BLKUNPACK)
  10. $(BLKUNPACK): $(BLKPACK)
  11. stage: stage.c $(OBJS) blkfs
  12. $(CC) -DFBIN_PATH=\"`pwd`/stage.bin\" -DBLKFS_PATH=\"`pwd`/blkfs\" stage.c $(OBJS) -o $@
  13. blkfs: ../blk.fs $(BLKPACK)
  14. $(BLKPACK) < ../blk.fs > $@
  15. forth.bin: stage common.fs forth.fs blkfs
  16. cat common.fs forth.fs | ./stage > $@
  17. forth: forth.c $(OBJS) forth.bin
  18. $(CC) -DFBIN_PATH=\"`pwd`/forth.bin\" -DBLKFS_PATH=\"`pwd`/blkfs\" forth.c $(OBJS) -lcurses -o $@
  19. vm.o: vm.c blkfs
  20. $(CC) -c -o vm.o vm.c
  21. .PHONY: updatebootstrap
  22. updatebootstrap: stage common.fs stage.fs pack
  23. cat common.fs stage.fs | ./stage > new.bin
  24. mv new.bin stage.bin
  25. .PHONY: pack
  26. pack:
  27. rm blkfs && $(MAKE) blkfs
  28. .PHONY: unpack
  29. unpack:
  30. $(BLKUNPACK) < blkfs > ../blk.fs
  31. .PHONY: clean
  32. clean:
  33. rm -f $(TARGETS) *.o forth.bin blkfs