diff options
Diffstat (limited to 'fw/Makefile')
| -rw-r--r-- | fw/Makefile | 55 |
1 files changed, 40 insertions, 15 deletions
diff --git a/fw/Makefile b/fw/Makefile index 12bb693..1c0fb95 100644 --- a/fw/Makefile +++ b/fw/Makefile @@ -1,38 +1,63 @@ CC = xc8-cc -INCLUDES = -I ./ -CFLAGS = -mcpu=pic16f1459 -std=c99 $(INCLUDES) -Wall +INCLUDES = -I. +CFLAGS = -mcpu=pic16f1459 -std=c99 -Wall $(INCLUDES) LDFLAGS = -SYSTEST_DIR = tests/system - HEX = can_gauge.hex - SRC = $(shell find . -maxdepth 1 -name "*.c" ! -name "main.c") - OBJ = $(notdir $(SRC:.c=.p1)) HDR = $(wildcard *.h) -SYSTEST_SRC = $(wildcard $(SYSTEST_DIR)/*.c) -SYSTEST_OBJ = $(notdir $(SYSTEST_SRC:.c=.p1)) -SYSTEST_HEX = $(SYSTEST_OBJ:.p1=.hex) - $(HEX): $(OBJ) main.p1 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ %.p1: %.c $(CC) $(CFLAGS) -c $< +$(OBJ): $(HDR) + + +SYSTEST_DIR = tests/system +SYSTEST_SRC = $(wildcard $(SYSTEST_DIR)/*.c) +SYSTEST_OBJ = $(notdir $(SYSTEST_SRC:.c=.p1)) +SYSTEST_HEX = $(SYSTEST_OBJ:.p1=.hex) + $(SYSTEST_HEX): %.hex: %.p1 $(OBJ) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(SYSTEST_OBJ): %.p1: $(SYSTEST_DIR)/%.c $(CC) $(CFLAGS) -c $< -clean: - rm -f *.hex *.d *.p1 *.lst *.rlf *.o *.s *.sdb *.sym *.hxl *.elf *.cmf - systest: $(SYSTEST_HEX) -$(OBJ): $(HDR) -.PHONY: clean systest +UTEST_DIR = tests/unit +UNITY_DIR = $(UTEST_DIR)/Unity/src +UTEST_CC = tcc +UTEST_INCLUDES = -I. -I $(UNITY_DIR) +UTEST_CFLAGS = -std=c99 -Wall $(UTEST_INCLUDES) +UTEST_LDFLAGS = +UTEST_BIN = $(basename $(wildcard $(UTEST_DIR)/*.c)) +UTEST_SRC = $(wildcard $(UTEST_DIR)/*.c) $(UNITY_DIR)/unity.c +UTEST_OBJ = $(UTEST_SRC:.c=.o) +UTEST_HDR = $(wildcard $(UTEST_DIR)/*.h) $(UNITY_DIR)/unity.h + +utest: $(UTEST_BIN) + for t in $^; do \ + $$t; \ + done + +$(UTEST_BIN): $(UTEST_OBJ) + $(UTEST_CC) $(UTEST_CFLAGS) $(UTEST_LDFLAGS) -o $@ $^ + +$(UTEST_OBJ): %.o: %.c + $(UTEST_CC) -c -o $@ $(UTEST_CFLAGS) $< + +$(UTEST_OBJ): $(UTEST_HDR) + + +clean: + rm -f *.hex *.d *.p1 *.lst *.rlf *.o *.s *.sdb *.sym *.hxl *.elf *.cmf \ + $(UTEST_OBJ) $(UTEST_BIN) + +.PHONY: clean systest utest |