Skip to content

Commit 4129e45

Browse files
committed
Unify DDoc Makefile build variables
1 parent a349d9e commit 4129e45

File tree

1 file changed

+52
-58
lines changed

1 file changed

+52
-58
lines changed

posix.mak

Lines changed: 52 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#
1111

1212
include osmodel.mak
13+
PWD=$(shell pwd)
1314

1415
# Latest released version
1516
ifeq (,${LATEST})
@@ -19,19 +20,19 @@ endif
1920
NEXT_VERSION:=$(shell bash -c 'version=$$(cat VERSION);a=($${version//./ });a[1]="10\#$${a[1]}";((a[1]++)); a[2]=0; echo $${a[0]}.0$${a[1]}.$${a[2]};' )
2021

2122
# DLang directories
22-
DMD_DIR=../dmd
23-
PHOBOS_DIR=../phobos
24-
DRUNTIME_DIR=../druntime
25-
TOOLS_DIR=../tools
26-
INSTALLER_DIR=../installer
27-
DUB_DIR=../dub-${DUB_VER}
23+
DMD_DIR=$(PWD)/../dmd
24+
PHOBOS_DIR=$(PWD)/../phobos
25+
DRUNTIME_DIR=$(PWD)/../druntime
26+
TOOLS_DIR=$(PWD)/../tools
27+
INSTALLER_DIR=$(PWD)/../installer
28+
DUB_DIR=$(PWD)/../dub-${DUB_VER}
2829

2930
# External binaries
3031
DMD=$(DMD_DIR)/generated/$(OS)/release/$(MODEL)/dmd
3132
DUB=${DUB_DIR}/bin/dub
3233

3334
# External directories
34-
DOC_OUTPUT_DIR:=$(shell pwd)/web
35+
DOC_OUTPUT_DIR:=$(PWD)/web
3536
GIT_HOME=https://github.com/dlang
3637
DPL_DOCS_PATH=dpl-docs
3738
DPL_DOCS=$(DPL_DOCS_PATH)/dpl-docs
@@ -106,6 +107,31 @@ else
106107
CHANGELOG_VERSION_STABLE := "v${LATEST}..upstream/stable"
107108
endif
108109

110+
################################################################################
111+
# Ddoc build variables
112+
################################################################################
113+
DDOC_VARS_STABLE=\
114+
DOC_OUTPUT_DIR="${DOC_OUTPUT_DIR}/phobos" \
115+
STDDOC="$(addprefix $(PWD)/, $(STD_DDOC))" \
116+
DMD="$(DMD_STABLE)" \
117+
DRUNTIME_PATH="${DRUNTIME_DIR}" \
118+
DOCSRC="$(PWD)" \
119+
VERSION="${DMD_DIR}/VERSION"
120+
121+
DDOC_VARS=\
122+
DMD="${DMD}" \
123+
DRUNTIME_PATH="${DRUNTIME_DIR}" \
124+
DOCSRC="$(PWD)" \
125+
VERSION="${DMD_DIR}/VERSION"
126+
127+
DDOC_VARS_HTML=$(DDOC_VARS) \
128+
DOC_OUTPUT_DIR="${DOC_OUTPUT_DIR}/phobos-prerelease" \
129+
STDDOC="$(addprefix $(PWD)/, $(STD_DDOC_PRE))"
130+
131+
DDOC_VARS_VERBATIM=$(DDOC_VARS) \
132+
DOC_OUTPUT_DIR="${DOC_OUTPUT_DIR}/phobos-prerelease-verbatim" \
133+
STDDOC="$(PWD)/verbatim.ddoc"
134+
109135
################################################################################
110136
# Resources
111137
################################################################################
@@ -355,14 +381,14 @@ dlangspec.verbatim.txt : $(DMD) verbatim.ddoc dlangspec-consolidated.d
355381
# Git rules
356382
################################################################################
357383

358-
../%-${LATEST} :
359-
git clone -b v${LATEST} --depth=1 ${GIT_HOME}/$* $@
384+
$(PWD)/%-${LATEST} :
385+
git clone -b v${LATEST} --depth=1 ${GIT_HOME}/$(notdir $*) $@
360386

361-
../%-${DUB_VER} :
362-
git clone --depth=1 -b v${DUB_VER} ${GIT_HOME}/$* $@
387+
$(PWD)/%-${DUB_VER} :
388+
git clone --depth=1 -b v${DUB_VER} ${GIT_HOME}/$(notdir $*) $@
363389

