1 | # |
2 | # Copyright (C) 2006-2007 OpenWrt.org |
3 | # |
4 | # This is free software, licensed under the GNU General Public License v2. |
5 | # See /LICENSE for more information. |
6 | # |
7 | |
8 | ifneq ($(__prereq_inc),1) |
9 | __prereq_inc:=1 |
10 | |
11 | prereq: |
12 | if [ -f $(TMP_DIR)/.prereq-error ]; then \ |
13 | echo; \ |
14 | cat $(TMP_DIR)/.prereq-error; \ |
15 | rm -f $(TMP_DIR)/.prereq-error; \ |
16 | echo; \ |
17 | false; \ |
18 | fi |
19 | |
20 | .SILENT: prereq |
21 | endif |
22 | |
23 | define Require |
24 | export PREREQ_CHECK=1 |
25 | ifeq ($$(CHECK_$(1)),) |
26 | prereq: prereq-$(1) |
27 | |
28 | prereq-$(1): FORCE |
29 | echo -n "Checking '$(1)'... " |
30 | if $(NO_TRACE_MAKE) -f $(firstword $(MAKEFILE_LIST)) check-$(1) >/dev/null 2>/dev/null; then \ |
31 | echo 'ok.'; \ |
32 | else \ |
33 | echo 'failed.'; \ |
34 | echo -e "$(PKG_NAME): $(strip $(2))" | perl -ne 's/\\\s*/\n/g,print' >> $(TMP_DIR)/.prereq-error; \ |
35 | fi |
36 | |
37 | check-$(1): FORCE |
38 | $(call Require/$(1)) |
39 | CHECK_$(1):=1 |
40 | |
41 | .SILENT: prereq-$(1) check-$(1) |
42 | endif |
43 | endef |
44 | |
45 | |
46 | define RequireCommand |
47 | define Require/$(1) |
48 | which $(1) |
49 | endef |
50 | |
51 | $$(eval $$(call Require,$(1),$(2))) |
52 | endef |
53 | |
54 | define RequireHeader |
55 | define Require/$(1) |
56 | [ -e "$(1)" ] |
57 | endef |
58 | |
59 | $$(eval $$(call Require,$(1),$(2))) |
60 | endef |
61 | |
62 | .NOTPARALLEL: |
63 | |