DESTDIR ?= $(ROOT)/dist
PREFIX ?= $(ROOT)
+# Programs used
+CC ?= $(CROSS_COMPILE)gcc
+CPP ?= $(CC) -E
+INSTALL ?= install
+INSTALL_DATA ?= $(INSTALL) -m 644
+INSTALL_PROGRAM ?= $(INSTALL)
+LD ?= $(CROSS_COMPILE)ld
+OBJCOPY ?= $(CROSS_COMPILE)objcopy
+PYTHON ?= python
+
+export CC CPP INSTALL INSTALL_DATA INSTALL_PROGRAM LD OBJCOPY PYTHON
+
.PHONY: all
all:
@set -e; for D in $(wildcard tests/*); do \
.PHONY: install
install:
@mkdir -p $(DESTDIR)
- install -m775 xtf-runner $(DESTDIR)
+ $(INSTALL_PROGRAM) -p xtf-runner $(DESTDIR)
@set -e; for D in $(wildcard tests/*); do \
[ ! -e $$D/Makefile ] && continue; \
$(MAKE) -C $$D install; \
DESTDIR ?= $(ROOT)/dist
PREFIX ?= $(ROOT)
-CC ?= gcc
-OBJCOPY ?= objcopy
ALL_CATEGORIES := special functional xsa utility
# Generate .lds with approprate flags
%/link-$(1).lds: %/link.lds.S
- $$(CC) -E $$(AFLAGS_$(1)) -P -C $$< -o $$@
+ $$(CPP) $$(AFLAGS_$(1)) -P -C $$< -o $$@
# Generate a per-arch .o from .S
%-$($(1)_arch).o: %.S
build: test-info.json
test-info.json: $(ROOT)/build/mkinfo.py FORCE
- @python $< $@.tmp "$(NAME)" "$(CATEGORY)" "$(TEST-ENVS)"
+ @$(PYTHON) $< $@.tmp "$(NAME)" "$(CATEGORY)" "$(TEST-ENVS)"
@if ! cmp -s $@ $@.tmp; then mv -f $@.tmp $@; else rm -f $@.tmp; fi
.PHONY: install install-each-env
install: install-each-env test-info.json
@mkdir -p $(DESTDIR)/tests/$(NAME)
- install -m664 -p test-info.json $(DESTDIR)/tests/$(NAME)
+ $(INSTALL_DATA) -p test-info.json $(DESTDIR)/tests/$(NAME)
define PERENV_build
.PHONY: install-$(1) install-$(1).cfg
install-$(1): test-$(1)-$(NAME)
@mkdir -p $(DESTDIR)/tests/$(NAME)
- install -m775 -p $$< $(DESTDIR)/tests/$(NAME)
+ $(INSTALL_PROGRAM) -p $$< $(DESTDIR)/tests/$(NAME)
install-$(1).cfg: test-$(1)-$(NAME).cfg
@mkdir -p $(DESTDIR)/tests/$(NAME)
- install -m664 -p $$< $(DESTDIR)/tests/$(NAME)
+ $(INSTALL_DATA) -p $$< $(DESTDIR)/tests/$(NAME)
install-each-env: install-$(1) install-$(1).cfg