Makefile 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. .PHONY: all cont continuous clean publish
  2. LATEXMK= latexmk -pdf
  3. all:
  4. $(LATEXMK) book
  5. cont: continuous
  6. continuous:
  7. $(LATEXMK) -pvc book
  8. clean:
  9. $(LATEXMK) -C book
  10. rm -f book.pdf *.log *.aux *.bbl \
  11. *.lof *.out *.toc *.blg *.ilg *.ind *.idx \
  12. *.lot *.run.xml *.bcf *.fls *.fdb_latexmk
  13. # Build with a fixed snapshot of NixPkgs 17.03. Known-to-work.
  14. # For a very clean version, run git clean -fxd followed by this:
  15. #
  16. # This may take a long time and build a complete version of texlive.
  17. # Since it is fixed-in-time it may not have binary caches available and
  18. # may need to build from source.
  19. nix:
  20. NIX_PATH=nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/51a83266d164195698f04468d90d2c6238ed3491.tar.gz $(MAKE) nix-head
  21. # This is a compromise. Build faster by using a binary cache, but
  22. # still allow minor version patches by pointing at the head of a
  23. # (dynamic) channel.
  24. nix-fast:
  25. NIX_PATH=nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/nixos-17.03.tar.gz $(MAKE) nix-head
  26. # Build with whatever version of nixpkgs is in the users environment:
  27. nix-head:
  28. nix-shell --pure --run make
  29. # Specific to Fall16:
  30. publish:
  31. scp build/book.pdf tank.soic.indiana.edu:p523-web/book.pdf