diff --git a/Makefile.example b/Makefile.example index e5c6d694..365fdb54 100644 --- a/Makefile.example +++ b/Makefile.example @@ -1,45 +1,46 @@ -TOPDIR = $(shell pwd) +TOPDIR := $(shell pwd) ARCH = x86 NAME = metalsvm LWIPDIRS = lwip/src/arch lwip/src/api lwip/src/core lwip/src/core/ipv4 lwip/src/netif DRIVERDIRS = drivers/net drivers/char KERNDIRS = libkern kernel mm fs apps arch/$(ARCH)/kernel arch/$(ARCH)/mm arch/$(ARCH)/scc $(LWIPDIRS) $(DRIVERDIRS) SUBDIRS = $(KERNDIRS) -STACKPROT=-fno-stack-protector +STACKPROT = -fno-stack-protector # Set your own cross compiler tool chain prefix here -CROSSCOMPREFIX= +CROSSCOMPREFIX = # Uncomment both lines if compiling for the SCC! -#CROSSCOMPREFIX=i386-unknown-linux-gnu- -#STACKPROT= +#CROSSCOMPREFIX = i386-unknown-linux-gnu- +#STACKPROT = -CC_FOR_TARGET=$(CROSSCOMPREFIX)gcc -CXX_FOR_TARGET=$(CROSSCOMPREFIX)g++ -GCC_FOR_TARGET=$(CROSSCOMPREFIX)gcc -AR_FOR_TARGET=$(CROSSCOMPREFIX)ar -AS_FOR_TARGET=$(CROSSCOMPREFIX)as -LD_FOR_TARGET=$(CROSSCOMPREFIX)ld -NM_FOR_TARGET=$(CROSSCOMPREFIX)nm -OBJDUMP_FOR_TARGET=$(CROSSCOMPREFIX)objdump -OBJCOPY_FOR_TARGET=$(CROSSCOMPREFIX)objcopy -RANLIB_FOR_TARGET=$(CROSSCOMPREFIX)ranlib -STRIP_FOR_TARGET=$(CROSSCOMPREFIX)strip -READELF_FOR_TARGET=$(CROSSCOMPREFIX)readelf - -NASM = nasm -EMU=qemu -GDB=gdb +CC_FOR_TARGET = $(CROSSCOMPREFIX)gcc +CXX_FOR_TARGET = $(CROSSCOMPREFIX)g++ +GCC_FOR_TARGET = $(CROSSCOMPREFIX)gcc +CPP_FOR_TARGET = $(CROSSCOMPREFIX)cpp +AR_FOR_TARGET = $(CROSSCOMPREFIX)ar +AS_FOR_TARGET = $(CROSSCOMPREFIX)as +LD_FOR_TARGET = $(CROSSCOMPREFIX)ld +NM_FOR_TARGET = $(CROSSCOMPREFIX)nm +OBJDUMP_FOR_TARGET = $(CROSSCOMPREFIX)objdump +OBJCOPY_FOR_TARGET = $(CROSSCOMPREFIX)objcopy +RANLIB_FOR_TARGET = $(CROSSCOMPREFIX)ranlib +STRIP_FOR_TARGET = $(CROSSCOMPREFIX)strip +READELF_FOR_TARGET = $(CROSSCOMPREFIX)readelf MAKE = make +RM = rm -rf +NASM = nasm +EMU = qemu +GDB = gdb + NASMFLAGS = -felf32 -g INCLUDE = -I$(TOPDIR)/include -I$(TOPDIR)/arch/$(ARCH)/include -I$(TOPDIR)/lwip/src/include -I$(TOPDIR)/lwip/src/include/ipv4 -I$(TOPDIR)/drivers # Compiler options for final code CFLAGS = -g -m32 -march=i586 -Wall -O2 -fno-builtin -fstrength-reduce -fomit-frame-pointer -finline-functions -nostdinc $(INCLUDE) $(STACKPROT) -# Compiler options for debuuging +# Compiler options for debugging #CFLAGS = -g -O -m32 -march=i586 -Wall -fno-builtin -DWITH_FRAME_POINTER -nostdinc $(INCLUDE) $(STACKPROT) ARFLAGS = rsv -RM = rm -rf LDFLAGS = -T link.ld -z max-page-size=4096 --defsym __BUILD_DATE=$(shell date +'%Y%m%d') --defsym __BUILD_TIME=$(shell date +'%H%M%S') STRIP_DEBUG = --strip-debug KEEP_DEBUG = --only-keep-debug @@ -104,7 +105,7 @@ veryclean: clean @echo [CC] $@ $Q$(CC_FOR_TARGET) -c -D__KERNEL__ $(CFLAGS) -o $@ $< @echo [DEP] $*.dep - $Q$(CC_FOR_TARGET) -MF $*.dep -MT $*.o -MM $(CFLAGS) $< + $Q$(CPP_FOR_TARGET) -MF $*.dep -MT $*.o -MM $(CFLAGS) $< %.o : %.asm