OpenCores
URL https://opencores.org/ocsvn/amber/amber/trunk

Subversion Repositories amber

[/] [amber/] [trunk/] [sw/] [dhry/] [Makefile] - Diff between revs 31 and 36

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 31 Rev 36
SRC = dhry.c dhry_2.c start.S
SRC = dhry.c dhry_2.c start.S
TGT = dhry
TGT = dhry
LDS = sections.lds
LDS = sections.lds
USE_MINI_LIBC = 1
USE_MINI_LIBC = 1
LIBC_OBJ         = ../mini-libc/printf.o ../mini-libc/libc_asm.o ../mini-libc/memcpy.o
LIBC_OBJ         = ../mini-libc/printf.o ../mini-libc/libc_asm.o ../mini-libc/memcpy.o
DEP             += ../include/amber_registers.h ../mini-libc/stdio.h
DEP             += ../include/amber_registers.h ../mini-libc/stdio.h
TOOLSPATH        = ../tools
TOOLSPATH        = ../tools
AMBER_CROSSTOOL ?= amber-crosstool-not-defined
AMBER_CROSSTOOL ?= amber-crosstool-not-defined
  AS = $(AMBER_CROSSTOOL)-as
  AS = $(AMBER_CROSSTOOL)-as
  CC = $(AMBER_CROSSTOOL)-gcc
  CC = $(AMBER_CROSSTOOL)-gcc
 CXX = $(AMBER_CROSSTOOL)-g++
 CXX = $(AMBER_CROSSTOOL)-g++
  AR = $(AMBER_CROSSTOOL)-ar
  AR = $(AMBER_CROSSTOOL)-ar
  LD = $(AMBER_CROSSTOOL)-ld
  LD = $(AMBER_CROSSTOOL)-ld
  DS = $(AMBER_CROSSTOOL)-objdump
  DS = $(AMBER_CROSSTOOL)-objdump
  OC = $(AMBER_CROSSTOOL)-objcopy
  OC = $(AMBER_CROSSTOOL)-objcopy
 ELF = $(TOOLSPATH)/amber-elfsplitter
 ELF = $(TOOLSPATH)/amber-elfsplitter
 BMF = $(TOOLSPATH)/amber-memparams.sh
 BMF32  = ../tools/amber-memparams32.sh
 
 BMF128 = ../tools/amber-memparams128.sh
 
 
 MMP = $(addsuffix _memparams.v, $(basename $(TGT)))
 MMP32  = $(addsuffix _memparams32.v, $(basename $(TGT)))
 
 MMP128 = $(addsuffix _memparams128.v, $(basename $(TGT)))
 MEM = $(addsuffix .mem, $(basename $(TGT)))
 MEM = $(addsuffix .mem, $(basename $(TGT)))
 DIS = $(addsuffix .dis, $(basename $(TGT)))
 DIS = $(addsuffix .dis, $(basename $(TGT)))
ifdef USE_MINI_LIBC
ifdef USE_MINI_LIBC
 OBJ = $(addsuffix .o,   $(basename $(SRC))) $(LIBC_OBJ)
 OBJ = $(addsuffix .o,   $(basename $(SRC))) $(LIBC_OBJ)
else
else
 OBJ = $(addsuffix .o,   $(basename $(SRC)))
 OBJ = $(addsuffix .o,   $(basename $(SRC)))
endif
endif
ifdef LDS
ifdef LDS
    TLDS = -T $(LDS)
    TLDS = -T $(LDS)
else
else
    TLDS =
    TLDS =
endif
endif
ifndef TGT
ifndef TGT
    TGT = aout.elf
    TGT = aout.elf
endif
endif
ifdef MIN_SIZE
ifdef MIN_SIZE
    # optimize for size
    # optimize for size
    OPTIMIZE = -Os
    OPTIMIZE = -Os
else
else
    # optimize for speed
    # optimize for speed
    OPTIMIZE = -O3
    OPTIMIZE = -O3
endif
endif
 MAP = $(addsuffix .map, $(basename $(TGT)))
 MAP = $(addsuffix .map, $(basename $(TGT)))
 ASFLAGS = -I../include
 ASFLAGS = -I../include
  CFLAGS = -c $(OPTIMIZE) -march=armv2a -mno-thumb-interwork -ffreestanding -I../include
  CFLAGS = -c $(OPTIMIZE) -march=armv2a -mno-thumb-interwork -ffreestanding -I../include
 DSFLAGS = -C -S -EL
 DSFLAGS = -C -S -EL
 LDFLAGS = -Bstatic -Map $(MAP) --strip-debug --fix-v4bx
 LDFLAGS = -Bstatic -Map $(MAP) --strip-debug --fix-v4bx
ifdef USE_MINI_LIBC
ifdef USE_MINI_LIBC
debug:  mini-libc $(ELF) $(MMP) $(DIS)
debug:  mini-libc $(ELF) $(MMP) $(DIS)
else
else
debug:  $(ELF) $(MMP) $(DIS)
debug:  $(ELF) $(MMP) $(DIS)
endif
endif
$(MMP): $(MEM)
$(MMP): $(MEM)
        $(BMF) $(MEM) $(MMP)
        $(BMF32) $(MEM) $(MMP32)
 
 
$(MEM): $(TGT)
$(MEM): $(TGT)
        $(ELF) $(TGT) > $(MEM)
        $(ELF) $(TGT) > $(MEM)
$(TGT): $(OBJ)
$(TGT): $(OBJ)
        $(LD) $(LDFLAGS) -o $(TGT) $(TLDS) $(OBJ)
        $(LD) $(LDFLAGS) -o $(TGT) $(TLDS) $(OBJ)
        $(OC) -R .comment -R .note $(TGT)
        $(OC) -R .comment -R .note $(TGT)
$(OBJ): $(DEP)
$(OBJ): $(DEP)
mini-libc:
mini-libc:
        $(MAKE) -s -C ../mini-libc MIN_SIZE=1
        $(MAKE) -s -C ../mini-libc MIN_SIZE=1
$(ELF):
$(ELF):
        $(MAKE) -C $(TOOLSPATH)
        $(MAKE) -C $(TOOLSPATH)
$(DIS): $(TGT)
$(DIS): $(TGT)
        $(DS) $(DSFLAGS) $^ > $@
        $(DS) $(DSFLAGS) $^ > $@
clean:
clean:
        @rm -rfv *.o *.elf *.dis *.map *.mem *.v $(MMP) dhry
        @rm -rfv *.o *.elf *.dis *.map *.mem *.v $(MMP) dhry
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.