From d4791a75ce8c4adbb7fbbce0c0aa6dd533d4cc91 Mon Sep 17 00:00:00 2001 From: Denis Drakhnya Date: Thu, 26 Nov 2020 16:44:41 +0200 Subject: [PATCH] Add color output. --- Makefile | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index a8c5e18..a1c4e7c 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,11 @@ PORT := 1234 CHECK := diff -q MKDIR_P := mkdir -p +ECHO := echo -e +NC := \033[0m +RED := \033[0;31m +GREEN := \033[0;32m +YELLOW := \033[1;33m CC := lcc CFLAGS := -nostdlib @@ -25,30 +30,46 @@ executables := $(addprefix build/,$(tests)) logs := $(addprefix build/,$(addsuffix .log,$(tests))) checks := $(addprefix check-,$(tests)) -.PHONY: all logs test mkdirs clean clean-logs $(checks) +.PHONY: all build logs test gen-test mkdirs clean clean-logs $(checks) all: logs +build: mkdirs $(executables) + logs: mkdirs $(logs) +gen-test: clean-logs logs test + test: mkdirs $(checks) mkdirs: - $(MKDIR_P) build + @$(MKDIR_P) build clean: clean-logs - $(RM) $(executables) + @$(RM) $(executables) clean-logs: - $(RM) $(logs) + @$(RM) $(logs) $(executables): build/%: src/%.s - $(CC) $(CFLAGS) -o $@ $< + @$(ECHO) " $(GREEN)build $(NC)$*" + @$(CC) $(CFLAGS) -o $@ $< $(logs): build/%.log: build/% src/%.gdb - $(GDB_SERVER) $(GDB_SERVER_ARGS) $< & - $(GDB) $(GDB_ARGS) -ex 'file $<' $(GDB_BPS) \ + @$(ECHO) " $(GREEN)gen $(NC)$*.log" + @$(GDB_SERVER) $(GDB_SERVER_ARGS) $< &> /dev/null & + @$(GDB) $(GDB_ARGS) -ex 'file $<' $(GDB_BPS) \ -ex 'target remote :$(PORT)' -x src/$*.gdb > $@ +.ONESHELL: $(checks): check-%: build/%.log src/%.log - $(CHECK) $^ + @$(ECHO) -n " $(GREEN)check $(NC)$*" + $(CHECK) $^ &> /dev/null + if [ $$? -eq 0 ] + then + $(ECHO) " $(GREEN)OK!$(NC)" + true + else + $(ECHO) " $(RED)FAIL!$(NC)" + false + fi