# Copyright (C) 2017 Michael Reed # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . MD_MAIN != find -L . -name '*.md' -and ! -path '*/news/*' HTML_MAIN = $(MD_MAIN:.md=.html) MD_NEWS != find -L news -name '*.md' -and ! -name index.md HTML_NEWS = $(MD_NEWS:.md=.html) # news/index.html implies the building of $(HTML_NEWS). all: $(HTML_MAIN) news/index.html .SUFFIXES: .md .html # Does not apply for news/index.md; see below. .md.html: ./publish.sh $< # Unlike all the other markdown files, news/index.md does not exist at first: # it must be generated by index.sh. Also note that index.sh depends on the # existence of the HTML version of all news items, hence the dependency line # below. news/index.md: $(HTML_NEWS) ./index.sh clean: rm -f $(HTML_MAIN) $(HTML_MAIN:.html=.bare.html) \ $(HTML_NEWS) $(HTML_NEWS:.html=.bare.html) \ news/index.md news/index.html news/index.bare.html \ feed.xml news/feed.xml .PHONY: clean