rename variables, code cleanups

This commit is contained in:
Stefan Lankes 2015-01-18 09:39:52 +01:00
parent f8bb08ccf2
commit 23688400f9
3 changed files with 36 additions and 11 deletions

View file

@ -1,12 +1,14 @@
TERM = xterm
TOPDIR = $(shell pwd)
ARCH = x86
BIT = 32
NAME = eduos
KERNDIRS = libkern kernel mm fs arch/$(ARCH)/kernel arch/$(ARCH)/mm
SUBDIRS = $(KERNDIRS)
# Set your own cross compiler tool chain prefix here
CROSSCOMPREFIX =
CROSSCOMPREFIX =
STACKPROT =
CC_FOR_TARGET = $(CROSSCOMPREFIX)gcc
CXX_FOR_TARGET = $(CROSSCOMPREFIX)g++
@ -24,7 +26,7 @@ READELF_FOR_TARGET = $(CROSSCOMPREFIX)readelf
MAKE = make
NASM = nasm
NASMFLAGS = -felf32 -g -i$(TOPDIR)/include/eduos/
NASMFLAGS = -felf$(BIT) -g -i$(TOPDIR)/include/eduos/
GDB = $(CROSSCOMPREFIX)gdb
GDBFLAGS = -x debug.gdb
QEMU = qemu-system-i386
@ -49,7 +51,10 @@ LDFLAGS = -T link.ld -z max-page-size=4096 --defsym __BUILD_DATE=$(shell date +'
STRIP_DEBUG = --strip-debug
KEEP_DEBUG = --only-keep-debug
CFLAGS_FOR_TOOLS = -m32 -O2 -Wall
CFLAGS_FOR_NEWLIB = -m$(BIT) $(STACKPROT)
LDFLAGS_FOR_NEWLIB = -m$(BIT)
NASMFLAGS_FOR_NEWLIB = -felf$(BIT)
CFLAGS_FOR_TOOLS = -m$(BIT) -O2 -Wall
LDFLAGS_FOR_TOOLS =
# Prettify output
@ -61,10 +66,28 @@ endif
default: all
all: tools $(NAME).elf
all: newlib tools $(NAME).elf
newlib:
$(MAKE) ARCH=$(ARCH) BIT=$(BIT) \
LDFLAGS="$(LDFLAGS_FOR_NEWLIB)" \
CFLAGS="$(CFLAGS_FOR_NEWLIB)" \
NASMFLAGS="$(NASMFLAGS_FOR_NEWLIB)" \
CC_FOR_TARGET=$(CC_FOR_TARGET) \
CXX_FOR_TARGET=$(CXX_FOR_TARGET) \
GCC_FOR_TARGET=$(GCC_FOR_TARGET) \
AR_FOR_TARGET=$(AR_FOR_TARGET) \
AS_FOR_TARGET=$(AS_FOR_TARGET) \
LD_FOR_TARGET=$(LD_FOR_TARGET) \
NM_FOR_TARGET=$(NM_FOR_TARGET) \
OBJDUMP_FOR_TARGET=$(OBJDUMP_FOR_TARGET) \
OBJCOPY_FOR_TARGET=$(OBJCOPY_FOR_TARGET) \
RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET) \
STRIP_FOR_TARGET=$(STRIP_FOR_TARGET) \
READELF_FOR_TARGET=$(READELF_FOR_TARGET) -C newlib
tools:
$(MAKE) ARCH=$(ARCH) CFLAGS="$(CFLAGS_FOR_TOOLS)" LDFLAGS="$(LDFLAGS_FOR_TOOLS)" -C tools
$(MAKE) ARCH=$(ARCH) BIT=$(BIT) CFLAGS="$(CFLAGS_FOR_TOOLS)" LDFLAGS="$(LDFLAGS_FOR_TOOLS)" -C tools
$(NAME).elf:
$Q$(LD_FOR_TARGET) $(LDFLAGS) -o $(NAME).elf $^
@ -80,6 +103,7 @@ clean:
veryclean: clean
$Q$(RM) qemu-vlan0.pcap
$Q$(MAKE) -C newlib veryclean
@echo Very cleaned
qemu: $(NAME).elf

View file

@ -20,7 +20,7 @@ OPT = --disable-shared --disable-multilib --enable-newlib-hw-fp --disable-newlib
default: $(ARCH)
$(MAKE) ARCH=$(ARCH) BIT=$(BIT) TARGET=$(TARGET) CFLAGS+="-ffreestanding -Wall -I$(NEWLIB)/include -I../../include -I../../arch/$(ARCH)/include" LDFLAGS+="-nostdlib -L$(NEWLIB)/lib" -C examples depend
#$(MAKE) ARCH=$(ARCH) BIT=$(BIT) TARGET=$(TARGET) CFLAGS+="-ffreestanding -Wall -I$(NEWLIB)/include -I../../include -I../../arch/$(ARCH)/include" LDFLAGS+="-nostdlib -L$(NEWLIB)/lib" -C examples
$(MAKE) ARCH=$(ARCH) BIT=$(BIT) TARGET=$(TARGET) CFLAGS+="-ffreestanding -Wall -I$(NEWLIB)/include -I../../include -I../../arch/$(ARCH)/include" LDFLAGS+="-nostdlib -L$(NEWLIB)/lib" -C examples
$(ARCH):
$(RM) $(TMP)

View file

@ -66,8 +66,8 @@ OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \
else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi`
CRT0 = crt0_$(BIT).o
METALSVM_BSP = libgloss.a
METALSVM_OBJS = chown.o fork.o gettod.o kill.o open.o sbrk.o times.o write.o \
EDUOS_BSP = libgloss.a
EDUOS_OBJS = chown.o errno.o fork.o gettod.o kill.o open.o sbrk.o times.o write.o \
close.o execve.o fstat.o init.o link.o read.o stat.o unlink.o \
environ.o _exit.o getpid.o isatty.o lseek.o readlink.o symlink.o wait.o \
dup.o dup2.o
@ -80,13 +80,14 @@ INCLUDES += -I$(srcdir)/include
%.o : %.asm
$(NASM) $(NASMFLAGS) -o $@ $<
all: $(CRT0) $(METALSVM_BSP)
all: $(CRT0) $(EDUOS_BSP)
$(METALSVM_BSP): $(METALSVM_OBJS)
$(EDUOS_BSP): $(EDUOS_OBJS)
$(AR) $(ARFLAGS) $@ $?
$(RANLIB) $@
chown.o: $(srcdir)/chown.c
errno.o: $(srcdir)/errno.c
fork.o: $(srcdir)/fork.c
gettod.o: $(srcdir)/gettod.c
kill.o: $(srcdir)/kill.c
@ -115,7 +116,7 @@ dup2.o: $(srcdir)/dup2.c
install: $($(CPU)_INSTALL)
$(INSTALL_DATA) $(CRT0) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/crt0.o
$(INSTALL_DATA) $(METALSVM_BSP) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(METALSVM_BSP)
$(INSTALL_DATA) $(EDUOS_BSP) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(EDUOS_BSP)
$(INSTALL_DATA) ${srcdir}/link$(BIT).ld $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/link.ld
for i in ${srcdir}/include/sys/*.h; do \
${INSTALL_DATA} $$i ${DESTDIR}${tooldir}/include/sys/`basename $$i`; \