364390
${DMD_DIR} ${DRUNTIME_DIR} ${PHOBOS_DIR} ${TOOLS_DIR} ${INSTALLER_DIR}:
365-
git clone --depth=1 ${GIT_HOME}/$(@F) $@
391+
git clone --depth=1 ${GIT_HOME}/$(notdir $(@F)) $@
366392

367393
################################################################################
368394
# dmd compiler, latest released build and current build
@@ -375,48 +401,39 @@ $(DMD_STABLE) : ${DMD_STABLE_DIR}
375401
${MAKE} --directory=${DMD_STABLE_DIR}/src -f posix.mak AUTO_BOOTSTRAP=1
376402

377403
dmd-release : $(STD_DDOC) $(DMD_DIR) $(DMD)
378-
$(MAKE) AUTO_BOOTSTRAP=1 --directory=$(DMD_DIR) -f posix.mak html \
379-
STDDOC="$(addprefix `pwd`/, $(STD_DDOC))" \
380-
DOC_OUTPUT_DIR="${DOC_OUTPUT_DIR}/phobos" \
381-
DOCSRC="$(realpath .)"
404+
$(MAKE) AUTO_BOOTSTRAP=1 --directory=$(DMD_DIR) -f posix.mak html $(DDOC_VARS_STABLE)
382405

383406
dmd-prerelease : $(STD_DDOC_PRE) $(DMD_DIR) $(DMD)
384-
$(MAKE) AUTO_BOOTSTRAP=1 --directory=$(DMD_DIR) -f posix.mak html \
385-
STDDOC="$(addprefix `pwd`/, $(STD_DDOC_PRE))" \
386-
DOCSRC="$(realpath .)" \
387-
DOC_OUTPUT_DIR="${DOC_OUTPUT_DIR}/phobos-prerelease"
407+
$(MAKE) AUTO_BOOTSTRAP=1 --directory=$(DMD_DIR) -f posix.mak html $(DDOC_VARS_HTML)
388408

