diff options
author | Louie S <louie@example.com> | 2023-08-26 12:00:59 -0400 |
---|---|---|
committer | Louie S <louie@example.com> | 2023-08-26 12:00:59 -0400 |
commit | b70cc298b199c7e735eebb23869481adccbc237f (patch) | |
tree | 547461c841fa529730d8ecb17138eed77f99f030 /Makefile |
First commit
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..64e0885 --- /dev/null +++ b/Makefile @@ -0,0 +1,84 @@ +DOCSET_NAME = GNU_Bash + +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 + +SRC_ICON = src/icon.png + +MANUAL_URL = https://www.gnu.org/software/bash/manual/bash.html_node.tar.gz +MANUAL_FILE = tmp/bash.html_node.tar.gz + +ERROR_DOCSET_NAME = $(error DOCSET_NAME is unset) +WARNING_MANUAL_URL = $(warning MANUAL_URL is unset) +ERROR_MANUAL_FILE = $(error MANUAL_FILE is unset) +.phony: err warn + +ifndef DOCSET_NAME +err: ; $(ERROR_DOCSET_NAME) +endif + +ifndef MANUAL_FILE +err: ; $(ERROR_MANUAL_FILE) +endif + +ifndef MANUAL_URL +warn: + $(WARNING_MANUAL_URL) + $(MAKE) all +endif + +DOCSET = $(INFO_PLIST_FILE) $(INDEX_FILE) +ifdef SRC_ICON +DOCSET += $(ICON_FILE) +endif + +all: $(DOCSET) + +archive: $(ARCHIVE_FILE) + +clean: + rm -rf $(DOCSET_DIR) $(ARCHIVE_FILE) + +tmp: + mkdir -p $@ + +$(ARCHIVE_FILE): $(DOCSET) + tar --exclude='.DS_Store' -czf $@ $(DOCSET_DIR) + +$(MANUAL_FILE): tmp + curl -o $@ $(MANUAL_URL) + +$(DOCSET_DIR): + mkdir -p $@ + +$(CONTENTS_DIR): $(DOCSET_DIR) + mkdir -p $@ + +$(RESOURCES_DIR): $(CONTENTS_DIR) + mkdir -p $@ + +$(DOCUMENTS_DIR): $(RESOURCES_DIR) $(MANUAL_FILE) + mkdir -p $@ + tar -x -z -f $(MANUAL_FILE) -C $@ + +$(INFO_PLIST_FILE): src/Info.plist $(CONTENTS_DIR) + cp src/Info.plist $@ + +$(INDEX_FILE): src/index-page.sh src/index-terms.sh $(DOCUMENTS_DIR) + rm -f $@ + src/index-page.sh $@ $(DOCUMENTS_DIR)/*.html + src/index-terms.sh Builtin $@ $(DOCUMENTS_DIR)/Builtin-Index.html + src/index-terms.sh Word $@ $(DOCUMENTS_DIR)/Reserved-Word-Index.html + src/index-terms.sh Variable $@ $(DOCUMENTS_DIR)/Variable-Index.html + src/index-terms.sh Function $@ $(DOCUMENTS_DIR)/Function-Index.html + src/index-terms.sh Entry $@ $(DOCUMENTS_DIR)/Concept-Index.html + +$(ICON_FILE): src/icon.png $(DOCSET_DIR) + cp $(SRC_ICON) $@ |