From 572bee19cca7f734cc1afc7c27b5883519d956f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Lov=C3=A9n?= Date: Thu, 7 Dec 2017 12:59:01 +0100 Subject: [PATCH] Add ability to disable debug printing and gdb symbols --- src/kernel/Makefile | 5 +++++ src/kernel/boot/kmain.c | 4 ++-- src/kernel/include/debug.h | 4 ++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/kernel/Makefile b/src/kernel/Makefile index 1e0a5cf..111a704 100644 --- a/src/kernel/Makefile +++ b/src/kernel/Makefile @@ -7,8 +7,13 @@ OBJ := $(patsubst %, %.o, $(basename $(SRC))) CFLAGS ?= -Wall -Wextra -pedantic CFLAGS += -ffreestanding -mcmodel=large +ifndef NDEBUG CFLAGS += -ggdb -O0 ASFLAGS += -ggdb +else +CFLAGS += -O3 -mno-sse +CPPFLAGS += -DNDEBUG +endif CPPFLAGS += -I include LDFLAGS := -n -nostdlib -lgcc -T Link.ld diff --git a/src/kernel/boot/kmain.c b/src/kernel/boot/kmain.c index 60d4a80..9dcecdf 100644 --- a/src/kernel/boot/kmain.c +++ b/src/kernel/boot/kmain.c @@ -8,8 +8,8 @@ void kmain() serial_init(PORT_COM1); vga_init(); - debug_printf("Hello from debug printing function!\n"); - debug_printf("A number:%d\n", 12345); + debug("Hello from debug printing function!\n"); + debug("A number:%d\n", 12345); for(;;); } diff --git a/src/kernel/include/debug.h b/src/kernel/include/debug.h index 6c8191e..f3eba18 100644 --- a/src/kernel/include/debug.h +++ b/src/kernel/include/debug.h @@ -2,7 +2,11 @@ #include #include +#ifndef NDEBUG #define debug(...) debug_printf(__VA_ARGS__) +#else +#define debug(...) +#endif void debug_putch(char c); void debug_putsn(char *s, size_t n);