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.
 
 
 
 

64 rader
1.2 KiB

  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. $(MAKE) emacs
  16. #special target to handle emacs configuration
  17. emacs:
  18. install -dm755 tmp/.emacs.d
  19. install -m400 init.el tmp/emacs.d/init.el
  20. install -m400 emacs.org tmp/emacs.d/emacs.org
  21. $(NEXTGEN):
  22. install -dm755 $@
  23. $(LASTGEN):
  24. install -dm755 $@
  25. generation/$(GEN):
  26. install -dm755 $@
  27. generation: $(NEXTGEN) $(LASTGEN) tmp
  28. cd tmp && cp -av . $(NEXTGEN)
  29. check:
  30. diff: generation/$(GEN)
  31. ./ddiff $(PWD)/generation/$(GEN) $(DEST)
  32. next: diff
  33. tangle-next:
  34. $(MAKE) tangle
  35. $(MAKE) generation
  36. $(MAKE) next
  37. $(MAKE) copy GEN=$(NEXT)
  38. @echo $(NEXT) > .last
  39. copy:
  40. cd $(PWD)/generation/$(GEN) && find . -type f -exec rm -f $(DEST)/{} \;
  41. cd $(PWD)/generation/$(GEN) && cp -r . $(DEST)
  42. tangle: tmp
  43. /usr/bin/env emacs --script ./etangle $(TANGLERS)
  44. @echo
  45. clean:
  46. -rm -fr tmp
  47. nuke: clean
  48. -rm -fr .last generation