我正在尝试按照https://libxlsxwriter.github.io/getting_started.htmllibxlsxwriter
上的说明编译一个库
我使用的是 HP-UX dev B.11.31 U ia64 无限制用户许可证。
出现错误 Make: Must be a separator on rules line 11. 停止。
我遵循了许多选项,例如将空格转换为制表符,因为这个 makefile 已经随 libxlsxwriter 一起提供 - 我没有看到任何制表符和空格问题。
我已经包含了我的(未修改的)makefile,它也显示了行尾和制表符。
DEVX2:libxlsxwriter-master [208] cat -e -t -v Makefile
###############################################################################$
#$
# Makefile for libxlsxwriter library.$
#$
# Copyright 2014-2018, John McNamara, jmcnamara@cpan.org$
#$
$
# Keep the output quiet by default.$
Q=@$
ifdef V$
Q=$
endif$
$
INSTALL_DIR ?= /usr/local$
$
.PHONY: docs tags examples$
$
# Build the libs.$
all :$
ifndef USE_SYSTEM_MINIZIP$
^I$(Q)$(MAKE) -C third_party/minizip$
endif$
ifndef USE_STANDARD_TMPFILE$
^I$(Q)$(MAKE) -C third_party/tmpfileplus$
endif$
^I$(Q)$(MAKE) -C src$
$
# Build the example programs.$
examples :$
^I$(Q)$(MAKE) -C examples$
$
# Clean src and test directories.$
clean :$
^I$(Q)$(MAKE) clean -C src$
^I$(Q)$(MAKE) clean -C test/unit$
^I$(Q)$(MAKE) clean -C test/functional/src$
^I$(Q)$(MAKE) clean -C examples$
^I$(Q)rm -rf docs/html$
^I$(Q)rm -rf test/functional/__pycache__$
^I$(Q)rm -f test/functional/*.pyc$
^I$(Q)rm -f lib/*$
ifndef USE_STANDARD_TMPFILE$
^I$(Q)$(MAKE) clean -C third_party/minizip$
endif$
ifndef USE_STANDARD_TMPFILE$
^I$(Q)$(MAKE) clean -C third_party/tmpfileplus$
endif$
$
# Run the unit tests.$
test : all test_functional test_unit$
$
# Test for C++ const correctness on APIs.$
test_const : all$
^I$(Q)$(MAKE) clean -C test/functional/src$
^I$(Q)! $(MAKE) -C test/functional/src CFLAGS=-Wwrite-strings 2>&1 | grep -A 1 "note:"$
$
$
# Run the functional tests.$
test_functional : all$
^I$(Q)$(MAKE) -C test/functional/src$
^I$(Q)py.test test/functional -v$
$
# Run all tests.$
test_unit :$
^I@echo "Compiling unit tests ..."$
ifndef USE_SYSTEM_MINIZIP$
^I$(Q)$(MAKE) -C third_party/minizip$
endif$
ifndef USE_STANDARD_TMPFILE$
^I$(Q)$(MAKE) -C third_party/tmpfileplus$
endif$
^I$(Q)$(MAKE) -C src test_lib$
^I$(Q)$(MAKE) -C test/unit test$
$
# Test the functional test exes with valgrind (in 64bit mode only).$
test_valgrind : all$
ifndef NO_VALGRIND$
^I$(Q)$(MAKE) -C test/functional/src test_valgrind$
^I$(Q)$(MAKE) -C examples test_valgrind$
endif$
$
# Minimal target for quick compile without creating the libs.$
test_compile :$
^I$(Q)$(MAKE) -C src^Itest_compile$
$
# Indent the source files with the .indent.pro settings.$
indent:$
^I$(Q)gindent src/*.c include/*.h include/xlsxwriter/*.h$
$
tags:$
^I$(Q)rm -f TAGS$
^I$(Q)etags src/*.c include/*.h include/xlsxwriter/*.h$
$
# Build the doxygen docs.$
doc: docs$
docs:$
^I$(Q)$(MAKE) -C docs$
$
# Simple minded install.$
install: all$
^I$(Q)mkdir -p $(INSTALL_DIR)/include$
^I$(Q)cp -R include/* $(INSTALL_DIR)/include$
^I$(Q)mkdir -p $(INSTALL_DIR)/lib$
^I$(Q)cp lib/* $(INSTALL_DIR)/lib$
$
# Simpler minded uninstall.$
uninstall:$
^I$(Q)rm -rf $(INSTALL_DIR)/include/xlsxwriter*$
^I$(Q)rm $(INSTALL_DIR)/lib/libxlsxwriter.*$
$
# Strip the lib files.$
strip:$
^I$(Q)strip lib/*$
$
# Run a coverity static analysis.$
coverity:$
ifndef USE_SYSTEM_MINIZIP$
^I$(Q)$(MAKE) -C third_party/minizip$
endif$
ifndef USE_STANDARD_TMPFILE$
^I$(Q)$(MAKE) -C third_party/tmpfileplus$
endif$
^I$(Q)$(MAKE) -C src clean$
^I$(Q)rm -f lib/*$
^I$(Q)rm -rf cov-int$
^I$(Q)rm -f libxlsxwriter-coverity.tgz$
^I$(Q)../../cov-analysis-linux64-8.7.0/bin/cov-build --dir cov-int make -C src libxlsxwriter.a$
^I$(Q)tar -czf libxlsxwriter-coverity.tgz cov-int$
^I$(Q)$(MAKE) -C src clean$
^I$(Q)rm -f lib/*$
$
# Run a scan-build static analysis.$
scan_build:$
ifndef USE_SYSTEM_MINIZIP$
^I$(Q)$(MAKE) -C third_party/minizip$
endif$
ifndef USE_STANDARD_TMPFILE$
^I$(Q)$(MAKE) -C third_party/tmpfileplus$
endif$
^I$(Q)$(MAKE) -C src clean$
^I$(Q)rm -f lib/*$
^I$(Q)scan-build make -C src libxlsxwriter.a$
^I$(Q)$(MAKE) -C src clean$
^I$(Q)rm -f lib/*$
$
spellcheck:$
^I$(Q)for f in docs/src/*.dox; do aspell --lang=en_US --check $$f; done$
^I$(Q)for f in include/xlsxwriter/*.h; do aspell --lang=en_US --check $$f; done$
^I$(Q)for f in src/*.c; do aspell --lang=en_US --check $$f; done$
^I$(Q)for f in examples/*.c; do aspell --lang=en_US --check $$f; done$
^I$(Q)aspell --lang=en_US --check Changes.txt$
^I$(Q)aspell --lang=en_US --check Readme.md$
$
releasecheck:$
^I$(Q)dev/release/release_check.sh$
$
release: releasecheck$
^I@echo$
^I@echo "Pushing to git master ..."$
^I$(Q)git push origin master$
^I$(Q)git push --tags$
$
^I@echo$
^I@echo "Pushing updated docs ..."$
^I$(Q)make -C ../libxlsxwriter.github.io release$
$
^I@echo$
^I@echo "Pushing the cocoapod ..."$
^I$(Q)pod trunk push libxlsxwriter.podspec --use-libraries$
$
^I@echo$
^I@echo "Finished. Opening files."$
^I$(Q)open http://libxlsxwriter.github.io/changes.html$
^I$(Q)open http://cocoadocs.org/docsets/libxlsxwriter$
^I$(Q)open https://github.com/jmcnamara/libxlsxwriter$
^I$(Q)open https://github.com/jmcnamara/libxlsxwriter/releases$