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);