aboutsummaryrefslogtreecommitdiff
path: root/doc/Makefile
blob: 806ed52d5fae50662be29795a5323d76df05eabf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#==============================================================================#
#
# Centralized build system for "doc".  
#
# see for instructions: http://puredata.org/docs/developer/build
#  <hans@at.or.at>
#
#==============================================================================#

CWD := $(shell pwd)

# these are designed to be overridden by the packages/Makefile
SRC_ROOT_DIR = $(CWD)/..
INSTALL_PREFIX = build
BUILDLAYOUT_DIR = $(CWD)

# default target
all:
	@echo "this currently does nothing"

include $(BUILDLAYOUT_DIR)/Makefile.buildlayout

#==============================================================================#
#
# OVERARCHING BUILD TARGETS
#
#==============================================================================#

# clean up after everything is installed
final_setup:
	chmod -R ugo-w $(DOCS_DEST)

install: pd-msg_install pddp_install tutorials_install
	@echo " "
	@echo "doc install succeeded!"

#==============================================================================#
#
# PROJECT-SPECIFIC TARGETS
#
#==============================================================================#

#------------------------------------------------------------------------------#
# PD-MSG
PD-MSG_NAME = pd-msg
pd-msg_install: $(MANUALS_DEST)
	install -d $(MANUALS_DEST)/$(PD-MSG_NAME)
	install -p $(DOC_SRC)/additional/pd-msg/*.txt \
		$(MANUALS_DEST)/$(PD-MSG_NAME) 
	for dir in $(shell cd  $(DOC_SRC)/additional/pd-msg && ls -d [1-5].*); do \
		echo "Including $$dir in $(PD-MSG_NAME)"; \
		install -d $(MANUALS_DEST)/$(PD-MSG_NAME)/$$dir; \
		install -p $(DOC_SRC)/additional/pd-msg/$$dir/*.* \
			$(MANUALS_DEST)/$(PD-MSG_NAME)/$$dir; \
	done


#------------------------------------------------------------------------------#
# PDDP
pddp_install: $(HELP_DEST)
	install -p $(DOC_SRC)/pddp/*.pd $(HELP_DEST)
# this file is used in key-help.pd
	install -p $(DOC_SRC)/pddp/keyboard_fun.txt $(HELP_DEST)


#------------------------------------------------------------------------------#
# TUTORIALS
tutorials_install: $(MANUALS_DEST)
# pddrums
	install -d $(MANUALS_DEST)/PdDrums
	install -p $(DOC_SRC)/tutorials/footils/pddrums/*.* $(MANUALS_DEST)/PdDrums
# playnow
	install -d $(MANUALS_DEST)/PlayNow
	install -p $(DOC_SRC)/tutorials/playnow/*.pd $(MANUALS_DEST)/PlayNow
	install -p $(DOC_SRC)/tutorials/playnow/*.mid $(MANUALS_DEST)/PlayNow


#==============================================================================#
#
# DEVELOPER'S TARGETS
#
#==============================================================================#

# make the symlinks necessary to simulate the installed environment
devsymlinks:
	ln -s $(PD_SRC)/doc/2.control.examples $(DOC_SRC)/2.control.examples
	ln -s $(PD_SRC)/doc/3.audio.examples $(DOC_SRC)/3.audio.examples
# pd <= 0.38-4 has 4.fft.examples
	ln -s $(PD_SRC)/doc/4.fft.examples $(DOC_SRC)/4.fft.examples
# pd > 0.38-4 has 4.data.structures
	ln -s $(PD_SRC)/doc/4.data.structures $(DOC_SRC)/4.data.structures
	ln -s $(PD_SRC)/doc/7.stuff $(DOC_SRC)/7.stuff
	ln -s $(PD_SRC)/doc/sound $(DOC_SRC)/sound

#==============================================================================#
#
# CLEAN TARGETS
#
#==============================================================================#

# the destination-specific clean targets are in Makefile.buildlayout
clean: install_clean

distclean: clean cruft_clean