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

Subversion Repositories leros

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

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

powered by: WebSVN 2.1.0

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