Skip to content

Commit

Permalink
Merge pull request #643 from griiid/feature/upgrade-makefile
Browse files Browse the repository at this point in the history
Upgrade Makefile, it can build single html now
  • Loading branch information
josix authored Apr 13, 2024
2 parents c9ce39d + 5443800 commit 56d000b
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,35 @@ all: $(VENV)/bin/sphinx-build $(VENV)/bin/blurb clone ## Automatically build an
for file in *.po */*.po; do ln -f $$file $(LC_MESSAGES)/$$file; done
. $(VENV)/bin/activate; $(MAKE) -C $(CPYTHON_CLONE)/Doc/ SPHINXOPTS='-j$(JOBS) -D locale_dirs=locales -D language=$(LANGUAGE) -D gettext_compact=0' $(MODE)

.PHONY: build
build: $(VENV)/bin/sphinx-build $(VENV)/bin/blurb clone ## Automatically build an html local version
@$(eval target=$(filter-out $@,$(MAKECMDGOALS)))
@if [ -z $(target) ]; then \
echo "\x1B[1;31m""Please provide a file argument.""\x1B[m"; \
exit 1; \
fi
@if [ "$(suffix $(target))" != ".po" ]; then \
echo "\x1B[1;31m""Incorrect file extension. Only '.po' files are allowed.""\x1B[m"; \
exit 1; \
fi
@if [[ ! -f "$(target)" ]] ; then \
echo "\x1B[1;31m""ERROR: $(target) not exist.""\x1B[m"; \
exit 1; \
fi
@mkdir -p $(LC_MESSAGES)
@$(eval dir=`echo $(target) | xargs -n1 dirname`) ## Get dir
# If the build target is in under directory
# We should make direcotry in $(LC_MESSAGES) and link the file.
@if [ $(dir) != "." ]; then \
echo "mkdir -p $(LC_MESSAGES)/$(dir)"; \
mkdir -p $(LC_MESSAGES)/$(dir); \
echo "ln -f ./$(target) $(LC_MESSAGES)/$(target)"; \
ln -f ./$(target) $(LC_MESSAGES)/$(target); \
fi
# Build
@echo "----"
@. $(VENV)/bin/activate; $(MAKE) -C $(CPYTHON_CLONE)/Doc/ SPHINXOPTS='-j$(JOBS) -D language=$(LANGUAGE) -D locale_dirs=locales -D gettext_compact=0' SOURCES='$(basename $(target)).rst' html

help:
@python3 -c "$$PRINT_HELP_PYSCRIPT" < $(MAKEFILE_LIST)

Expand Down Expand Up @@ -133,3 +162,7 @@ rm_cpython: ## Remove cloned cpython repo
.PHONY: lint
lint: $(VENV)/bin/sphinx-lint ## Run sphinx-lint
$(VENV)/bin/sphinx-lint --enable default-role

# This allows us to accept extra arguments (by doing nothing when we get a job that doesn't match, rather than throwing an error)
%:
@:

0 comments on commit 56d000b

Please sign in to comment.