Makefile 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. # vim: set sw=2 ts=2 sts=2 et tw=80 fmr={{{,}}} fdl=0 fdm=marker:
  2. # pgs-cli build.
  3. .PHONY: help dist
  4. # Auto-Documenting Section. Displays a target list with `##` descriptions.
  5. help:
  6. @grep -E '^[a-zA-Z_-]+:.*## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "%-15s %s\n", $$1, $$2}'
  7. dist: ## Create a distribution for live usage
  8. # --- Create Folders ---
  9. @rm -r dist/*
  10. @mkdir -p dist/css dist/js dist/tags
  11. # --- Combine CSS ---
  12. @for file in $$(cat css/app.css | sed "$(CSS_FILES)"); do \
  13. cat css/$$file >> dist/css/app.css; \
  14. done
  15. # --- Combine Javascript ---
  16. @for file in $$(grep "$(JS_TAGS)" index.html | sed "$(JS_FILES)"); do \
  17. cat $$file >> dist/js/app.js; \
  18. done
  19. # --- Copy Riot Tags ---
  20. @cp tags/*.tag dist/tags/
  21. # --- Modify Index Page ---
  22. @sed "/$(JS_TAGS)/D" index.html | sed "s|$(APPJS_PH)|$(APPJS_TAG)|" > dist/index.html
  23. @echo "All Done!"
  24. CSS_FILES = s|@import.*[\'\"]\(.*\)[\'\"].*|\1|
  25. JS_TAGS = <script .*src=[\'\"].*\.js[\'\"]
  26. JS_FILES = s|.*src=[\'\"]\(.*\.js\)[\'\"].*|\1|
  27. APPJS_PH = <!-- appjsplaceholder -->
  28. APPJS_TAG = <script type='text/javascript' src='js/app.js'></script>