389409
dmd-prerelease-verbatim : $(STD_DDOC_PRE) $(DMD_DIR) \
390410
${DOC_OUTPUT_DIR}/phobos-prerelease/mars.verbatim
391411
${DOC_OUTPUT_DIR}/phobos-prerelease/mars.verbatim: verbatim.ddoc
392412
mkdir -p $(dir $@)
393-
$(MAKE) AUTO_BOOTSTRAP=1 --directory=$(DMD_DIR) -f posix.mak html \
394-
DOC_OUTPUT_DIR="${DOC_OUTPUT_DIR}/phobos-prerelease-verbatim" \
395-
STDDOC="`pwd`/verbatim.ddoc" \
396-
DOCSRC="$(realpath .)"
413+
$(MAKE) AUTO_BOOTSTRAP=1 --directory=$(DMD_DIR) -f posix.mak html $(DDOC_VARS_VERBATIM)
397414
$(call CHANGE_SUFFIX,html,verbatim,${DOC_OUTPUT_DIR}/phobos-prerelease-verbatim)
398415
mv ${DOC_OUTPUT_DIR}/phobos-prerelease-verbatim/* $(dir $@)
399416
rm -r ${DOC_OUTPUT_DIR}/phobos-prerelease-verbatim
400417

401418
################################################################################
402419
# druntime, latest released build and current build
420+
# TODO: remove DOCDIR and DOCFMT once they have been removed at Druntime
403421
################################################################################
404422

405423
druntime-prerelease : ${DRUNTIME_DIR} $(DMD) $(STD_DDOC_PRE)
406-
${MAKE} --directory=${DRUNTIME_DIR} -f posix.mak target doc \
424+
${MAKE} --directory=${DRUNTIME_DIR} -f posix.mak target doc $(DDOC_VARS_HTML) \
407425
DOCDIR=${DOC_OUTPUT_DIR}/phobos-prerelease \
408426
DOCFMT="$(addprefix `pwd`/, $(STD_DDOC_PRE))"
409427

410428
druntime-release : ${DRUNTIME_STABLE_DIR} $(DMD_STABLE) $(STD_DDOC)
411-
${MAKE} --directory=${DRUNTIME_STABLE_DIR} -f posix.mak target doc \
412-
DMD=$(DMD_STABLE) \
429+
${MAKE} --directory=${DRUNTIME_STABLE_DIR} -f posix.mak target doc $(DDOC_VARS_STABLE) \
413430
DOCDIR=${DOC_OUTPUT_DIR}/phobos \
414-
DOCFMT="$(addprefix `pwd`/, $(STD_DDOC))"
431+
DOCFMT="$(addprefix `pwd`/, $(STD_DDOC))"
415432

416433
druntime-prerelease-verbatim : ${DRUNTIME_DIR} \
417434
${DOC_OUTPUT_DIR}/phobos-prerelease/object.verbatim
418435
${DOC_OUTPUT_DIR}/phobos-prerelease/object.verbatim : $(DMD)
419-
${MAKE} --directory=${DRUNTIME_DIR} -f posix.mak target doc \
436+
${MAKE} --directory=${DRUNTIME_DIR} -f posix.mak target doc $(DDOC_VARS_VERBATIM) \
420437
DOCDIR=${DOC_OUTPUT_DIR}/phobos-prerelease-verbatim \
421438
DOCFMT="`pwd`/verbatim.ddoc"
422439
mkdir -p $(dir $@)
@@ -430,40 +447,17 @@ ${DOC_OUTPUT_DIR}/phobos-prerelease/object.verbatim : $(DMD)
430447

431448
.PHONY: phobos-prerelease
432449
phobos-prerelease : ${PHOBOS_FILES_GENERATED} $(STD_DDOC_PRE) druntime-prerelease
433-
${MAKE} --directory=${PHOBOS_DIR_GENERATED} -f posix.mak \
434-
STDDOC="$(addprefix `pwd`/, $(STD_DDOC_PRE))" \
435-
DOC_OUTPUT_DIR="${DOC_OUTPUT_DIR}/phobos-prerelease" \
436-
DRUNTIME_PATH="$(realpath ${DRUNTIME_DIR})" \
437-
DMD="$(realpath ${DMD})" \
438-
DOCSRC="$(realpath .)" \
439-
VERSION="$(realpath ${DMD_DIR}/VERSION)" \
440-
html
441-
442-
phobos-release : ${PHOBOS_STABLE_FILES_GENERATED} $(DMD_STABLE) $(STD_DDOC) \
443-
druntime-release
444-
${MAKE} --directory=${PHOBOS_STABLE_DIR_GENERATED} -f posix.mak \
445-
DMD=$(DMD_STABLE) \
446-
DRUNTIME_PATH=${DRUNTIME_STABLE_DIR} \
447-
DOC_OUTPUT_DIR=${DOC_OUTPUT_DIR}/phobos \
448-
STDDOC="$(addprefix `pwd`/, $(STD_DDOC))" \
449-
DRUNTIME_PATH="$(realpath ${DRUNTIME_DIR})" \
450-
DMD="$(realpath ${DMD})" \
451-
DOCSRC="$(realpath .)" \
452-
VERSION="$(realpath ${DMD_DIR}/VERSION)" \
453-
html
450+
$(MAKE) --directory=$(PHOBOS_DIR_GENERATED) -f posix.mak html $(DDOC_VARS_HTML)
451+
452+
phobos-release : ${PHOBOS_STABLE_FILES_GENERATED} $(DMD_STABLE) $(STD_DDOC) druntime-release
453+
$(MAKE) --directory=$(PHOBOS_STABLE_DIR_GENERATED) -f posix.mak html $(DDOC_VARS_STABLE)
454454

455455
phobos-prerelease-verbatim : ${PHOBOS_FILES_GENERATED} ${DOC_OUTPUT_DIR}/phobos-prerelease/index.verbatim
456456
${DOC_OUTPUT_DIR}/phobos-prerelease/index.verbatim : verbatim.ddoc \
457457
${DOC_OUTPUT_DIR}/phobos-prerelease/object.verbatim \
458458
${DOC_OUTPUT_DIR}/phobos-prerelease/mars.verbatim
459-
${MAKE} --directory=${PHOBOS_DIR_GENERATED} -f posix.mak \
460-
STDDOC="`pwd`/verbatim.ddoc" \
461-
DOC_OUTPUT_DIR=${DOC_OUTPUT_DIR}/phobos-prerelease-verbatim \
462-
DRUNTIME_PATH="$(realpath ${DRUNTIME_DIR})" \
463-
DMD="$(realpath ${DMD})" \
464-
DOCSRC="$(realpath .)" \
465-
VERSION="$(realpath ${DMD_DIR}/VERSION)" \
466-
html
459+
${MAKE} --directory=${PHOBOS_DIR_GENERATED} -f posix.mak html $(DDOC_VARS_VERBATIM) \
460+
DOC_OUTPUT_DIR=${DOC_OUTPUT_DIR}/phobos-prerelease-verbatim
467461
$(call CHANGE_SUFFIX,html,verbatim,${DOC_OUTPUT_DIR}/phobos-prerelease-verbatim)
468462
mv ${DOC_OUTPUT_DIR}/phobos-prerelease-verbatim/* $(dir $@)
469463
rm -r ${DOC_OUTPUT_DIR}/phobos-prerelease-verbatim

0 commit comments

Comments
 (0)