2421530cfe711a8b27d3eeccc1529d056e131413
[openssl-web.git] / Makefile
1 ##
2 ## Build procedure for www.openssl.org
3
4 ##  Checkouts.
5 CHECKOUTS = /var/cache/openssl/checkouts/openssl
6 ##  Snapshot directory
7 SNAP = $(CHECKOUST)/openssl
8 ## Where releases are found.
9 RELEASEDIR = /var/www/openssl/source
10
11
12 # All simple generated files.
13 SIMPLE = newsflash.inc sitemap.txt \
14          docs/faq.inc docs/fips.inc \
15          news/changelog.inc news/changelog.txt \
16          news/newsflash.inc \
17          news/vulnerabilities.inc \
18          source/.htaccess \
19          source/license.txt \
20          source/index.inc
21 SRCLISTS = \
22            source/old/0.9.x/index.inc \
23            source/old/1.0.0/index.inc \
24            source/old/1.0.1/index.inc \
25            source/old/1.0.2/index.inc \
26            source/old/fips/index.inc \
27
28 all: $(SIMPLE) $(SRCLISTS)
29
30 relupd: all
31         if [ "`id -un`" != openssl ]; then \
32             echo "You must run this as 'openssl'" ; \
33             echo "     sudo -u openssl -H make"; \
34             exit 1; \
35         fi
36         cd $(CHECKOUTS) ; for dir in openssl* ; do \
37             echo Updating $$dir ; ( cd $$dir ; git pull $(QUIET) ) ; \
38         done
39         git pull $(QUIET)
40         $(MAKE) all manpages
41
42 manpages:
43         ./bin/mk-manpages $(CHECKOUTS)/master master doc
44         #./bin/mk-manpages $(CHECKOUTS)/openssl-1.0.2-stable 1.0.2 doc
45         #./bin/mk-manpages $(CHECKOUTS)/openssl-1.0.1-stable 1.0.1 doc
46         #./bin/mk-manpages $(CHECKOUTS)/openssl-1.0.0-stable 1.0.0 doc
47         #./bin/mk-manpages $(CHECKOUTS)/openssl-0.9.8-stable 0.9.8 doc
48
49 # Legacy targets
50 hack-source_htaccess: all
51 simple: all
52 generated: all
53 rebuild: all
54
55 clean:
56         rm -f $(SIMPLE) $(SRCLISTS)
57
58 newsflash.inc: news/newsflash.inc
59         @rm -f $@
60         head -6 $? >$@
61 sitemap.txt:
62         @rm -f $@
63         ./bin/mk-sitemap >$@
64
65 news/changelog.inc: news/changelog.txt bin/mk-changelog
66         @rm -f $@
67         ./bin/mk-changelog <news/changelog.txt >$@
68 news/changelog.txt: $(SNAP)/CHANGES
69         @rm -f $@
70         cp $? $@
71 news/newsflash.inc: news/newsflash.txt
72         sed <$? >$@ \
73             -e '/^#/d' \
74             -e 's@^@<tr><td class="d">@' \
75             -e 's@: @</td><td class="t">@' \
76             -e 's@$$@</td></tr>@'
77 news/vulnerabilities.inc: bin/vulnerabilities.xsl news/vulnerabilities.xml
78         @rm -f $@
79         xsltproc bin/vulnerabilities.xsl news/vulnerabilities.xml >$@
80
81 docs/faq.inc: docs/faq.txt
82         @rm -f $@
83         ./bin/mk-faq <$? >$@
84 docs/fips.inc:
85         @rm -f $@
86         ./bin/mk-filelist docs/fips fips/ '*' >$@
87
88 source/.htaccess:
89         @rm -f @?
90         ./bin/mk-latest source >$@
91 source/license.txt: $(SNAP)/LICENSE
92         @rm -f $@
93         cp $? $@
94 source/index.inc:
95         @rm -f $@
96         ./bin/mk-filelist $(RELEASEDIR) '' 'openssl-*.tar.gz' >$@
97
98 source/old/0.9.x/index.inc:
99         @rm -f $@
100         ./bin/mk-filelist source/old/0.9.x '' '*.gz' >$@
101 source/old/1.0.0/index.inc:
102         @rm -f $@
103         ./bin/mk-filelist source/old/1.0.0 '' '*.gz' >$@
104 source/old/1.0.1/index.inc:
105         @rm -f $@
106         ./bin/mk-filelist source/old/1.0.1 '' '*.gz' >$@
107 source/old/1.0.2/index.inc:
108         @rm -f $@
109         ./bin/mk-filelist source/old/1.0.2 '' '*.gz' >$@
110 source/old/fips/index.inc:
111         @rm -f $@
112         ./bin/mk-filelist source/old/fips '' '*.gz' >$@