Remove link to GitHub sponsors
[openssl-web.git] / Makefile
index 8d641b15d70bdf67f277285e5aefd8e489b19f48..f79972033eeb6c304195b7ddb96ef4f8d1ce48bd 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -35,15 +35,15 @@ PERSONDB=FORCE
 ##  We mostly use $(SERIES) further down, but there are places where we
 ##  need to make the distinction, because certain files are produced
 ##  differently.
-SERIES1=1.1.1
-SERIES3=3.1 3.0
+SERIES1=
+SERIES3=3.3 3.2 3.1 3.0
 SERIES=$(SERIES3) $(SERIES1)
 ##  Older series.  The second type is for source listings
-OLDSERIES=1.1.0 1.0.2 1.0.1 1.0.0 0.9.8 0.9.7 0.9.6
-OLDSERIES2=1.1.0 1.0.2 1.0.1 1.0.0 0.9.x
+OLDSERIES=1.1.1 1.1.0 1.0.2 1.0.1 1.0.0 0.9.8 0.9.7 0.9.6
+OLDSERIES2=1.1.1 1.1.0 1.0.2 1.0.1 1.0.0 0.9.x
 ##  Series for manual layouts, named similar to SERIES1, SERIES3, SERIES
 MANSERIES1=1.1.1 1.0.2
-MANSERIES3=3.1 3.0
+MANSERIES3=3.3 3.2 3.1 3.0
 MANSERIES=$(MANSERIES3) $(MANSERIES1)
 
 ##  Future series, i.e. a series that hasn't had any final release yet.
