OpenCores
URL https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk

Subversion Repositories an-fpga-implementation-of-low-latency-noc-based-mpsoc

[/] [an-fpga-implementation-of-low-latency-noc-based-mpsoc/] [trunk/] [mpsoc/] [src_processor/] [lm32/] [sw/] [Makefile] - Diff between revs 45 and 48

Show entire file | Details | Blame | View Log

Rev 45 Rev 48
Line 1... Line 1...
 
include cpu_flags
 
 
 
SOURCE_LIB =
 
include SOURCE_LIB
 
 
 
HDR_SOURCE_DIR=lm32
 
 
TOOLCHAIN=$(PRONOC_WORK)/toolchain/lm32
TOOLCHAIN=$(PRONOC_WORK)/toolchain/lm32
IHEX2MIF =$(PRONOC_WORK)/toolchain/bin/ihex2mif
IHEX2MIF =$(PRONOC_WORK)/toolchain/bin/ihex2mif
IHEX2BIN =$(PRONOC_WORK)/toolchain/bin/ihex2bin
IHEX2BIN =$(PRONOC_WORK)/toolchain/bin/ihex2bin
BIN2HEX =$(PRONOC_WORK)/toolchain/bin/bin2str
BIN2HEX =$(PRONOC_WORK)/toolchain/bin/bin2str
 
BIN2MIF=$(PRONOC_WORK)/toolchain/bin/bin2mif
 
BIN2MEM=$(PRONOC_WORK)/toolchain/bin/bin2mem
 
 
#SREC2VRAM ?= ../../../toolchain/lm32/srec2vram/srec2vram
LM32_TOOL_PREFIX=${TOOLCHAIN}/bin/lm32-elf-
 
 
#RAMSIZE=3FFF
LM32_LD=$(LM32_TOOL_PREFIX)ld
#CPU_FLAGS=-mbarrel-shift-enabled -mmultiply-enabled -msign-extend-enabled -mdivide-enabled
LM32_AS=$(LM32_TOOL_PREFIX)as
CPU_FLAGS=-mbarrel-shift-enabled -mmultiply-enabled
LM32_CC=$(LM32_TOOL_PREFIX)gcc
 
LM32_AR=$(LM32_TOOL_PREFIX)ar
LM32_CC=${TOOLCHAIN}/bin/lm32-elf-gcc
LM32_OBJDUMP=$(LM32_TOOL_PREFIX)objdump
LM32_LD=${TOOLCHAIN}/bin/lm32-elf-ld
LM32_OBJCOPY=$(LM32_TOOL_PREFIX)objcopy
LM32_OBJCOPY=${TOOLCHAIN}/bin/lm32-elf-objcopy
 
LM32_OBJDUMP=${TOOLCHAIN}/bin/lm32-elf-objdump
 
LM32_LIB1=${TOOLCHAIN}/lm32-elf/lib
LM32_LIB1=${TOOLCHAIN}/lm32-elf/lib
LM32_LIB2=${TOOLCHAIN}/lib/gcc/lm32-elf/4.5.3
LM32_LIB2=${TOOLCHAIN}/lib/gcc/lm32-elf/4.5.3
 
 
LIBRARIES = -L${LM32_LIB1} -lc -lg  -L${LM32_LIB2}  -lgcc
LIBRARIES = -L${LM32_LIB1} -L${LM32_LIB2} -L.  -L./$(HDR_SOURCE_DIR) -lc -lg   -lorlib -lgcc
 
 
VRAMFILE=image.ram
 
 
 
#CFLAGS=-MMD -O2 -Wall -g -s -fomit-frame-pointer ${CPU_FLAGS}
CFLAGS  := -Wall -Os -ggdb  ${CPU_FLAGS}
CFLAGS  := -Wall -Os -ggdb -ffreestanding ${CPU_FLAGS}
 
LDFLAGS=-nostdlib -nodefaultlibs -Tlinker.ld
LDFLAGS=-nostdlib -nodefaultlibs -Tlinker.ld
 
 
 
 
 
# Sources to go into the liborpsoc.a support library
 
COMPILE_SRCS=   $(SOURCE_LIB)
 
 
 
