diff options
author | Jonas Gunz <himself@jonasgunz.de> | 2021-06-01 23:49:13 +0200 |
---|---|---|
committer | Jonas Gunz <himself@jonasgunz.de> | 2021-06-01 23:49:13 +0200 |
commit | 1418d5cc62f2f888aed5c033fa3fd9f50eb67235 (patch) | |
tree | a6300c63f2361b01c259fb104b33007b24473488 /Makefile | |
parent | 7941b3f57d39db8eef93bd75bc62d49da33824fb (diff) | |
download | dns-1418d5cc62f2f888aed5c033fa3fd9f50eb67235.tar.gz |
Add Check framework for unit tests
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 25 |
1 files changed, 18 insertions, 7 deletions
@@ -4,13 +4,18 @@ LDFLAGS = -lm BUILDDIR = build SOURCEDIR = src OBJECTDIR = obj +TESTDIR = tests -OUTPUT = dns +OUTPUT = dnsd SRCS = $(wildcard $(SOURCEDIR)/*.c) OBJS = $(SRCS:.c=.o) OBJ = $(OBJS:$(SOURCEDIR)/%=$(OBJECTDIR)/%) +TESTS = $(wildcard $(TESTDIR)/*.c) +TOBJS = $(TESTS:.c=.o) +TSUBS = $(filter-out $(OBJECTDIR)/main.o,$(OBJ)) + build: dir $(OBJ) @echo [LD] $(OBJ) @$(CC) $(CFLAGS) -o $(BUILDDIR)/$(OUTPUT) $(OBJ) $(LDFLAGS) @@ -18,9 +23,11 @@ build: dir $(OBJ) debug: CFLAGS += -g -D _DEBUG debug: build; -test: CFLAGS += -D _TEST -test: clean debug - $(BUILDDIR)/$(OUTPUT) +test: LDFLAGS += -lcheck +test: clean dir $(TOBJS) $(TSUBS) + @echo [LD] $(TOBJS) $(TSUBS) + @$(CC) $(CFLAGS) -I $(SOURCEDIR) -o $(TESTDIR)/run $(TOBJS) $(TSUBS) $(LDFLAGS) + @$(TESTDIR)/run dir: @mkdir -p $(OBJECTDIR) @@ -30,6 +37,10 @@ $(OBJECTDIR)/%.o: $(SOURCEDIR)/%.c @echo [CC] $< @$(CC) $(CFLAGS) -c $< -o $@ +$(TESTDIR)/%.o: $(TESTDIR)/%.c + @echo [TEST] $< + @$(CC) $(CFLAGS) -I $(SOURCEDIR) -c $< -o $@ + #sudo setcap 'cap_net_bind_service=+ep' /path/to/prog #to allow port access run: build @@ -37,9 +48,9 @@ run: build .PHONY: clean clean: - @echo [RM] $(OBJ) - @echo [RM] $(BUILDDIR)/$(OUTPUT) - @rm -df $(OBJ) + @echo [RM] $(OBJ) $(TOBJS) + @echo [RM] $(BUILDDIR)/$(OUTPUT) $(TESTDIR)/run + @rm -df $(OBJ) $(TOBJS) $(TESTDIR)/run @rm -Rdf $(BUILDDIR) $(OBJECTDIR) .PHONY: all |