a_star: don't crash on deserialization errors and limit static types
[nit.git] / Makefile
index 53c1687..3ca637e 100644 (file)
--- a/Makefile
+++ b/Makefile
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-NITCOPT=
+
+contrib_dir = ./contrib
+examples_dir = ./examples
+all_contribs = $(dir $(wildcard $(contrib_dir)/*/Makefile))
 
 # Additional program directories (contrib and examples) that are buildable
-PROGS=$(dir $(wildcard examples/*/Makefile contrib/*/Makefile))
+extras = $(filter-out $(contrib_dir)/nitc/,$(all_contribs))
+extras += $(dir $(wildcard $(examples_dir)/*/Makefile))
 
 all: tools man
        @echo ""
@@ -29,7 +33,9 @@ all: tools man
 #
 # Furthermore, build the toolchain’s `man` pages.
 full: all
-       for m in $(PROGS); do $(MAKE) -C "$$m" || exit 1; done
+       for directory in $(extras); do \
+               (cd "$${directory}" && $(MAKE)) || exit 1; \
+       done
 
 docs: doc/stdlib/index.html doc/nitc/index.html
 
@@ -82,6 +88,6 @@ clean:
        cd src; make clean
        cd tests; make clean
        cd share/man; make clean
-       for m in $(PROGS); do \
-               $(MAKE) clean -C "$$m"; \
-               done || true
+       for directory in $(extras); do \
+               (cd "$$directory" && $(MAKE) clean); \
+       done