From d3fddd7d28f314a6738f2a0ba4d9f58024b01984 Mon Sep 17 00:00:00 2001 From: Oxore Date: Thu, 12 Jul 2018 11:51:00 +0300 Subject: Introduce testing with munit, refactor Split unicode routines from text. Testing: add munit submodule, move translation units with main functions to separate folder, make corresponding changes in Makefile. Make simple test for unicode handling routine. Remove _vimrc_local. test.c: optimize includes. Add test run to .travis.yml. --- Makefile | 48 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 38 insertions(+), 10 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 9622c0a..f9a15a3 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,23 @@ Q=@ QQ=@ -TARGET:=tetris +TARGET_TETRIS:=tetris +TARGET_TEST:=test +MUNIT:=deps/munit + +ifeq ($(wildcard $(MUNIT)/*),) +NOTEST=1 +endif -BUILD:=build SRC:=src +BUILD:=build +TARGET:=$(BUILD)/target SOURCES:=$(wildcard $(SRC)/*.c) OBJECTS:=$(SOURCES:$(SRC)/%.c=$(BUILD)/%.c.o) DEPENDS:=$(OBJECTS:.o=.d) INCLUDE+=include +INCLUDE+=$(MUNIT) INCLUDE:=$(INCLUDE:%=-I%) #COMMON+=-fsanitize=address @@ -27,25 +35,44 @@ CFLAGS+=-O0 CFLAGS+=-MD LDFLAGS+=$(COMMON) -LDFLAGS+=-lcsfml-graphics -LDFLAGS+=-lcsfml-window -LDFLAGS+=-lcsfml-system -LDFLAGS+=-lyaml + +LDFLAGS_TETRIS+=$(LDFLAGS) +LDFLAGS_TETRIS+=-lcsfml-graphics +LDFLAGS_TETRIS+=-lcsfml-window +LDFLAGS_TETRIS+=-lcsfml-system +LDFLAGS_TETRIS+=-lyaml + +LDFLAGS_TEST+=$(LDFLAGS) #====================================================================== all: all: $(TARGET) +all: $(TARGET_TETRIS) +ifndef NOTEST +all: $(TARGET_TEST) +endif -$(TARGET): $(OBJECTS) +$(TARGET_TETRIS): $(OBJECTS) $(TARGET)/$(TARGET_TETRIS).c.o $(QQ) echo " LD $@" - $(Q) $(CC) -o $@ $^ $(LDFLAGS) + $(Q) $(CC) -o $@ $^ $(LDFLAGS_TETRIS) + +$(TARGET_TEST): $(TARGET)/$(TARGET_TEST).c.o $(MUNIT)/munit.c.o $(BUILD)/unicode.c.o + $(QQ) echo " LD $@" + $(Q) $(CC) -o $@ $^ $(LDFLAGS_TEST) $(DEPENDS): | $(BUILD) $(OBJECTS): | $(BUILD) $(BUILD): - $(Q) mkdir -p $(BUILD) + $(Q) mkdir -p $@ + +$(TARGET): + $(Q) mkdir -p $@ + +$(MUNIT)/munit.c.o: $(MUNIT)/munit.c + $(QQ) echo " CC $@" + $(Q) $(CC) -c $(CFLAGS) -o $@ $< $(BUILD)/%.c.o: $(SRC)/%.c $(QQ) echo " CC $@" @@ -54,6 +81,7 @@ $(BUILD)/%.c.o: $(SRC)/%.c -include $(DEPENDS) clean: - $(Q) $(RM) -rfv $(TARGET) $(BUILD) + $(Q) $(RM) -rfv $(TARGET_TETRIS) $(TARGET_TEST) $(BUILD) + $(Q) $(RM) -rfv $(MUNIT)/*.d $(MUNIT)/*.o .PHONY: all clean -- cgit v1.2.3