File: Makefile.in

package info (click to toggle)
sdcc 4.2.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 105,232 kB
  • sloc: ansic: 956,095; cpp: 110,511; makefile: 59,314; sh: 29,875; asm: 17,178; perl: 12,136; yacc: 7,480; lisp: 1,672; python: 907; lex: 805; awk: 498; sed: 89
file content (54 lines) | stat: -rw-r--r-- 1,364 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
.SILENT:

PYTHON       = @PYTHON@
VPATH        = @srcdir@
srcdir       = @srcdir@
top_srcdir   = @top_srcdir@
top_builddir = @top_builddir@

TESTS_DIR = $(srcdir)/tests
RESULTS_DIR = results
PORTS_DIR = $(srcdir)/ports
BUILD_DIR = gen
ALL_PORTS = mcs51 mcs51-large mcs51-stack-auto ds390 z80 z180 r2k sm83 tlcs90 hc08 s08 mos6502 stm8 pdk13 pdk14 pdk15

ALL_TESTS = $(shell find $(TESTS_DIR) -name "*.c")

PORT_RESULTS_DIR = $(RESULTS_DIR)/$(PORT)
PORT_RESULTS = $(ALL_TESTS:$(TESTS_DIR)/%.c=$(PORT_RESULTS_DIR)/%.out)
PORT_BUILD_DIR = $(BUILD_DIR)/$(PORT)

all: test-ports

test-ports:
	for i in $(ALL_PORTS); do $(MAKE) test-port PORT=$$i; done

test-mcs51:
	$(MAKE) test-port PORT=mcs51

test-port: port-results

clean: clean-gen
	rm -rf $(RESULTS_DIR) *.pyc
	rm -rf $(BUILD_DIR)

distclean: clean
	rm -r Makefile

clean-gen:	
	for i in $(ALL_PORTS); do $(MAKE) clean-port PORT=$$i; done

clean-port:
	rm -rf $(PORT_BUILD_DIR)

$(PORT_RESULTS_DIR)/%.out: $(TESTS_DIR)/%.c port-dirs
	$(PYTHON) $(srcdir)/valdiag.py $(PORT) $< $(PORT_BUILD_DIR)/$* $(srcdir)/../../device/include > $@
	grep FAIL $@ ; true
	cat $@ | $(PYTHON) $(srcdir)/../regression/compact-results.py

port-results: port-dirs $(PORT_RESULTS)
	cat $(PORT_RESULTS) | $(PYTHON) $(srcdir)/../regression/collate-results.py $(PORT)

port-dirs:
	mkdir -p $(PORT_RESULTS_DIR)
	mkdir -p $(PORT_BUILD_DIR)