rename variables, code cleanups
This commit is contained in:
parent
f8bb08ccf2
commit
23688400f9
3 changed files with 36 additions and 11 deletions
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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`; \
|
||||
|
|
Loading…
Add table
Reference in a new issue