]> git.donarmstrong.com Git - qmk_firmware.git/blob - tests/Makefile
Use cgreen test runner instead of executables
[qmk_firmware.git] / tests / Makefile
1 CC = gcc
2 CFLAGS  = 
3 INCLUDES = -I.
4 LDFLAGS = -L$(BUILDDIR)/cgreen/build-c/src -shared
5 LDLIBS = -lcgreen
6 UNITOBJ = $(BUILDDIR)/serialtest/unitobj
7 DEPDIR = $(BUILDDIR)/serialtest/unit.d
8 UNITTESTS = $(BUILDDIR)/serialtest/unittests
9 DEPFLAGS = -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Td
10 EXT = .so
11 UNAME := $(shell uname)
12 ifneq (, $(findstring MINGW, $(UNAME)))
13         EXT = .dll
14 endif
15 ifneq (, $(findstring CYGWIN, $(UNAME)))
16         EXT = .dll
17 endif
18         
19 SRC = $(wildcard *.c)
20 TESTFILES = $(patsubst %.c, $(UNITTESTS)/%$(EXT), $(SRC))
21 $(shell mkdir -p $(DEPDIR) >/dev/null)
22
23 test: $(TESTFILES)
24         @$(BUILDDIR)/cgreen/build-c/tools/cgreen-runner --color $(TESTFILES)
25
26 $(UNITTESTS)/%$(EXT): $(UNITOBJ)/%.o
27         mkdir -p $(UNITTESTS)
28         $(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)
29
30 $(UNITOBJ)/%.o : %.c
31 $(UNITOBJ)/%.o: %.c $(DEPDIR)/%.d
32         mkdir -p $(UNITOBJ)
33         $(CC) $(CFLAGS) $(DEPFLAGS) -c $< -o $@
34         mv -f $(DEPDIR)/$*.Td $(DEPDIR)/$*.d
35         
36 $(DEPDIR)/%.d: ;
37 .PRECIOUS: $(DEPDIR)/%.d
38
39 -include $(patsubst %,$(DEPDIR)/%.d,$(basename $(SRC).c))