Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 

57 rader
1012 B

  1. # Makefile is here to make it possible to use this whole shebang
  2. # outside of emacs.
  3. .PHONY: tangle tangle-next
  4. DEST:=$(HOME)
  5. LAST:=$(shell cat .last || echo 0)
  6. NEXT:=$(shell l=$(LAST); ((l=l+1)); echo $$l)
  7. NEXTGEN:=$(PWD)/generation/$(NEXT)
  8. LASTGEN:=$(PWD)/generation/$(LAST)
  9. TANGLERS:=readme.org emacs.org
  10. GEN:=$(LAST)
  11. OPTIONS:=
  12. all: clean tangle-next
  13. tmp:
  14. install -dm755 $@
  15. $(NEXTGEN):
  16. install -dm755 $@
  17. $(LASTGEN):
  18. install -dm755 $@
  19. generation/$(GEN):
  20. install -dm755 $@
  21. generation: $(NEXTGEN) $(LASTGEN) tmp
  22. cd tmp && cp -av . $(NEXTGEN)
  23. check:
  24. diff: generation/$(GEN)
  25. ./ddiff $(PWD)/generation/$(GEN) $(DEST)
  26. next: diff
  27. tangle-next:
  28. $(MAKE) tangle
  29. $(MAKE) generation
  30. $(MAKE) next
  31. $(MAKE) copy GEN=$(NEXT)
  32. @echo $(NEXT) > .last
  33. copy:
  34. cd $(PWD)/generation/$(GEN) && find . -type f -exec rm -f $(DEST)/{} \;
  35. cd $(PWD)/generation/$(GEN) && cp -r . $(DEST)
  36. tangle: tmp
  37. /usr/bin/env emacs --script ./etangle $(TANGLERS)
  38. @echo
  39. clean:
  40. -rm -fr tmp
  41. nuke: clean
  42. -rm -fr .last generation