90 lines
2.2 KiB
Makefile
90 lines
2.2 KiB
Makefile
# $Id$
|
|
|
|
PROG=shunit2
|
|
|
|
BIN_DIR=$(PWD)/bin
|
|
BUILD_DIR=$(PWD)/build
|
|
DIST_DIR=$(PWD)/dist
|
|
LIB_DIR=$(PWD)/lib
|
|
SHARE_DIR=$(PWD)/share
|
|
SRC_DIR=$(PWD)/src
|
|
TEST_DIR=$(PWD)/test
|
|
TMP_DIR=$(PWD)/tmp
|
|
|
|
DOCBOOK_BUILD_DIR=$(BUILD_DIR)/docbook
|
|
DOCBOOK_SHARE_DIR=$(SHARE_DIR)/docbook
|
|
|
|
DOCBOOK_SRC_DIR=$(SRC_DIR)/docbook
|
|
EXAMPLES_SRC_DIR=$(SRC_DIR)/examples
|
|
SHELL_SRC_DIR=$(SRC_DIR)/shell
|
|
TEST_SRC_DIR=$(SRC_DIR)/test
|
|
|
|
HTML_XSL=$(SHARE_DIR)/docbook/tldp-xsl/21MAR2004/html/tldp-one-page.xsl
|
|
|
|
all: build docs
|
|
|
|
build: build-prep
|
|
cp -p $(SHELL_SRC_DIR)/$(PROG) $(BUILD_DIR)
|
|
|
|
build-clean:
|
|
rm -fr $(BUILD_DIR)
|
|
|
|
build-prep:
|
|
@mkdir -p $(BUILD_DIR)
|
|
|
|
docs: docs-transform-shelldoc docs-transform-docbook
|
|
|
|
docs-prep:
|
|
@mkdir -p $(DOCBOOK_BUILD_DIR)
|
|
@echo "Preparing documentation for parsing"
|
|
@isoDate=`date "+%Y-%m-%d"`; \
|
|
find $(DOCBOOK_SRC_DIR) -name "*.xml" |\
|
|
while read f; do \
|
|
bn=`basename $$f`; \
|
|
sed -e "s/@@ISO_DATE@@/$$isoDate/g" $$f >$(DOCBOOK_BUILD_DIR)/$$bn; \
|
|
done
|
|
|
|
docs-extract-shelldoc: docs-prep
|
|
@echo "Extracting the ShellDoc"
|
|
@$(BIN_DIR)/extractDocs.pl $(SHELL_SRC_DIR)/$(PROG) >$(BUILD_DIR)/$(PROG)_shelldoc.xml
|
|
|
|
docs-transform-shelldoc: docs-prep docs-extract-shelldoc
|
|
@echo "Parsing the extracted ShellDoc"
|
|
@xsltproc $(SHARE_DIR)/resources/shelldoc.xslt $(BUILD_DIR)/$(PROG)_shelldoc.xml >$(DOCBOOK_BUILD_DIR)/functions.xml
|
|
|
|
docs-transform-docbook: docs-docbook-prep docs-prep
|
|
@echo "Parsing the documentation with DocBook"
|
|
@xsltproc $(HTML_XSL) $(DOCBOOK_BUILD_DIR)/$(PROG).xml >$(BUILD_DIR)/$(PROG).html
|
|
|
|
docs-docbook-prep:
|
|
@if [ ! -d "$(DOCBOOK_SHARE_DIR)/docbook-xml" \
|
|
-o ! -d "$(DOCBOOK_SHARE_DIR)/docbook-xsl" ]; \
|
|
then \
|
|
echo "Preparing DocBook structure"; \
|
|
$(BIN_DIR)/docbookPrep.sh "$(DOCBOOK_SHARE_DIR)"; \
|
|
fi
|
|
|
|
test: test-prep
|
|
@echo "executing $(PROG) unit tests"
|
|
( cd $(TEST_DIR); $(TEST_SRC_DIR)/run-test-suite )
|
|
|
|
test-clean:
|
|
rm -fr $(TEST_DIR)
|
|
|
|
test-prep: build test-clean
|
|
@mkdir -p $(TEST_DIR)
|
|
cp -p $(TEST_SRC_DIR)/test* $(TEST_DIR)
|
|
cp -p $(TEST_SRC_DIR)/run-test-suite $(TEST_DIR)
|
|
cp -p $(BUILD_DIR)/$(PROG) $(TEST_DIR)
|
|
|
|
dist: dist-clean build docs
|
|
@mkdir $(DIST_DIR)
|
|
cp -p $(BUILD_DIR)/$(PROG) $(DIST_DIR)
|
|
cp -p $(BUILD_DIR)/$(PROG).html $(DIST_DIR)
|
|
|
|
clean: build-clean test-clean
|
|
rm -fr $(TMP_DIR)
|
|
|
|
dist-clean: clean
|
|
rm -fr $(DIST_DIR)
|