DOCSET_NAME = debmake PACKAGE_NAME = debmake-doc LOCALE = en DOCSET_DIR = $(DOCSET_NAME).docset CONTENTS_DIR = $(DOCSET_DIR)/Contents RESOURCES_DIR = $(CONTENTS_DIR)/Resources DOCUMENTS_DIR = $(RESOURCES_DIR)/Documents INFO_PLIST_FILE = $(CONTENTS_DIR)/Info.plist INDEX_FILE = $(RESOURCES_DIR)/docSet.dsidx ICON_FILE = $(DOCSET_DIR)/icon.png ARCHIVE_FILE = $(DOCSET_NAME).tgz # TODO latest version should not have to be manually determined VERSION = 1.17 MANUAL_URL = https://salsa.debian.org/debian/debmake-doc/-/archive/upstream/$(VERSION)/debmake-doc-upstream-$(VERSION).tar.gz MANUAL_SRC = tmp/$(PACKAGE_NAME)-upstream-$(VERSION) MANUAL_FILE = $(MANUAL_SRC)/basedir/html DOCSET = $(INFO_PLIST_FILE) $(INDEX_FILE) $(ICON_FILE) all: $(DOCSET) archive: $(ARCHIVE_FILE) clean: rm -rf $(DOCSET_DIR) $(ARCHIVE_FILE) ifneq (,$(wildcard $(MANUAL_SRC))) cd $(MANUAL_SRC) && make clean endif tmp: mkdir -p $@ $(ARCHIVE_FILE): $(DOCSET) tar --exclude='.DS_Store' -czf $@ $(DOCSET_DIR) $(MANUAL_SRC): tmp curl -o $@.tar.gz $(MANUAL_URL) tar -x -z -f $@.tar.gz -C tmp $(MANUAL_FILE): $(MANUAL_SRC) cd $(MANUAL_SRC) && make html css LANGALL=$(LOCALE) $(DOCSET_DIR): mkdir -p $@ $(CONTENTS_DIR): $(DOCSET_DIR) mkdir -p $@ $(RESOURCES_DIR): $(CONTENTS_DIR) mkdir -p $@ $(DOCUMENTS_DIR): $(RESOURCES_DIR) $(MANUAL_FILE) mkdir -p $@ cp -r $(MANUAL_FILE)/* $@ $(INFO_PLIST_FILE): src/Info.plist $(CONTENTS_DIR) head -n -2 src/Info.plist > $@ echo " dashIndexFilePath" >> $@ echo " index.$(LOCALE).html" >> $@ echo "" >> $@ echo "" >> $@ $(INDEX_FILE): src/index.sh $(DOCUMENTS_DIR) rm -f $@ src/index.sh $@ $(DOCUMENTS_DIR)/*.html $(ICON_FILE): src/icon.png $(DOCSET_DIR) cp src/icon.png $@