diff --git a/Makefile b/Makefile index aaacac019d4c700c80097fc0802b55abb2d58fac..6496bf21a3cba9aed9e4dc2febe680387c5c9bfa 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,9 @@ SOURCES = $(shell ls *.c 2> /dev/null | sed /sem.c/d | sed /jbuffer.c/d) BINS = $(SOURCES:%.c=%) OUT = bin +# supported targets all clean dev +# (dev sets -DDEV used in log.c) + # $@ := target name # $^ := dependencie list @@ -13,6 +16,9 @@ OUT = bin all: $(OUT) $(BINS:%=$(OUT)/%) Zettel.html +dev: CFLAGS += -DDEV +dev: all + $(OUT): mkdir -p $(OUT) @@ -38,4 +44,4 @@ $(OUT)/sem.o: sem.h clean: rm -rf $(OUT) Zettel.html Readme.md -.PHONY: all clean +.PHONY: all clean dev diff --git a/log.c b/log.c new file mode 100644 index 0000000000000000000000000000000000000000..b270b51d2a87a81e48efaa6c3e57baf8f04ef9c1 --- /dev/null +++ b/log.c @@ -0,0 +1,44 @@ +#include <stdio.h> +#include <stdlib.h> + +#define DIE(msg) \ + fprintf(stderr, "ERROR: %s:%s:%d: ", __FILE__, __func__, __LINE__); \ + perror(msg); \ + exit(EXIT_FAILURE); + +#define DIE_M(msg) \ + fprintf(stderr, "ERROR: %s:%s:%d: ", __FILE__, __func__, __LINE__); \ + fprintf(stderr, "%s\n", msg); \ + exit(EXIT_FAILURE); + +#ifdef DEV + +#define WARN(msg) \ + fprintf(stderr, "WARN: %s:%s:%d: ", __FILE__, __func__, __LINE__); \ + perror(msg); + +#define WARN_M(msg) \ + fprintf(stderr, "WARN: %s:%s:%d: ", __FILE__, __func__, __LINE__); \ + fprintf(stderr, "%s\n", msg); + + +/** debug info + perror goes to stderr to seperate from program output */ +#define INFO(msg) \ + fprintf(stderr, "INFO: %s:%s:%d: ", __FILE__, __func__, __LINE__); \ + perror(msg); + +/** debug info goes to stderr to seperate from program output */ +#define INFO_M(msg) \ + fprintf(stderr, "INFO: %s:%s:%d: ", __FILE__, __func__, __LINE__); \ + fprintf(stderr, "%s\n", msg); +#else +#define WARN(msg) +#define WARN_M(msg) +#define INFO(msg) +#define INFO_M(msg) +#endif + +int main() { + INFO("inf"); + DIE_M("test"); +} \ No newline at end of file diff --git a/sscanf.c b/sscanf.c index 855058ff2fd794d95053dd87f8aca0d0ee598642..64e784716217ecf7d88a7bc6dda0b124771dafed 100644 --- a/sscanf.c +++ b/sscanf.c @@ -13,4 +13,4 @@ int main() { if(res != 4) printf("err:%d\n", res); printf("Host:%s\nPath:%s\n%s:%d\n", host, path, var, version); -} \ No newline at end of file +}