2 # Copyright 2018 Nest Labs Inc. All Rights Reserved.
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
19 # This file is the make footer for nlbuild-autotools bootstrap
20 # convenience targets.
23 # The following targets provide some convenience targets for bootstrapping
24 # the GNU autotools-based build system used by this package.
26 all check coverage dist distcheck doc docdist install install-headers pretty pretty-check: Makefile
28 $(MAKE) -f $(<) --no-print-directory $(@)
30 Makefile: $(top_srcdir)/Makefile.in $(top_srcdir)/configure
31 $(NL_V_PROGRESS_CONFIGURE)
32 $(top_srcdir)/configure
34 $(top_srcdir)/configure: $(top_srcdir)/configure.ac
35 $(NL_V_PROGRESS_BOOTSTRAP_CONFIG)
36 $(BOOTSTRAP) -w config
38 Makefile.in: Makefile.am
39 $(NL_V_PROGRESS_BOOTSTRAP_MAKE)
44 $(NL_V_PROGRESS_BOOTSTRAP_ALL)
47 .PHONY: bootstrap-config
49 $(NL_V_PROGRESS_BOOTSTRAP_CONFIG)
50 $(BOOTSTRAP) -w config
52 .PHONY: bootstrap-make
54 $(NL_V_PROGRESS_BOOTSTRAP_MAKE)
57 define PrintBootstrapHelp
59 $(NL_V_AT)echo " Generate all configured build artifacts for this project."
61 $(NL_V_AT)echo " bootstrap"
62 $(NL_V_AT)echo " (Re-)generate all build infrastructure for the project, "
63 $(NL_V_AT)echo " including both build configuration scripts and makefiles."
65 $(NL_V_AT)echo " bootstrap-all"
66 $(NL_V_AT)echo " (Re-)generate all build infrastructure for the project, "
67 $(NL_V_AT)echo " including both build configuration scripts and makefiles."
69 $(NL_V_AT)echo " bootstrap-config"
70 $(NL_V_AT)echo " (Re-)generate build configuration scripts for the project."
72 $(NL_V_AT)echo " bootstrap-make"
73 $(NL_V_AT)echo " (Re-)generate build makefiles for the project."
75 $(NL_V_AT)echo " check"
76 $(NL_V_AT)echo " Generate all configured build artifacts and run all unit "
77 $(NL_V_AT)echo " and functional tests for this project."
79 $(NL_V_AT)echo " coverage"
80 $(NL_V_AT)echo " Generate all configured build artifacts, run all unit "
81 $(NL_V_AT)echo " and functional tests, and generate code coverage results "
82 $(NL_V_AT)echo " for this project."
84 $(NL_V_AT)echo " dist"
85 $(NL_V_AT)echo " Generate an archive distribution snapshot for this project."
87 $(NL_V_AT)echo " distcheck"
88 $(NL_V_AT)echo " Generate an archive distribution snapshot for this project "
89 $(NL_V_AT)echo " and sanity check the resulting distribution by running "
90 $(NL_V_AT)echo " 'make check' on it for this project."
93 $(NL_V_AT)echo " Generate documentation for the project."
95 $(NL_V_AT)echo " docdist"
96 $(NL_V_AT)echo " Generate an archive distribution of the documentation for "
97 $(NL_V_AT)echo " the project."
99 $(NL_V_AT)echo " install"
100 $(NL_V_AT)echo " Generate all configured build artifacts for this project "
101 $(NL_V_AT)echo " and install them in DESTDIR on the build host system."
103 $(NL_V_AT)echo " install-headers"
104 $(NL_V_AT)echo " Generate all configured public header artifacts for this "
105 $(NL_V_AT)echo " project and install them in DESTDIR on the build host "
106 $(NL_V_AT)echo " system."
108 $(NL_V_AT)echo " pretty"
109 $(NL_V_AT)echo " (Re-)format a collection of project source files."
111 $(NL_V_AT)echo " pretty-check"
112 $(NL_V_AT)echo " Check but do not (re-)format a collection of project "
113 $(NL_V_AT)echo " source files."
115 $(NL_V_AT)echo " Makefile"
116 $(NL_V_AT)echo " Run 'configure' for this project and generate the"
117 $(NL_V_AT)echo " host-specific makefile."
119 endef # PrintBootstrapHelp
121 .PHONY: help-bootstrap-local
122 help-bootstrap-local:
123 $(call PrintBootstrapHelp)
125 .PHONY: help-bootstrap-hook
126 help-bootstrap-hook: help-bootstrap-local
128 .PHONY: help-bootstrap
129 help-bootstrap: help-bootstrap-local help-bootstrap-hook