- libsys multitarget
- apps multitarget

git-svn-id: http://moon:8086/svn/mips@67 a8ebac50-d88d-4704-bea3-6648445a41b3
This commit is contained in:
2017-01-10 17:50:12 +00:00
parent a67ef9649d
commit 82802139cd
18 changed files with 947 additions and 807 deletions
+36 -24
View File
@@ -1,9 +1,19 @@
# environment vaiables read:
# BOARD
# BOARD = {ml402, denano}
# TLB = {no, yes}
# ENDIANESS = {eb, el}
BOARD ?= ml402
TLB ?= no
ENDIANESS ?= eb
ENDIAN_FLAGS=-EL
CFLAGS=$(ENDIAN_FLAGS) -msoft-float -O2 -march=r3000 -I. -Wl,-M -Iboards/$(BOARD)
ifeq ($(ENDIANESS),el)
ENDIAN_FLAGS=-EL
else
ENDIAN_FLAGS=-EB
endif
CFLAGS=$(ENDIAN_FLAGS) -msoft-float -O2 -march=r3000 -I. -Wl,-M -Iboards/$(BOARD) -D$(BOARD)
ifeq ($(TLB),yes)
CFLAGS+=-DSYS_IO_BASE=0xAC000000 -DSDRAM_BASE=0x80000000 -DFLASH_BASE_IO=0xA4000000 -DFLASH_BASE_MEM=0x88000000
@@ -11,6 +21,8 @@ else
CFLAGS+=-DSYS_IO_BASE=0xA0000000 -DSDRAM_BASE=0x40000000 -DFLASH_BASE_IO=0xA4000000 -DFLASH_BASE_MEM=0x00000000
endif
BUILD_DIR=./build/$(BOARD)/$(ENDIANESS)
AS=mipsel-elf-as
AR=mipsel-elf-ar
CC=mipsel-elf-gcc
@@ -19,31 +31,31 @@ OBJDUMP=mipsel-elf-objdump
OBJCOPY=mipsel-elf-objcopy
FLASHGEN=flashgen
SRCS=libsys.c xcpt.c syscalls.c irq.c mips_dbg.c mips_dis.c mips_gfx.c mips_ps2.c gpio.c
OBJS=libsys.o xcpt.o syscalls.o irq.o mips_dbg.o mips_dis.o mips_gfx.o mips_ps2.o gpio.o
OBJS-ml402=$(addprefix $(BUILD_DIR)/, libsys.o xcpt.o syscalls.o irq.o mips_dbg.o mips_dis.o mips_ps2.o mips_gfx.o console.o screen.o uart.o board.o gpio.o)
OBJS-denano=$(addprefix $(BUILD_DIR)/, libsys.o xcpt.o syscalls.o irq.o mips_dbg.o mips_dis.o console.o uart.o board.o)
.PHONY : libsys.a
all: libsys.a
$(MAKE) -C eb BOARD=$(BOARD)
all: $(BUILD_DIR) $(BUILD_DIR)/libsys.a
$(OBJS): $(SRCS)
$(CC) $(CFLAGS) -G 0 -c $(SRCS)
$(BUILD_DIR)/%.o : %.c
$(CC) $(CFLAGS) -G 0 -c -o $@ $<
libsys.a: $(OBJS) $(SRCS)
$(AR) -r libsys.a $(OBJS)
$(CC) $(CFLAGS) -G 0 -c startup.S
$(CC) $(CFLAGS) -G 0 -c kernel.S
$(BUILD_DIR)/%.o : %.S
$(CC) $(CFLAGS) -G 0 -c -o $@ $<
%.o: %.c
$(CC) $(CFLAGS) -G 0 -c *.c
$(BUILD_DIR)/board.o : boards/$(BOARD)/board.c
$(CC) $(CFLAGS) -G 0 -c -o $@ $<
$(BUILD_DIR)/libsys.a: $(OBJS-$(BOARD))
$(AR) -r $(BUILD_DIR)/libsys.a $(OBJS-$(BOARD))
$(CC) $(CFLAGS) -G 0 -c -o $(BUILD_DIR)/startup.o startup.S
$(CC) $(CFLAGS) -G 0 -c -o $(BUILD_DIR)/kernel.o kernel.S
$(BUILD_DIR):
mkdir -p $(BUILD_DIR)
libsys_sim.a: libsys_sim.o xcpt.o syscalls.o irq.o gpio.o
$(AR) -r libsys_sim.a libsys_sim.o xcpt.o syscalls.o irq.o gpio.o
$(CC) $(CFLAGS) -G 0 -c startup.S
$(CC) $(CFLAGS) -G 0 -c kernel.S
clean:
rm -rf *.a *.o *.map *.dis *.elf > /dev/null
$(MAKE) -C eb clean
rm -rf $(BUILD_DIR)/*.a $(BUILD_DIR)/*.o > /dev/null
mrproper:
rm -rf $(BUILD_DIR)