[mips]
- libsys multitarget - apps multitarget git-svn-id: http://moon:8086/svn/mips@67 a8ebac50-d88d-4704-bea3-6648445a41b3
This commit is contained in:
+36
-24
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user