如何在make htmlhelp时自动生成.hhk文件
时间: 2024-04-10 20:35:03 浏览: 79
HTML Help Workshop.rar
在使用 Makefile 构建 HTML 帮助文件时,可以通过自动化脚本生成.hhk(HTML 帮助索引文件)的方法实现自动生成。
以下是一个示例 Makefile 的脚本,用于自动生成.hhk文件:
```makefile
# 定义变量
HTML_FILES := $(wildcard *.html) # 获取所有的HTML文件
HHK_FILE := help.hhk # 生成的.hhk文件名
# 生成.hhk文件的规则
$(HHK_FILE): $(HTML_FILES)
@echo "Generating $(HHK_FILE)..."
@echo "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">" > $(HHK_FILE)
@echo "<HTML>" >> $(HHK_FILE)
@echo "<HEAD>" >> $(HHK_FILE)
@echo " <META NAME=\"GENERATOR\" Content=\"Microsoft® HTML Help Workshop 4.1\">" >> $(HHK_FILE)
@echo "</HEAD>" >> $(HHK_FILE)
@echo "<BODY>" >> $(HHK_FILE)
@echo "<OBJECT TYPE=\"text/site properties\">" >> $(HHK_FILE)
@echo " <PARAM NAME=\"ImageType\" VALUE=\"Folder\">" >> $(HHK_FILE)
@echo "</OBJECT>" >> $(HHK_FILE)
@for file in $(HTML_FILES); do \
echo " <LI> <OBJECT TYPE=\"text/sitemap\">" >> $(HHK_FILE); \
echo " <PARAM NAME=\"Name\" VALUE=\"$${file}\">" >> $(HHK_FILE); \
echo " <PARAM NAME=\"Local\" VALUE=\"$${file}\">" >> $(HHK_FILE); \
echo " </OBJECT>" >> $(HHK_FILE); \
done
@echo "</BODY>" >> $(HHK_FILE)
@echo "</HTML>" >> $(HHK_FILE)
# 声明生成.hhk文件的依赖关系
help: $(HHK_FILE)
# 定义clean规则,用于清理生成的文件
clean:
@rm -f $(HHK_FILE)
```
在 Makefile 中,首先定义了要生成的 HTML 文件列表 `HTML_FILES` 和目标 `.hhk` 文件的名称 `HHK_FILE`。然后,使用规则来生成 `.hhk` 文件。规则中使用 `echo` 命令将所需的内容逐行写入 `.hhk` 文件。
要使用该 Makefile,只需在命令行中运行 `make help` 即可生成 `.hhk` 文件。如果需要清理生成的文件,可以运行 `make clean` 命令。
请根据你的实际情况进行适当的修改,以满足你的需求。希望对你有所帮助!
阅读全文