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] - Blame information for rev 48

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 48 alirezamon
include cpu_flags
2
 
3
SOURCE_LIB =
4
include SOURCE_LIB
5
 
6
HDR_SOURCE_DIR=lm32
7
 
8 21 alirezamon
TOOLCHAIN=$(PRONOC_WORK)/toolchain/lm32
9 25 alirezamon
IHEX2MIF =$(PRONOC_WORK)/toolchain/bin/ihex2mif
10
IHEX2BIN =$(PRONOC_WORK)/toolchain/bin/ihex2bin
11 34 alirezamon
BIN2HEX =$(PRONOC_WORK)/toolchain/bin/bin2str
12 48 alirezamon
BIN2MIF=$(PRONOC_WORK)/toolchain/bin/bin2mif
13
BIN2MEM=$(PRONOC_WORK)/toolchain/bin/bin2mem
14 17 alirezamon
 
15 48 alirezamon
LM32_TOOL_PREFIX=${TOOLCHAIN}/bin/lm32-elf-
16 17 alirezamon
 
17 48 alirezamon
LM32_LD=$(LM32_TOOL_PREFIX)ld
18
LM32_AS=$(LM32_TOOL_PREFIX)as
19
LM32_CC=$(LM32_TOOL_PREFIX)gcc
20
LM32_AR=$(LM32_TOOL_PREFIX)ar
21
LM32_OBJDUMP=$(LM32_TOOL_PREFIX)objdump
22
LM32_OBJCOPY=$(LM32_TOOL_PREFIX)objcopy
23 21 alirezamon
LM32_LIB1=${TOOLCHAIN}/lm32-elf/lib
24
LM32_LIB2=${TOOLCHAIN}/lib/gcc/lm32-elf/4.5.3
25
 
26 48 alirezamon
LIBRARIES = -L${LM32_LIB1} -L${LM32_LIB2} -L.  -L./$(HDR_SOURCE_DIR) -lc -lg   -lorlib -lgcc
27 21 alirezamon
 
28 48 alirezamon
CFLAGS  := -Wall -Os -ggdb  ${CPU_FLAGS}
29
LDFLAGS=-nostdlib -nodefaultlibs -Tlinker.ld
30 17 alirezamon
 
31 48 alirezamon
 
32
# Sources to go into the liborpsoc.a support library
33
COMPILE_SRCS=   $(SOURCE_LIB)
34
 
35
#CPU_FLAGS=-mbarrel-shift-enabled -mmultiply-enabled
36
 
37
 
38 21 alirezamon
#LDFLAGS=-nostdlib -T -Tlinker.ld
39 17 alirezamon
SEGMENTS = -j .text -j .rodata -j .data
40
 
41 48 alirezamon
all: image.ihex
42 17 alirezamon
 
43 48 alirezamon
lib:
44
#compile all source code
45
        $(LM32_CC) -Wall $(CFLAGS) -c $(HDR_SOURCE_DIR)/crt0ram.S  -o crt0ram.o
46
        $(LM32_CC) -Wall $(CFLAGS) -c $(COMPILE_SRCS)
47
#add them to liborlib.a
48
        $(LM32_AR) -cvq liborlib.a *.o
49 17 alirezamon
 
50
 
51 48 alirezamon
main.o: lib main.c
52
        $(LM32_CC) -Wall $(CFLAGS) -c main.c  -o main.o
53
 
54
image: main.o  linker.ld Makefile
55
        $(LM32_LD) $(LDFLAGS) -Map image.map -N -o image crt0ram.o  main.o $(LIBRARIES)
56 17 alirezamon
 
57
image.lst: image
58
        $(LM32_OBJDUMP) -h -S $< > $@
59
 
60
 
61 48 alirezamon
image.ihex: image image.lst
62
# Convert the ELF file to an IHEX file
63 34 alirezamon
        mkdir -p ./RAM
64 48 alirezamon
        $(LM32_OBJCOPY) -O ihex image image.ihex
65
#       $(LM32_OBJCOPY)   --keep-file-symbols -O binary image image.bin
66
# Generate a MIF & BIN files from the IHEX file
67
#       $(IHEX2MIF) -f image.ihex -e $(RAMSIZE) -o RAM/ram0.mif
68
#       $(IHEX2MIF) -f image.ihex -o RAM/ram0.mif
69
        $(IHEX2BIN) -i image.ihex -o RAM/ram0.bin
70
        $(BIN2MIF)  -f RAM/ram0.bin -o RAM/ram0.mif -w 32
71
        $(BIN2MEM)  -f RAM/ram0.bin -o RAM/ram0.mem -w 32
72
        $(BIN2HEX)  -f RAM/ram0.bin -h
73
        rm *.o *.a
74 17 alirezamon
 
75 48 alirezamon
 
76
 
77
 
78 17 alirezamon
clean:
79 48 alirezamon
        rm -f image.ihex  image image.lst image.bin image.srec image.map  image.ram image.hex RAM/* *.o *.a
80 17 alirezamon
 
81 48 alirezamon
 
82
 
83 17 alirezamon
DEPS := $(wildcard *.d)
84
ifneq ($(DEPS),)
85
include $(DEPS)
86
endif
87
 
88 34 alirezamon
 

powered by: WebSVN 2.1.0

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