2 ## Build procedure for www.openssl.org
5 CHECKOUTS = /var/cache/openssl/checkouts
7 SNAP = $(CHECKOUTS)/openssl
8 ## Where releases are found.
9 RELEASEDIR = /var/www/openssl/source
12 # All simple generated files.
13 SIMPLE = newsflash.inc sitemap.txt \
14 community/committers.inc \
15 community/omc.inc community/omc-alumni.inc \
16 docs/faq.inc docs/fips.inc \
17 docs/OpenSSLStrategicArchitecture.html \
18 docs/OpenSSL300Design.html \
19 news/changelog.inc news/changelog.txt \
20 news/cl102.txt news/cl110.txt news/cl111.txt \
21 news/openssl-1.0.2-notes.inc \
22 news/openssl-1.1.0-notes.inc \
23 news/openssl-1.1.1-notes.inc \
25 news/vulnerabilities.inc \
26 news/vulnerabilities-1.1.1.inc \
27 news/vulnerabilities-1.1.0.inc \
28 news/vulnerabilities-1.0.2.inc \
29 news/vulnerabilities-1.0.1.inc \
30 news/vulnerabilities-1.0.0.inc \
31 news/vulnerabilities-0.9.8.inc \
32 news/vulnerabilities-0.9.7.inc \
33 news/vulnerabilities-0.9.6.inc \
37 source/old/0.9.x/index.inc \
38 source/old/1.0.0/index.inc \
39 source/old/1.0.1/index.inc \
40 source/old/1.0.2/index.inc \
41 source/old/1.1.0/index.inc \
42 source/old/1.1.1/index.inc \
43 source/old/fips/index.inc \
46 all: suball manmaster mancross
48 suball: $(SIMPLE) $(SRCLISTS)
50 relupd: suball manpages mancross
53 rm -f $(SIMPLE) $(SRCLISTS)
56 hack-source_htaccess: all
62 ./bin/mk-manpages $(1)/doc $(2) docs/man$(2)
63 ./bin/mk-apropos docs/man$(2)/man1 > docs/man$(2)/man1/index.inc
64 ./bin/mk-apropos docs/man$(2)/man3 > docs/man$(2)/man3/index.inc
65 ./bin/mk-apropos docs/man$(2)/man5 > docs/man$(2)/man5/index.inc
66 ./bin/mk-apropos docs/man$(2)/man7 > docs/man$(2)/man7/index.inc
69 ./bin/mk-manmap docs/man$(1) > docs/man$(1)/.htaccess
72 $(call makemanpages,$(CHECKOUTS)/openssl-1.1.1-stable,1.1.1)
73 $(call makemanpages,$(CHECKOUTS)/openssl-1.1.0-stable,1.1.0)
74 $(call makemanmap,1.1.0)
75 $(call makemanpages,$(CHECKOUTS)/openssl-1.0.2-stable,1.0.2)
76 $(call makemanmap,1.0.2)
79 $(call makemanpages,$(CHECKOUTS)/openssl,master)
84 ## $(SIMPLE) -- SIMPLE GENERATED FILES
85 .PHONY: sitemap community/committers.inc community/omc.inc community/omc-alumni.inc
86 newsflash.inc: news/newsflash.inc
91 ./bin/mk-sitemap > sitemap.txt
93 community/committers.inc:
95 wget -q https://api.openssl.org/0/Group/commit/Members
96 ./bin/mk-committers <Members >$@
100 ./bin/mk-omc -n -e -l -p -t 'OMC Members' omc omc-inactive > $@
101 community/omc-alumni.inc:
102 ./bin/mk-omc -n -l -t 'OMC Alumni' omc-alumni omc-emeritus > $@
104 docs/faq.inc: $(wildcard docs/faq-[0-9]-*.txt) bin/mk-faq
106 ./bin/mk-faq docs/faq-[0-9]-*txt >$@
107 docs/fips.inc: $(wildcard docs/fips/*) bin/mk-filelist
109 ./bin/mk-filelist docs/fips fips/ '*' >$@
111 docs/OpenSSLStrategicArchitecture.html: docs/OpenSSLStrategicArchitecture.md
114 docs/OpenSSL300Design.html: docs/OpenSSL300Design.md
118 news/changelog.inc: news/changelog.txt bin/mk-changelog
120 ./bin/mk-changelog <news/changelog.txt >$@
121 news/changelog.txt: $(SNAP)/CHANGES
124 news/cl102.txt: $(CHECKOUTS)/openssl-1.0.2-stable/CHANGES
127 news/cl110.txt: $(CHECKOUTS)/openssl-1.1.0-stable/CHANGES
130 news/cl111.txt: $(CHECKOUTS)/openssl-1.1.1-stable/CHANGES
133 news/openssl-1.0.2-notes.html: news/openssl-notes.html.in
135 sed -e 's|@VERSION@|1.0.2|g' < $< > $@
136 news/openssl-1.1.0-notes.html: news/openssl-notes.html.in
138 sed -e 's|@VERSION@|1.1.0|g' < $< > $@
139 news/openssl-1.1.1-notes.html: news/openssl-notes.html.in
141 sed -e 's|@VERSION@|1.1.1|g' < $< > $@
142 news/openssl-1.0.2-notes.inc: $(CHECKOUTS)/openssl-1.0.2-stable/NEWS news/openssl-1.0.2-notes.html bin/mk-notes
144 ./bin/mk-notes 1.0.2 < $(CHECKOUTS)/openssl-1.0.2-stable/NEWS > $@
145 news/openssl-1.1.0-notes.inc: $(CHECKOUTS)/openssl-1.1.0-stable/NEWS news/openssl-1.1.0-notes.html bin/mk-notes
147 ./bin/mk-notes 1.1.0 < $(CHECKOUTS)/openssl-1.1.0-stable/NEWS > $@
148 news/openssl-1.1.1-notes.inc: $(CHECKOUTS)/openssl-1.1.1-stable/NEWS news/openssl-1.1.1-notes.html bin/mk-notes
150 ./bin/mk-notes 1.1.1 < $(CHECKOUTS)/openssl-1.1.1-stable/NEWS > $@
151 news/newsflash.inc: news/newsflash.txt
154 -e 's@^@<tr><td class="d">@' \
155 -e 's@: @</td><td class="t">@' \
156 -e 's@$$@</td></tr>@'
157 news/vulnerabilities.inc: bin/mk-cvepage news/vulnerabilities.xml
159 ./bin/mk-cvepage -i news/vulnerabilities.xml > $@
160 news/vulnerabilities-1.1.1.inc: bin/mk-cvepage news/vulnerabilities.xml
162 ./bin/mk-cvepage -i news/vulnerabilities.xml -b 1.1.1 > $@
163 news/vulnerabilities-1.1.0.inc: bin/mk-cvepage news/vulnerabilities.xml
165 ./bin/mk-cvepage -i news/vulnerabilities.xml -b 1.1.0 > $@
166 news/vulnerabilities-1.0.2.inc: bin/mk-cvepage news/vulnerabilities.xml
168 ./bin/mk-cvepage -i news/vulnerabilities.xml -b 1.0.2 > $@
169 news/vulnerabilities-1.0.1.inc: bin/mk-cvepage news/vulnerabilities.xml
171 ./bin/mk-cvepage -i news/vulnerabilities.xml -b 1.0.1 > $@
172 news/vulnerabilities-1.0.0.inc: bin/mk-cvepage news/vulnerabilities.xml
174 ./bin/mk-cvepage -i news/vulnerabilities.xml -b 1.0.0 > $@
175 news/vulnerabilities-0.9.8.inc: bin/mk-cvepage news/vulnerabilities.xml
177 ./bin/mk-cvepage -i news/vulnerabilities.xml -b 0.9.8 > $@
178 news/vulnerabilities-0.9.7.inc: bin/mk-cvepage news/vulnerabilities.xml
180 ./bin/mk-cvepage -i news/vulnerabilities.xml -b 0.9.7 > $@
181 news/vulnerabilities-0.9.6.inc: bin/mk-cvepage news/vulnerabilities.xml
183 ./bin/mk-cvepage -i news/vulnerabilities.xml -b 0.9.6 > $@
184 source/.htaccess: $(wildcard source/openssl-*.tar.gz) bin/mk-latest
186 ./bin/mk-latest source >$@
187 source/index.inc: $(wildcard $(RELEASEDIR)/openssl-*.tar.gz) bin/mk-filelist
189 ./bin/mk-filelist $(RELEASEDIR) '' 'openssl-*.tar.gz' >$@
191 ## $(SRCLISTS) -- LISTS OF SOURCES
192 source/old/0.9.x/index.inc: $(wildcard source/old/0.9.x/*.gz) bin/mk-filelist
194 ./bin/mk-filelist source/old/0.9.x '' '*.gz' >$@
195 source/old/1.0.0/index.inc: $(wildcard source/old/1.0.0/*.gz) bin/mk-filelist
197 ./bin/mk-filelist source/old/1.0.0 '' '*.gz' >$@
198 source/old/1.0.1/index.inc: $(wildcard source/old/1.0.1/*.gz) bin/mk-filelist
200 ./bin/mk-filelist source/old/1.0.1 '' '*.gz' >$@
201 source/old/1.0.2/index.inc: $(wildcard source/old/1.0.2/*.gz) bin/mk-filelist
203 ./bin/mk-filelist source/old/1.0.2 '' '*.gz' >$@
204 source/old/1.1.0/index.inc: $(wildcard source/old/1.1.0/*.gz) bin/mk-filelist
206 ./bin/mk-filelist source/old/1.1.0 '' '*.gz' >$@
207 source/old/1.1.1/index.inc: $(wildcard source/old/1.1.1/*.gz) bin/mk-filelist
209 ./bin/mk-filelist source/old/1.1.1 '' '*.gz' >$@
210 source/old/fips/index.inc: $(wildcard source/old/fips/*.gz) bin/mk-filelist
212 ./bin/mk-filelist source/old/fips '' '*.gz' >$@
214 # Because these the indexes of old tarballs will inevitably be newer
215 # than the tarballs that are moved into their respective directory,
216 # we must declare them phony, or they will not be regenerated when
219 source/old/1.0.1/index.inc source/old/1.0.2/index.inc \
220 source/old/1.1.0/index.inc source/old/1.1.1/index.inc \
221 source/old/fips/index.inc