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

Subversion Repositories leros

[/] [leros/] [trunk/] [Makefile] - Blame information for rev 4

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 martin
#
2
# Makefile for Leros build
3
#
4
 
5
# cleanup
6
EXTENSIONS=class rbf rpt sof pin summary ttf qdf dat wlf done qws
7
 
8
#
9
#       Set USB to true for an FTDI chip based board (dspio, usbmin, lego)
10
#
11 4 martin
USB=true
12 3 martin
 
13
 
14
# Assembler files
15
APP=test
16
APP=muvium
17 4 martin
 
18
# Java application
19
JAPP=Blink
20
JAPP_PKG=.
21
 
22 3 martin
# Altera FPGA configuration cable
23
#BLASTER_TYPE=ByteBlasterMV
24
BLASTER_TYPE=USB-Blaster
25
 
26
ifeq ($(WINDIR),)
27
        USBRUNNER=./USBRunner
28
        S=:
29
else
30
        USBRUNNER=USBRunner.exe
31
        S=\;
32
endif
33
 
34
# The VHDL project for Quartus
35 4 martin
QPROJ=altde2-70
36 3 martin
QPROJ=dspio
37
 
38 4 martin
# Some shortcuts
39
MUVIUM=LerosMuviumSDK
40
MUVIUM_CP=./$(S)./lib/Muvium-Leros.jar$(S)./MUVIUM_CP=./$(S)./lib/jdom.jar$(S)./lib/jaxen.jar$(S).
41
TARGET_SRC=java/target/src
42
 
43 3 martin
all: directories tools rom
44
        make lerosusb
45
        make config
46
 
47
directories:
48
        -mkdir rbf
49
 
50
tools:
51 4 martin
        -rm -rf rbf
52
        -rm -rf java/tools/classes
53
        -rm -rf java/tools/lib
54
        -rm -rf java/tools/src/leros/asm/generated
55
        mkdir rbf
56
        mkdir java/tools/classes
57
        mkdir java/tools/lib
58
        mkdir java/tools/src/leros/asm/generated
59 3 martin
        java -classpath lib/antlr-3.3-complete.jar org.antlr.Tool \
60 4 martin
                -fo java/tools/src/leros/asm/generated \
61
                java/tools/src/grammar/Leros.g
62 3 martin
        javac -classpath lib/antlr-3.3-complete.jar \
63 4 martin
                -d java/tools/classes java/tools/src/leros/asm/generated/*.java \
64
                java/tools/src/leros/asm/*.java
65
        javac -d java/tools/classes -sourcepath \
66
                java/tools/src java/tools/src/leros/sim/*.java
67
        cd java/tools/classes && jar cf ../lib/leros-tools.jar *
68 3 martin
 
69 4 martin
java_app:
70
        -rm -rf java/target/classes
71
        mkdir java/target/classes
72
        javac -target 1.5 -g -d java/target/classes \
73
                -sourcepath  $(TARGET_SRC) $(TARGET_SRC)/$(JAPP).java
74
        cd $(MUVIUM); java -cp $(MUVIUM_CP)$(S)../java/target/classes \
75
                MuviumMetal $(JAPP) config.xml ../asm/muvium.asm
76
 
77
japp:
78
        make java_app
79
        make rom -e APP=muvium
80
        make lerosusb
81
        make config
82
 
83 3 martin
rom:
84
        -rm -rf vhdl/generated
85
        mkdir vhdl/generated
86 4 martin
        java -cp java/tools/lib/leros-tools.jar$(S)lib/antlr-3.3-complete.jar \
87 3 martin
                leros.asm.LerosAsm -s asm -d vhdl/generated $(APP).asm
88 4 martin
 
89 3 martin
jsim: rom
90
        java -cp java/lib/leros-tools.jar -Dlog=false \
91
                leros.sim.LerosSim rom.txt
92
sim: rom
93
        cd modelsim; make
94
 
95
 
96
# configure the FPGA
97
config:
98
ifeq ($(USB),true)
99
        make config_usb
100
else
101
ifeq ($(XFPGA),true)
102
        make config_xilinx
103
else
104
        make config_byteblaster
105
endif
106
endif
107
 
108
lerosusb:
109
        @echo $(QPROJ)
110
        for target in $(QPROJ); do \
111
                make qsyn -e QBT=$$target || exit; \
112
                cd quartus/$$target && quartus_cpf -c leros.sof ../../rbf/$$target.rbf; \
113
        done
114
 
115
#
116
#       Quartus build process
117
#               called by jopser, jopusb,...
118
#
119
qsyn:
120
        echo $(QBT)
121
        echo "building $(QBT)"
122
        -rm -rf quartus/$(QBT)/db
123
        -rm -f quartus/$(QBT)/leros.sof
124
        -rm -f jbc/$(QBT).jbc
125
        -rm -f rbf/$(QBT).rbf
126
        quartus_map quartus/$(QBT)/leros
127
        quartus_fit quartus/$(QBT)/leros
128
        quartus_asm quartus/$(QBT)/leros
129
        quartus_sta quartus/$(QBT)/leros
130
 
131
config_byteblaster:
132
        cd quartus/$(QPROJ) && quartus_pgm -c $(BLASTER_TYPE) -m JTAG leros.cdf
133
 
134
config_usb:
135
        cd rbf && ../$(USBRUNNER) $(QPROJ).rbf
136
 
137
# TODO: no Xilinx Makefiles available yet
138
config_xilinx:
139
        cd xilinx/$(XPROJ) && make config
140
 
141
clean:
142
        for ext in $(EXTENSIONS); do \
143
                find `ls` -name \*.$$ext -print -exec rm -r -f {} \; ; \
144
        done
145
        -find `ls` -name leros.pof -print -exec rm -r -f {} \;
146
        -find `ls` -name db -print -exec rm -r -f {} \;
147
        -find `ls` -name incremental_db -print -exec rm -r -f {} \;
148
        -find `ls` -name leros_description.txt -print -exec rm -r -f {} \;
149
        -rm -rf asm/generated
150
        -rm -f vhdl/*.vhd
151
        -rm -rf $(TOOLS)/dist
152
        -rm -rf $(PCTOOLS)/dist
153
        -rm -rf $(TARGET)/dist
154
        -rm -rf modelsim/work
155
        -rm -rf modelsim/transcript
156
        -rm -rf modelsim/gaisler
157
        -rm -rf modelsim/grlib
158
        -rm -rf modelsim/techmap

powered by: WebSVN 2.1.0

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