X-Git-Url: https://git.openssl.org/gitweb/?p=openssl-web.git;a=blobdiff_plain;f=Makefile;h=49b9845a8f8b14a69c6eb28dd505ebf5f2286b36;hp=8d641b15d70bdf67f277285e5aefd8e489b19f48;hb=HEAD;hpb=b7519f65f435b99f8bf8102c7a1054af3b9871aa diff --git a/Makefile b/Makefile index 8d641b1..f799720 100644 --- 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