#CPU_FLAGS=-mbarrel-shift-enabled -mmultiply-enabled
 
 
 
 
#LDFLAGS=-nostdlib -T -Tlinker.ld
#LDFLAGS=-nostdlib -T -Tlinker.ld
SEGMENTS = -j .text -j .rodata -j .data
SEGMENTS = -j .text -j .rodata -j .data
 
 
all: image.srec         $(VRAMFILE)
all: image.ihex
 
 
crt0ram.o: crt0ram.S
lib:
        $(LM32_CC) $(CFLAGS) -c crt0ram.S
#compile all source code
 
        $(LM32_CC) -Wall $(CFLAGS) -c $(HDR_SOURCE_DIR)/crt0ram.S  -o crt0ram.o
 
        $(LM32_CC) -Wall $(CFLAGS) -c $(COMPILE_SRCS)
 
#add them to liborlib.a
 
        $(LM32_AR) -cvq liborlib.a *.o
 
 
main.o: main.c
 
        $(LM32_CC) $(CFLAGS) -c main.c
 
 
 
#soc-hw.o: soc-hw.c
main.o: lib main.c
#$(LM32_CC) $(CFLAGS) -c soc-hw.c
        $(LM32_CC) -Wall $(CFLAGS) -c main.c  -o main.o
 
 
image: crt0ram.o main.o  linker.ld Makefile
image: main.o  linker.ld Makefile
        $(LM32_LD) $(LDFLAGS) -Map image.map -N -o image crt0ram.o main.o ${LIBRARIES}
        $(LM32_LD) $(LDFLAGS) -Map image.map -N -o image crt0ram.o  main.o $(LIBRARIES)
 
 
image.lst: image
image.lst: image
        $(LM32_OBJDUMP) -h -S $< > $@
        $(LM32_OBJDUMP) -h -S $< > $@
 
 
image.bin: image
 
        $(LM32_OBJCOPY) $(SEGMENTS) -O binary image image.bin
 
 
 
image.srec: image image.lst image.bin
image.ihex: image image.lst
#$(LM32_OBJCOPY) $(SEGMENTS) -O srec image image.srec
# Convert the ELF file to an IHEX file
        $(LM32_OBJCOPY) $(SEGMENTS) -O ihex image image.ihex
 
 
 
$(VRAMFILE): image.srec
 
#$(SREC2VRAM) image.srec 0x40000000 0x1000 > $(VRAMFILE)
 
        rm -Rf ./RAM
 
        mkdir -p ./RAM
        mkdir -p ./RAM
 
        $(LM32_OBJCOPY) -O ihex image image.ihex
 
#       $(LM32_OBJCOPY)   --keep-file-symbols -O binary image image.bin
 
# Generate a MIF & BIN files from the IHEX file
        #$(IHEX2MIF) -f image.ihex  -e $(RAMSIZE) -o RAM/ram0.mif
        #$(IHEX2MIF) -f image.ihex  -e $(RAMSIZE) -o RAM/ram0.mif
        $(IHEX2MIF) -f image.ihex  -o RAM/ram0.mif
#       $(IHEX2MIF) -f image.ihex -o RAM/ram0.mif
        $(IHEX2BIN) -i image.ihex  -o RAM/ram0.bin
        $(IHEX2BIN) -i image.ihex  -o RAM/ram0.bin
 
        $(BIN2MIF)  -f RAM/ram0.bin -o RAM/ram0.mif -w 32
 
        $(BIN2MEM)  -f RAM/ram0.bin -o RAM/ram0.mem -w 32
        $(BIN2HEX) -f RAM/ram0.bin -h
        $(BIN2HEX) -f RAM/ram0.bin -h
 
        rm *.o *.a
 
 
 
 
 
 
 
 
clean:
clean:
        rm -f image.ihex  image image.lst image.bin image.srec image.map  image.ram image.hex *.o *.d
        rm -f image.ihex  image image.lst image.bin image.srec image.map  image.ram image.hex RAM/* *.o *.a
 
 
 
 
 
 
DEPS := $(wildcard *.d)
DEPS := $(wildcard *.d)
ifneq ($(DEPS),)
ifneq ($(DEPS),)
include $(DEPS)
include $(DEPS)
endif
endif

powered by: WebSVN 2.1.0

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