diff --git a/Makefile b/Makefile index 21c1b3208..54cdb53de 100644 --- a/Makefile +++ b/Makefile @@ -4,16 +4,27 @@ ifneq ($(SILENT),s) $(info Using Makefile: $(realpath $(firstword $(MAKEFILE_LIST))) $(MAKECMDGOALS)) endif -.PHONY: all mostlyclean clean install zip avail unavail bin lib doc html info samples test util checkstyle check +.PHONY: all mostlyclean clean install zip avail unavail bin lib doc html info samples test util checkstyle check checkprefix .SUFFIXES: -all install zip: - @$(MAKE) -C src --no-print-directory $@ - @$(MAKE) -C libsrc --no-print-directory $@ - @$(MAKE) -C doc --no-print-directory $@ - @$(MAKE) -C util --no-print-directory $@ - @$(MAKE) -C samples --no-print-directory $@ +all zip: + @$(MAKE) -C src --no-print-directory $@ + @$(MAKE) -C libsrc --no-print-directory $@ + @$(MAKE) -C doc --no-print-directory $@ + @$(MAKE) -C util --no-print-directory $@ + @$(MAKE) -C samples --no-print-directory $@ + @$(MAKE) checkprefix --no-print-directory + +install: +ifndef PREFIX + $(error Error: PREFIX must be set for install to work) +endif + @$(MAKE) -C src --no-print-directory $@ + @$(MAKE) -C libsrc --no-print-directory $@ + @$(MAKE) -C doc --no-print-directory $@ + @$(MAKE) -C util --no-print-directory $@ + @$(MAKE) -C samples --no-print-directory $@ mostlyclean clean: @$(MAKE) -C src --no-print-directory $@ @@ -24,26 +35,39 @@ mostlyclean clean: @$(MAKE) -C test --no-print-directory $@ @$(MAKE) -C targettest --no-print-directory $@ -avail unavail bin: - @$(MAKE) -C src --no-print-directory $@ +avail unavail: +# FIXME: actually not true, PREFIX is ignored? +#ifndef PREFIX +# $(error Error: PREFIX must be set for avail/unavail to work) +#endif + @$(MAKE) -C src --no-print-directory $@ + +bin: + @$(MAKE) -C src --no-print-directory $@ + @$(MAKE) checkprefix --no-print-directory lib libtest: - @$(MAKE) -C libsrc --no-print-directory $@ + @$(MAKE) -C libsrc --no-print-directory $@ doc html info: - @$(MAKE) -C doc --no-print-directory $@ + @$(MAKE) -C doc --no-print-directory $@ samples: - @$(MAKE) -C samples --no-print-directory $@ + @$(MAKE) -C samples --no-print-directory $@ util: - @$(MAKE) -C util --no-print-directory $@ + @$(MAKE) -C util --no-print-directory $@ %65: - @$(MAKE) -C src --no-print-directory $@ + @$(MAKE) -C src --no-print-directory $@ %: - @$(MAKE) -C libsrc --no-print-directory $@ + @$(MAKE) -C libsrc --no-print-directory $@ + +checkprefix: +ifndef PREFIX + $(warning Warning: PREFIX is empty - make install will not work) +endif # check the code style checkstyle: diff --git a/src/Makefile b/src/Makefile index bdeaf4bc9..366e50183 100644 --- a/src/Makefile +++ b/src/Makefile @@ -101,6 +101,11 @@ ifdef CROSS_COMPILE endif all bin: $(PROGS) +ifeq ($(MAKELEVEL),0) +ifndef PREFIX + $(warning Warning: PREFIX is empty - make install will not work) +endif +endif mostlyclean: $(call RMDIR,../wrk)