]> git.donarmstrong.com Git - qmk_firmware.git/blob - tests/Makefile
239e9f60934148af8c1c69e872abf2764bce2271
[qmk_firmware.git] / tests / Makefile
1 CC = gcc
2 CFLAGS  = 
3 INCLUDES = -I.
4 LDFLAGS = -L$(BUILDDIR)/cgreen/build-c/src
5 LDLIBS = -lcgreen
6 UNITOBJ = $(BUILDDIR)/testserial/unitobj
7 DEPDIR = $(BUILDDIR)/testserial/unit.d
8 UNITEXE = $(BUILDDIR)/testserial/unitexe
9 DEPFLAGS = -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Td
10 EXT = 
11 UNAME := $(shell uname)
12 ifneq (, $(findstring mingw, $(UNAME)))
13         EXT += exe
14 endif
15 ifneq (, $(findstring cygwin, $(UNAME)))
16         EXT += exe
17 endif
18         
19 SRC = $(wildcard *.c)
20 EXE = $(patsubst %.c, $(UNITEXE)/%$(EXT), $(SRC))
21 $(shell mkdir -p $(DEPDIR) >/dev/null)
22
23 test: $(EXE)
24         @for f in $^; do \
25         echo "++++++++++++++++++"; \
26         echo "Running unit tests"; \
27         echo $$(basename $$f); \
28         echo "++++++++++++++++++"; \
29         echo ""; \
30         $$f || exit 1; \
31         echo ""; \
32         echo "******************"; \
33         echo ""; \
34         done
35
36 $(UNITEXE)/%$(EXT): $(UNITOBJ)/%.o
37         mkdir -p $(UNITEXE)
38         $(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)
39
40 $(UNITOBJ)/%.o : %.c
41 $(UNITOBJ)/%.o: %.c $(DEPDIR)/%.d
42         mkdir -p $(UNITOBJ)
43         $(CC) $(CFLAGS) $(DEPFLAGS) -c $< -o $@
44         mv -f $(DEPDIR)/$*.Td $(DEPDIR)/$*.d
45         
46 $(DEPDIR)/%.d: ;
47 .PRECIOUS: $(DEPDIR)/%.d
48
49 -include $(patsubst %,$(DEPDIR)/%.d,$(basename $(SRC).c))