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

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.74/] [Makefile] - Blame information for rev 38

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 37 wfjm
# $Id: Makefile 810 2016-10-02 16:51:12Z mueller $
2 16 wfjm
#
3
# 'Meta Makefile' for whole retro project
4
#   allows to make all synthesis targets
5
#   allows to make all test bench targets
6
#
7
#  Revision History:
8
# Date         Rev Version  Comment
9 37 wfjm
# 2016-10-01   810   1.2.6  move component tests to SIM_viv when vivado used
10
# 2016-07-10   785   1.2.5  re-enable rtl/sys_gen/tst_sram/nexys4 (ok in 2016.2)
11 36 wfjm
# 2016-06-05   772   1.2.4  add vmfsum,imfsum targets
12
# 2016-03-19   748   1.2.3  comment out legacy designs and tests
13 37 wfjm
# 2016-02-19   733   1.2.2  disable rtl/sys_gen/tst_sram/nexys4 (fails in 2015.4)
14 35 wfjm
# 2016-02-19   732   1.2.1  remove dispunit syn and sim entries
15 29 wfjm
# 2015-02-01   640   1.2    add vivado targets, separate from ise targets
16
# 2015-01-25   638   1.1    drop as type fx2 targets
17 25 wfjm
# 2014-06-14   562   1.0.8  suspend nexys4 syn targets
18 22 wfjm
# 2013-09-28   535   1.0.7  add nexys4 port for sys_gen/tst_sram,w11a
19 21 wfjm
# 2013-05-01   513   1.0.6  add clean_sim_tmp and clean_syn_tmp targets
20 17 wfjm
# 2012-12-29   466   1.0.5  add tst_rlink_cuff
21
# 2011-12-26   445   1.0.4  add tst_fx2loop
22
# 2011-12-23   444   1.0.3  enforce -j 1 in sub-makes
23 16 wfjm
# 2011-11-27   433   1.0.2  add new nexys3 ports
24
# 2011-11-18   426   1.0.1  add tst_serport and tst_snhumanio
25
# 2011-07-09   391   1.0    Initial version
26
#
27
 
28 29 wfjm
# Synthesis targets --------------------------------------------------
29
#   ISE based targets, by board type -----------------------
30
#     S3board ------------------------------------
31
 
32
SYN_ise += rtl/sys_gen/tst_rlink/s3board
33
SYN_ise += rtl/sys_gen/tst_serloop/s3board
34
SYN_ise += rtl/sys_gen/tst_snhumanio/s3board
35 37 wfjm
SYN_ise += rtl/sys_gen/tst_sram/s3board
36 29 wfjm
SYN_ise += rtl/sys_gen/w11a/s3board
37
 
38
#     Nexys2 -------------------------------------
39 36 wfjm
#SYN_ise += rtl/sys_gen/tst_fx2loop/nexys2/ic
40
#SYN_ise += rtl/sys_gen/tst_fx2loop/nexys2/ic3
41 29 wfjm
SYN_ise += rtl/sys_gen/tst_rlink/nexys2
42
SYN_ise += rtl/sys_gen/tst_rlink_cuff/nexys2/ic
43 36 wfjm
#SYN_ise += rtl/sys_gen/tst_rlink_cuff/nexys2/ic3
44 29 wfjm
SYN_ise += rtl/sys_gen/tst_serloop/nexys2
45
SYN_ise += rtl/sys_gen/tst_snhumanio/nexys2
46 37 wfjm
SYN_ise += rtl/sys_gen/tst_sram/nexys2
47 29 wfjm
SYN_ise += rtl/sys_gen/w11a/nexys2
48
 
49
#     Nexys3 -------------------------------------
50 36 wfjm
#SYN_ise += rtl/sys_gen/tst_fx2loop/nexys3/ic
51
#SYN_ise += rtl/sys_gen/tst_fx2loop/nexys3/ic3
52 29 wfjm
SYN_ise += rtl/sys_gen/tst_rlink/nexys3
53
SYN_ise += rtl/sys_gen/tst_rlink_cuff/nexys3/ic
54
SYN_ise += rtl/sys_gen/tst_serloop/nexys3
55
SYN_ise += rtl/sys_gen/tst_snhumanio/nexys3
56 37 wfjm
SYN_ise += rtl/sys_gen/tst_sram/nexys3
57 29 wfjm
SYN_ise += rtl/sys_gen/w11a/nexys3
58
 
59
#   Vivado based targets, by board type --------------------
60
#     Basys3 -------------------------------------
61
SYN_viv += rtl/sys_gen/tst_snhumanio/basys3
62
#SYN_viv += rtl/sys_gen/tst_serloop/basys3
63
SYN_viv += rtl/sys_gen/tst_rlink/basys3
64
SYN_viv += rtl/sys_gen/w11a/basys3
65
 
