1 |
25 |
wfjm |
# $Id: Makefile 562 2014-06-15 17:23:18Z 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 |
25 |
wfjm |
# 2014-06-14 562 1.0.8 suspend nexys4 syn targets
|
10 |
22 |
wfjm |
# 2013-09-28 535 1.0.7 add nexys4 port for sys_gen/tst_sram,w11a
|
11 |
21 |
wfjm |
# 2013-05-01 513 1.0.6 add clean_sim_tmp and clean_syn_tmp targets
|
12 |
17 |
wfjm |
# 2012-12-29 466 1.0.5 add tst_rlink_cuff
|
13 |
|
|
# 2011-12-26 445 1.0.4 add tst_fx2loop
|
14 |
|
|
# 2011-12-23 444 1.0.3 enforce -j 1 in sub-makes
|
15 |
16 |
wfjm |
# 2011-11-27 433 1.0.2 add new nexys3 ports
|
16 |
|
|
# 2011-11-18 426 1.0.1 add tst_serport and tst_snhumanio
|
17 |
|
|
# 2011-07-09 391 1.0 Initial version
|
18 |
|
|
#
|
19 |
17 |
wfjm |
SYN_all += rtl/sys_gen/tst_fx2loop/nexys2/ic
|
20 |
|
|
SYN_all += rtl/sys_gen/tst_fx2loop/nexys2/ic3
|
21 |
21 |
wfjm |
SYN_all += rtl/sys_gen/tst_fx2loop/nexys3/ic
|
22 |
|
|
SYN_all += rtl/sys_gen/tst_fx2loop/nexys3/ic3
|
23 |
16 |
wfjm |
SYN_all += rtl/sys_gen/tst_rlink/nexys2
|
24 |
|
|
SYN_all += rtl/sys_gen/tst_rlink/nexys3
|
25 |
|
|
SYN_all += rtl/sys_gen/tst_rlink/s3board
|
26 |
17 |
wfjm |
SYN_all += rtl/sys_gen/tst_rlink_cuff/nexys2/ic
|
27 |
18 |
wfjm |
SYN_all += rtl/sys_gen/tst_rlink_cuff/nexys2/ic3
|
28 |
|
|
SYN_all += rtl/sys_gen/tst_rlink_cuff/nexys3/ic
|
29 |
|
|
SYN_all += rtl/sys_gen/tst_rlink_cuff/atlys/ic
|
30 |
16 |
wfjm |
SYN_all += rtl/sys_gen/tst_serloop/nexys2
|
31 |
|
|
SYN_all += rtl/sys_gen/tst_serloop/nexys3
|
32 |
|
|
SYN_all += rtl/sys_gen/tst_serloop/s3board
|
33 |
|
|
SYN_all += rtl/sys_gen/tst_snhumanio/atlys
|
34 |
|
|
SYN_all += rtl/sys_gen/tst_snhumanio/nexys2
|
35 |
|
|
SYN_all += rtl/sys_gen/tst_snhumanio/nexys3
|
36 |
|
|
SYN_all += rtl/sys_gen/tst_snhumanio/s3board
|
37 |
|
|
SYN_all += rtl/sys_gen/w11a/nexys2
|
38 |
|
|
SYN_all += rtl/sys_gen/w11a/nexys3
|
39 |
|
|
SYN_all += rtl/sys_gen/w11a/s3board
|
40 |
|
|
|
41 |
|
|
SIM_all += rtl/bplib/nxcramlib/tb
|
42 |
|
|
SIM_all += rtl/sys_gen/tst_rlink/nexys2/tb
|
43 |
|
|
SIM_all += rtl/sys_gen/tst_rlink/nexys3/tb
|
44 |
|
|
SIM_all += rtl/sys_gen/tst_rlink/s3board/tb
|
45 |
18 |
wfjm |
SIM_all += rtl/sys_gen/tst_rlink_cuff/nexys2/ic/tb
|
46 |
21 |
wfjm |
SIM_all += rtl/sys_gen/tst_rlink_cuff/nexys3/ic/tb
|
47 |
16 |
wfjm |
SIM_all += rtl/sys_gen/tst_serloop/nexys2/tb
|
48 |
|
|
SIM_all += rtl/sys_gen/tst_serloop/nexys3/tb
|
49 |
|
|
SIM_all += rtl/sys_gen/tst_serloop/s3board/tb
|
50 |
|
|
SIM_all += rtl/sys_gen/w11a/nexys2/tb
|
51 |
|
|
SIM_all += rtl/sys_gen/w11a/nexys3/tb
|
52 |
|
|
SIM_all += rtl/sys_gen/w11a/s3board/tb
|
53 |
|
|
SIM_all += rtl/vlib/rlink/tb
|
54 |
|
|
SIM_all += rtl/vlib/serport/tb
|
55 |
|
|
SIM_all += rtl/w11a/tb
|
56 |
|
|
#
|
57 |
21 |
wfjm |
.PHONY : all all_sim all_syn
|
58 |
|
|
.PHONY : clean clean_sim clean_sim_tmp clean_sym clean_sym_tmp
|
59 |
16 |
wfjm |
.PHONY : $(SYN_all) $(SIM_all)
|
60 |
|
|
#
|
61 |
|
|
all :
|
62 |
19 |
wfjm |
@echo "no default action defined."
|
63 |
|
|
@echo " for VHDL simulation/synthesis use:"
|
64 |
|
|
@echo " make -j 4 all_sim"
|
65 |
|
|
@echo " make -j 4 all_syn"
|
66 |
|
|
@echo " make clean"
|
67 |
|
|
@echo " make clean_sim"
|
68 |
|
|
@echo " make clean_syn"
|
69 |
21 |
wfjm |
@echo " make clean_sim_tmp"
|
70 |
|
|
@echo " make clean_syn_tmp"
|
71 |
19 |
wfjm |
@echo " for tool/documentation generation use:"
|
72 |
|
|
@echo " make -j 4 all_lib"
|
73 |
|
|
@echo " make clean_lib"
|
74 |
|
|
@echo " make all_tcl"
|
75 |
|
|
@echo " make all_dox"
|
76 |
16 |
wfjm |
#
|
77 |
|
|
#
|
78 |
|
|
clean : clean_sim clean_syn
|
79 |
|
|
#
|
80 |
|
|
clean_sim :
|
81 |
|
|
for dir in $(SIM_all); do $(MAKE) -C $$dir clean; done
|
82 |
|
|
clean_syn :
|
83 |
|
|
for dir in $(SYN_all); do $(MAKE) -C $$dir clean; done
|
84 |
|
|
#
|
85 |
21 |
wfjm |
clean_sim_tmp :
|
86 |
|
|
for dir in $(SIM_all); do $(MAKE) -C $$dir ghdl_tmp_clean; done
|
87 |
|
|
clean_syn_tmp :
|
88 |
|
|
for dir in $(SYN_all); do $(MAKE) -C $$dir ise_tmp_clean; done
|
89 |
|
|
#
|
90 |
16 |
wfjm |
all_sim : $(SIM_all)
|
91 |
17 |
wfjm |
#
|
92 |
16 |
wfjm |
all_syn : $(SYN_all)
|
93 |
17 |
wfjm |
@if [ -n "`find -name "*_par.log" | xargs grep -L 'All constraints were met'`" ] ; then \
|
94 |
|
|
echo "++++++++++ some designs have no timing closure: ++++++++++"; \
|
95 |
|
|
find -name "*_par.log" | xargs grep -L 'All constraints were met'; \
|
96 |
|
|
echo "++++++++++ ++++++++++++++++++++++++++++++++++++ ++++++++++"; \
|
97 |
|
|
fi
|
98 |
16 |
wfjm |
#
|
99 |
17 |
wfjm |
# Neither ghdl nor xst allow multiple parallel compiles in one directory.
|
100 |
|
|
# The following ensures that the sub-makes are called with -j 1 and will
|
101 |
|
|
# not try to run multiple compiles on one directory.
|
102 |
|
|
#
|
103 |
16 |
wfjm |
$(SIM_all):
|
104 |
17 |
wfjm |
$(MAKE) -j 1 -C $@
|
105 |
16 |
wfjm |
$(SYN_all):
|
106 |
17 |
wfjm |
$(MAKE) -j 1 -C $@
|
107 |
16 |
wfjm |
#
|
108 |
19 |
wfjm |
all_lib :
|
109 |
|
|
$(MAKE) -C tools/src
|
110 |
|
|
clean_lib :
|
111 |
|
|
$(MAKE) -C tools/src distclean
|
112 |
|
|
#
|
113 |
|
|
all_tcl :
|
114 |
|
|
(cd tools/tcl; setup_packages)
|
115 |
|
|
#
|
116 |
|
|
all_dox :
|
117 |
|
|
(cd tools/dox; make_doxy)
|
118 |
|
|
#
|
119 |
|
|
all_all : all_sim all_syn all_lib all_tcl
|