@@ -60,7 +60,7 @@ FUTURESERIES=
 # repository.  This does not include .md files taken from other repositories,
 # they have their own special handling.
 H_TOP = $(addsuffix .html,\
-          $(basename $(shell git ls-files -- *.md)) \
+          $(basename $(shell git ls-files -- *.md | grep -v '^README')) \
           $(basename $(basename $(shell git ls-files -- *.md.tt))))
 H_COMMUNITY = $(addsuffix .html,\
                 $(basename $(shell git ls-files -- community/*.md)) \
@@ -80,8 +80,8 @@ H_POLICIES = $(addsuffix .html,\
                                   policies/technical/*.md \
                                   policies/general-supplemental/*.md)) \
                $(basename $(basename $(shell git ls-files -- \
-                                             policies/general/*.md \
-                                             policies/technical/*.md))))
+                                             policies/general/*.md.tt \
+                                             policies/technical/*.md.tt))))
 # We filter out any file starting with 'sub-'...  they get special treatment
 H_SOURCE= $(addsuffix .html,\
             $(basename $(shell git ls-files -- source/*.md \
@@ -128,18 +128,18 @@ TECHNICAL_POLICIES=$(filter-out $(CHECKOUTS)/technical-policies/policies/README.
        @rm -f $@
        ./bin/from-tt $<
 
-all: suball subdocs manmaster mancross sitemap akamai-purge
+all: suball subdocs manmastertts mancross manhtml akamai-purge
 
 suball: $(SIMPLE) $(SRCLISTS)
 
-relupd: suball docs sitemap akamai-purge
+relupd: suball docs akamai-purge
 
-docs: subdocs manpages mancross
+docs: subdocs manpagetts mancross manhtml
 
 subdocs: $(SIMPLEDOCS)
 
 clean:
-       rm -f $(SIMPLE) $(SIMPLEDOCS) $(SRCLISTS)
+       rm -rf $(SIMPLE) $(SIMPLEDOCS) $(SRCLISTS)
 
 akamai-purge:
 
@@ -171,9 +171,9 @@ bin/md-to-html5: inc/pandoc-template.html5
 ##
 ##  A lot of the work is made with generated rules.
 
-# makemanpages1 and makemanpages3 creates rules for targets like man-pages-1.1.1,
-# to build the set of man-pages.  makemanpages1 is used for pre-3.0 OpenSSL,
-# while makemanpages3 is used for OpenSSL 3.0 and on.
+# makemanpagetts1 and makemanpagetts3 creates rules for targets like man-pagetts-1.1.1,
+# to build the set of man-page templates.  makemanpagetts1 is used for pre-3.0 OpenSSL,
+# while makemanpagetts3 is used for OpenSSL 3.0 and on.
 # makemanapropos creates rules for targets like man-apropos-1.1.1, to build
 # 'apropos' like indexes for all the manpages.
 # makemanindexes creates rules for targets like man-index-1.1.1, to build the
@@ -182,26 +182,26 @@ bin/md-to-html5: inc/pandoc-template.html5
 # $(1) = input directory in CHECKOUTS, $(2) = release version
 
 # This variant is for pre-3.0 documentation
-define makemanpages1
-man-pages-$(2):
+define makemanpagetts1
+man-pagetts-$(2):
        @rm -rf docs/man$(2)
        @mkdir -p docs/man$(2) \
                  docs/man$(2)/man1 \
                  docs/man$(2)/man3 \
                  docs/man$(2)/man5 \
                  docs/man$(2)/man7
-       ./bin/mk-manpages $(CHECKOUTS)/$(1)/doc $(2) docs/man$(2)
+       ./bin/mk-manpagetts $(CHECKOUTS)/$(1)/doc $(2) docs/man$(2)
 endef
 # This variant is for 3.0 documentation
-define makemanpages3
-man-pages-$(2):
+define makemanpagetts3
+man-pagetts-$(2):
        @rm -rf docs/man$(2)
        @mkdir -p docs/man$(2) \
                  docs/man$(2)/man1 \
                  docs/man$(2)/man3 \
                  docs/man$(2)/man5 \
                  docs/man$(2)/man7
-       ./bin/mk-manpages3 $(CHECKOUTS)/$(1) $(2) docs/man$(2)
+       ./bin/mk-manpagetts3 $(CHECKOUTS)/$(1) $(2) docs/man$(2)
 endef
 define makemanapropos
 docs/man$(2)/man1/index.inc: bin/mk-apropos Makefile
@@ -246,19 +246,19 @@ endef
 define makemandirdata
 docs/man$(2)/man1/dirdata.yaml: docs/sub-dirdata.yaml.tt bin/from-tt Makefile
        ./bin/from-tt -d docs/man$(2)/man1 \
-                     releases='$(MANSERIES)' release='$(2)' \
+                     releases='$(MANSERIES)' release='$(2)' sectnum=1 \
                      < $$< > $$@
 docs/man$(2)/man3/dirdata.yaml: docs/sub-dirdata.yaml.tt bin/from-tt Makefile
        ./bin/from-tt -d docs/man$(2)/man3 \
-                     releases='$(MANSERIES)' release='$(2)' \
+                     releases='$(MANSERIES)' release='$(2)' sectnum=3 \
                      < $$< > $$@
 docs/man$(2)/man5/dirdata.yaml: docs/sub-dirdata.yaml.tt bin/from-tt Makefile
        ./bin/from-tt -d docs/man$(2)/man5 \
-                     releases='$(MANSERIES)' release='$(2)' \
+                     releases='$(MANSERIES)' release='$(2)' sectnum=5 \
                      < $$< > $$@
 docs/man$(2)/man7/dirdata.yaml: docs/sub-dirdata.yaml.tt bin/from-tt Makefile
        ./bin/from-tt -d docs/man$(2)/man7 \
-                     releases='$(MANSERIES)' release='$(2)' \
+                     releases='$(MANSERIES)' release='$(2)' sectnum=7 \
                      < $$< > $$@
 docs/man$(2)/dirdata.yaml: docs/sub-dirdata.yaml.tt bin/from-tt Makefile
        ./bin/from-tt -d docs/man$(2) \
@@ -266,13 +266,13 @@ docs/man$(2)/dirdata.yaml: docs/sub-dirdata.yaml.tt bin/from-tt Makefile
                      < $$< > $$@
 endef
 define makemanuals1
-$(eval $(call makemanpages1,$(1),$(2)))
+$(eval $(call makemanpagetts1,$(1),$(2)))
 $(eval $(call makemanapropos,$(1),$(2)))
 $(eval $(call makemanindexes,$(1),$(2)))
 $(eval $(call makemandirdata,$(1),$(2)))
 endef
 define makemanuals3
-$(eval $(call makemanpages3,$(1),$(2)))
+$(eval $(call makemanpagetts3,$(1),$(2)))
 $(eval $(call makemanapropos,$(1),$(2)))
 $(eval $(call makemanindexes,$(1),$(2)))
 $(eval $(call makemandirdata,$(1),$(2)))
@@ -292,19 +292,31 @@ $(foreach S,$(MANSERIES3),$(eval $(call makemanuals3,openssl-$(S),$(S))))
 # source from $(CHECKOUTS)/openssl-x.y.z-stable/doc
 $(foreach S,$(MANSERIES1),$(eval $(call makemanuals1,openssl-$(S)-stable,$(S))))
 
-MANMASTER_TARGETS = \
-        man-pages-master docs/manmaster/index.html \
-        $(foreach SEC,1 3 5 7, docs/manmaster/man$(SEC)/index.html)
-manmaster: $(MANMASTER_TARGETS)
-MANPAGES_TARGETS = \
+MANMASTER_DIRS = \
+       $(foreach SEC,1 3 5 7, docs/manmaster/man$(SEC))
+MANMASTERTT_TARGETS = \
+        man-pagetts-master \
+        docs/manmaster/dirdata.yaml docs/manmaster/index.html \
+        $(foreach D,$(MANMASTER_DIRS), $(D)/dirdata.yaml $(D)/index.html)
+manmastertts: $(MANMASTERTT_TARGETS)
+MANPAGE_DIRS = \
         $(foreach S,$(MANSERIES), \
-          man-pages-$(S) docs/man$(S)/index.html \
-          $(foreach SEC,1 3 5 7, docs/man$(S)/man$(SEC)/index.html))
-manpages: manmaster $(MANPAGES_TARGETS)
+          $(foreach SEC,1 3 5 7, docs/man$(S)/man$(SEC)))
+MANPAGETT_TARGETS = \
+        $(foreach S,$(MANSERIES), man-pagetts-$(S) \
+          docs/man$(S)/dirdata.yaml docs/man$(S)/index.html) \
+        $(foreach D,$(MANPAGE_DIRS), $(D)/dirdata.yaml $(D)/index.html)
+manpagetts: manmastertts $(MANPAGETT_TARGETS)
 
 mancross:
        ./bin/mk-mancross master $(MANSERIES)
 
+# We can't get all the files when make is started, but we can make the
+# patterns for a for loop.
+MANHTML_TTPATTERNS=$(foreach D,$(MANMASTER_DIRS) $(MANPAGE_DIRS), $(D)/*.md.tt)
+manhtml:
+       ./bin/mk-manhtml '$(MANHTML_TTPATTERNS)'
+
 docs/manpages.md: docs/manpages.md.tt Makefile bin/from-tt
        @rm -f $@
        ./bin/from-tt releases='master $(MANSERIES)' $<
@@ -313,11 +325,6 @@ docs/mansidebar.html: docs/mansidebar.html.tt Makefile bin/from-tt
        @rm -f $@
        ./bin/from-tt releases='master $(MANSERIES)' $<
 
-docs/faq.inc: $(wildcard docs/faq-[0-9]-*.txt) Makefile bin/mk-faq
-       @rm -f $@
-       ./bin/mk-faq docs/faq-[0-9]-*txt >$@
-docs/faq.md: docs/faq.inc
-
 ######################################################################
 ##
 ##  Policy page building section
@@ -382,16 +389,12 @@ policies/glossary.html: $(GLOSSARY) bin/md-to-html5 policies/dirdata.yaml
 ##
 ##  $(SIMPLE) -- SIMPLE GENERATED FILES
 ##
-.PHONY: sitemap
+.PHONY:
 newsflash.inc: news/newsflash.inc
        @rm -f $@
        head -7 $< >$@
 index.md: newsflash.inc inc/legalities.md
 
-sitemap sitemap.txt: bin/mk-sitemap Makefile
-       @rm -f sitemap.txt
-       ./bin/mk-sitemap master $(SERIES) > sitemap.txt
-
 community/committers.inc: $(PERSONDB) bin/mk-committers Makefile
        @rm -f $@
        wget -q https://api.openssl.org/0/Group/commit/Members
@@ -401,6 +404,7 @@ community/committers.md: community/committers.inc
 
 community/otc.inc: $(PERSONDB) bin/mk-omc Makefile
        ./bin/mk-omc -n -p -t 'OTC Members' otc otc-inactive > $@
+community/otc.md: community/otc.inc
 community/omc.inc: $(PERSONDB) bin/mk-omc Makefile
        ./bin/mk-omc -n -e -l -p -t 'OMC Members' omc omc-inactive > $@
 community/omc.md: community/omc.inc
@@ -593,14 +597,14 @@ endef
 # We also create a list specifically for the old FIPS module, carefully
 # crafting an HTML title with an uppercase 'FIPS' while the subdirectory
 # remains named 'fips'
-$(foreach S,fips $(SERIES) $(OLDSERIES2),$(eval $(call mkoldsourceindex,$(S),$(patsubst fips,FIPS,$(S)))))
-$(foreach S,fips $(SERIES) $(OLDSERIES2),$(eval $(call mkoldsourcedirdata,$(S),$(patsubst fips,FIPS,$(S)))))
+$(foreach S,fips $(FUTURESERIES) $(SERIES) $(OLDSERIES2),$(eval $(call mkoldsourceindex,$(S),$(patsubst fips,FIPS,$(S)))))
+$(foreach S,fips $(FUTURESERIES) $(SERIES) $(OLDSERIES2),$(eval $(call mkoldsourcedirdata,$(S),$(patsubst fips,FIPS,$(S)))))
 
 source/old/index.md: source/old/index.md.tt inc/legalities.md \
                      Makefile bin/from-tt Makefile
        @mkdir -p `dirname $@`
        @rm -f $@
-       ./bin/from-tt releases='$(SERIES) $(OLDSERIES2) fips' $<
+       ./bin/from-tt releases='$(FUTURESERIES) $(SERIES) $(OLDSERIES2) fips' $<
 
 # Extra inc -> markdown dependencies