66
#     Nexys4 -------------------------------------
67
SYN_viv += rtl/sys_gen/tst_rlink/nexys4
68
SYN_viv += rtl/sys_gen/tst_serloop/nexys4
69
SYN_viv += rtl/sys_gen/tst_snhumanio/nexys4
70 37 wfjm
SYN_viv += rtl/sys_gen/tst_sram/nexys4
71 29 wfjm
SYN_viv += rtl/sys_gen/w11a/nexys4
72
 
73 35 wfjm
#     Arty ---------------------------------------
74
SYN_viv += rtl/sys_gen/tst_rlink/arty
75
SYN_viv += rtl/sys_gen/w11a/arty_bram
76
 
77 29 wfjm
# Simulation targets -------------------------------------------------
78
#   ISE flow -----------------------------------------------
79
 
80
#     Component tests ----------------------------
81
 
82
#     S3board ------------------------------------
83
SIM_ise += rtl/sys_gen/tst_rlink/s3board/tb
84
SIM_ise += rtl/sys_gen/tst_serloop/s3board/tb
85 37 wfjm
SIM_ise += rtl/sys_gen/tst_sram/s3board/tb
86 29 wfjm
SIM_ise += rtl/sys_gen/w11a/s3board/tb
87
 
88
#     Nexys2 -------------------------------------
89
SIM_ise += rtl/sys_gen/tst_rlink/nexys2/tb
90
SIM_ise += rtl/sys_gen/tst_rlink_cuff/nexys2/ic/tb
91
SIM_ise += rtl/sys_gen/tst_serloop/nexys2/tb
92 37 wfjm
SIM_ise += rtl/sys_gen/tst_sram/nexys2/tb
93 29 wfjm
SIM_ise += rtl/sys_gen/w11a/nexys2/tb
94
 
95
#     Nexys3 -------------------------------------
96
SIM_ise += rtl/sys_gen/tst_rlink/nexys3/tb
97
SIM_ise += rtl/sys_gen/tst_rlink_cuff/nexys3/ic/tb
98
SIM_ise += rtl/sys_gen/tst_serloop/nexys3/tb
99 37 wfjm
SIM_ise += rtl/sys_gen/tst_sram/nexys3/tb
100 29 wfjm
SIM_ise += rtl/sys_gen/w11a/nexys3/tb
101
 
102
#   Vivado flow --------------------------------------------
103 37 wfjm
 
104
#     Component tests ----------------------------
105
SIM_viv += rtl/bplib/issi/tb
106
SIM_viv += rtl/bplib/micron/tb
107
SIM_viv += rtl/bplib/nxcramlib/tb
108
SIM_viv += rtl/vlib/comlib/tb
109
SIM_viv += rtl/vlib/rlink/tb
110
SIM_viv += rtl/vlib/serport/tb
111
SIM_viv += rtl/w11a/tb
112
 
113 29 wfjm
#     Basys3 -------------------------------------
114
SIM_viv += rtl/sys_gen/tst_rlink/basys3/tb
115
#SIM_viv += rtl/sys_gen/tst_serloop/basys3/tb
116
SIM_viv += rtl/sys_gen/w11a/basys3/tb
117 35 wfjm
 
118 29 wfjm
#     Nexys4 -------------------------------------
119
SIM_viv += rtl/sys_gen/tst_rlink/nexys4/tb
120
SIM_viv += rtl/sys_gen/tst_serloop/nexys4/tb
121 37 wfjm
SIM_viv += rtl/sys_gen/tst_sram/nexys4/tb
122 29 wfjm
SIM_viv += rtl/sys_gen/w11a/nexys4/tb
123 35 wfjm
 
124
#     Arty ---------------------------------------
125
SIM_viv += rtl/sys_gen/tst_rlink/arty/tb
126
SIM_viv += rtl/sys_gen/w11a/arty_bram/tb
127
 
128 16 wfjm
#
129 29 wfjm
.PHONY : default
130
.PHONY : all all_ise all_viv
131
.PHONY : all_sim_ise all_syn_ise all_syn_viv
132 36 wfjm
.PHONY : vmfsum imfsum
133 29 wfjm
.PHONY : clean
134
.PHONY : clean_sim_ise clean_sim_ise_tmp
135
.PHONY : clean_sym_ise clean_sim_viv clean_sym_ise_tmp clean_sym_viv_tmp
136 16 wfjm
#
137 29 wfjm
# all directories most be declared as phony targets
138
.PHONY : $(SYN_ise) $(SIM_ise)
139
.PHONY : $(SYN_viv) $(SIM_viv)
140
#
141 28 wfjm
default :
142 27 wfjm
        @echo "No default action defined:"
143 19 wfjm
        @echo "  for VHDL simulation/synthesis use:"
144 29 wfjm
        @echo "    make -j `nproc` all"
145
        @echo "    make -j `nproc` all_ise"
146
        @echo "    make -j `nproc` all_viv"
147
        @echo "    make -j `nproc` all_sim_ise"
148
        @echo "    make -j `nproc` all_syn_ise"
149
        @echo "    make -j `nproc` all_sim_viv"
150 31 wfjm
        @echo "    make -j 1 all_syn_viv"
151 36 wfjm
        @echo "    make vmfsum"
152
        @echo "    make imfsum"
