Makefile 1.1 KB

12345678910111213141516171819202122232425262728293031
  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. @mkdir -p dist/css dist/js dist/tags
  10. # --- Combine CSS ---
  11. @for file in $$(cat css/app.css | sed "$(CSS_FILES)"); do \
  12. cat css/$$file >> dist/css/app.css; \
  13. done
  14. # --- Combine Javascript ---
  15. @for file in $$(grep "$(JS_TAGS)" index.html | sed "$(JS_FILES)"); do \
  16. cat $$file >> dist/js/app.js; \
  17. done
  18. # --- Copy Riot Tags ---
  19. @cp tags/*.tag dist/tags/
  20. # --- Modify Index Page ---
  21. @sed "/$(JS_TAGS)/D" index.html | sed "s|$(APPJS_PH)|$(APPJS_TAG)|" > dist/index.html
  22. @echo "All Done!"
  23. CSS_FILES = s|@import.*[\'\"]\(.*\)[\'\"].*|\1|
  24. JS_TAGS = <script .*src=[\'\"].*\.js[\'\"]
  25. JS_FILES = s|.*src=[\'\"]\(.*\.js\)[\'\"].*|\1|
  26. APPJS_PH = <!-- appjsplaceholder -->
  27. APPJS_TAG = <script type='text/javascript' src='js/app.js'></script>