ifeq ($(DESTDIR),) XENO_CONFIG=xeno-config else XENO_CONFIG=$(DESTDIR)/bin/xeno-config endif prefix := $(shell DESTDIR=$(DESTDIR) $(XENO_CONFIG) --prefix) solibs := $(shell DESTDIR=$(DESTDIR) $(XENO_CONFIG) --libdir) ifeq ($(prefix),) $(error Please add /bin to your PATH variable or specify DESTDIR) endif TESTS := \ task-1 task-2 task-3 task-4 task-5 task-6 task-7 task-8 task-9 \ tm-1 tm-2 tm-3 tm-4 tm-5 tm-6 tm-7 \ mq-1 mq-2 mq-3 \ sem-1 sem-2 \ pt-1 \ rn-1 CFLAGS := $(shell DESTDIR=$(DESTDIR) $(XENO_CONFIG) --skin=psos --cflags) -g LDFLAGS := $(shell DESTDIR=$(DESTDIR) $(XENO_CONFIG) --skin=psos --ldflags) CC = $(shell DESTDIR=$(DESTDIR) $(XENO_CONFIG) --cc) all: $(TESTS) %: %.c $(CC) -o $@ $< $(CFLAGS) $(LDFLAGS) install: all install -d $(prefix)/testsuite/psos install -t $(prefix)/testsuite/psos $(TESTS) clean: $(RM) $(TESTS) *~ # Run the test suite. We pin all tests to CPU #0, so that SMP does not # alter the execution sequence we expect from them. test: all @for t in $(TESTS); do \ echo -n $$t...; \ sudo LD_LIBRARY_PATH=$(solibs) $(VALGRIND) ./$$t --cpu-affinity=0 --silent && echo ok || echo BAD; \ done test/%: % sudo LD_LIBRARY_PATH=$(solibs) $(VALGRIND) ./$(@F) --cpu-affinity=0 --silent && echo ok || echo BAD .PHONY: clean test