153 19 wfjm
        @echo "    make clean"
154 29 wfjm
        @echo "    make clean_sim_ise"
155
        @echo "    make clean_syn_ise"
156
        @echo "    make clean_sim_viv"
157
        @echo "    make clean_syn_viv"
158
        @echo "    make clean_sim_ise_tmp"
159
        @echo "    make clean_syn_ise_tmp"
160
        @echo "    make clean_sim_viv_tmp"
161
        @echo "    make clean_syn_viv_tmp"
162 19 wfjm
        @echo "  for tool/documentation generation use:"
163 27 wfjm
        @echo "    make -j `nproc` all_lib"
164 19 wfjm
        @echo "    make clean_lib"
165
        @echo "    make all_tcl"
166
        @echo "    make all_dox"
167 16 wfjm
#
168 29 wfjm
all     : all_ise all_viv all_lib
169
all_ise : all_sim_ise all_syn_ise
170
all_viv : all_sim_viv all_syn_viv
171 16 wfjm
#
172 29 wfjm
clean : clean_sim_ise clean_syn_ise clean_sim_viv clean_syn_viv
173 16 wfjm
#
174 29 wfjm
clean_sim_ise :
175
        for dir in $(SIM_ise); do $(MAKE) -C $$dir clean; done
176
clean_syn_ise :
177
        for dir in $(SYN_ise); do $(MAKE) -C $$dir clean; done
178 16 wfjm
#
179 29 wfjm
clean_sim_viv :
180
        for dir in $(SIM_viv); do $(MAKE) -C $$dir clean; done
181
clean_syn_viv :
182
        for dir in $(SYN_viv); do $(MAKE) -C $$dir clean; done
183 21 wfjm
#
184 29 wfjm
clean_sim_ise_tmp :
185
        for dir in $(SIM_ise); do $(MAKE) -C $$dir ghdl_tmp_clean; done
186
clean_syn_ise_tmp :
187
        for dir in $(SYN_ise); do $(MAKE) -C $$dir ise_tmp_clean; done
188 17 wfjm
#
189 29 wfjm
clean_sim_viv_tmp :
190
        for dir in $(SIM_viv); do $(MAKE) -C $$dir ghdl_tmp_clean; done
191
clean_syn_viv_tmp :
192
        for dir in $(SYN_viv); do $(MAKE) -C $$dir viv_tmp_clean; done
193
#
194
all_sim_ise : $(SIM_ise)
195
#
196
all_syn_ise : $(SYN_ise)
197 17 wfjm
        @if [ -n "`find -name "*_par.log" | xargs grep -L 'All constraints were met'`" ] ; then \
198
          echo "++++++++++ some designs have no timing closure: ++++++++++"; \
199
          find -name "*_par.log" | xargs grep -L 'All constraints were met'; \
200
          echo "++++++++++ ++++++++++++++++++++++++++++++++++++ ++++++++++"; \
201 29 wfjm
        else \
202
          echo "++++++++++ all ISE designs have timing closure ++++++++++"; \
203 17 wfjm
        fi
204 16 wfjm
#
205 29 wfjm
all_sim_viv : $(SIM_viv)
206 17 wfjm
#
207 29 wfjm
all_syn_viv : $(SYN_viv)
208
        @if [ -n "`find -name "*_rou_tim.rpt" | xargs grep -L 'All user specified timing constraints are met'`" ] ; then \
209
          echo "++++++++++ some designs have no timing closure: ++++++++++"; \
210
          find -name "*_rou_tim.rpt" | xargs grep -L 'All user specified timing constraints are met'; \
211
          echo "++++++++++ ++++++++++++++++++++++++++++++++++++ ++++++++++"; \
212
        else \
213
          echo "++++++++++ all Vivado designs have timing closure ++++++++++"; \
214
        fi
215
#
216
# Neither ghdl nor Xilinx tools allow multiple parallel compiles in one
217
# directory. The following ensures that the sub-makes are called with -j 1
218
# and will not try to run multiple compiles on one directory.
219
#
220
$(SIM_ise):
221 17 wfjm
        $(MAKE) -j 1 -C $@
222 29 wfjm
$(SYN_ise):
223 17 wfjm
        $(MAKE) -j 1 -C $@
224 16 wfjm
#
225 29 wfjm
$(SIM_viv):
226
        $(MAKE) -j 1 -C $@
227
$(SYN_viv):
228
        $(MAKE) -j 1 -C $@
229
#
230 36 wfjm
vmfsum :
231
        @xviv_msg_summary
232
imfsum :
233
        @xise_msg_summary
234
#
235 19 wfjm
all_lib :
236
        $(MAKE) -C tools/src
237
clean_lib :
238
        $(MAKE) -C tools/src distclean
239
#
240
all_tcl :
241
        (cd tools/tcl; setup_packages)
242
#
243
all_dox :
244
        (cd tools/dox; make_doxy)
245
#
246
all_all : all_sim all_syn all_lib all_tcl
247 29 wfjm
 

powered by: WebSVN 2.1.0

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