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

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.7/] [Makefile] - Blame information for rev 33

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

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