1 |
16 |
arniml |
##############################################################################
|
2 |
11 |
arniml |
#
|
3 |
|
|
# Tool-specific Makefile for the GHDL compiler.
|
4 |
|
|
#
|
5 |
16 |
arniml |
# It sets all variables needed for VHDL code compilation with Makefile.hier.
|
6 |
11 |
arniml |
#
|
7 |
|
|
#
|
8 |
|
|
# Copyright (c) 2004, Arnim Laeuger (arniml@opencores.org)
|
9 |
|
|
#
|
10 |
|
|
# All rights reserved
|
11 |
|
|
#
|
12 |
|
|
##############################################################################
|
13 |
|
|
|
14 |
|
|
|
15 |
9 |
arniml |
LIB_WORK = ghdl-work
|
16 |
|
|
|
17 |
|
|
CLEAN = ghdl --clean --std=87 --workdir=$(LIB_WORK)
|
18 |
|
|
|
19 |
|
|
ANALYZE = ghdl -a --ieee=synopsys --std=87 --workdir=$(LIB_WORK)
|
20 |
|
|
|
21 |
|
|
ELABORATE = ghdl -e --ieee=synopsys --std=87 --workdir=$(LIB_WORK)
|
22 |
|
|
|
23 |
|
|
MAKE_LIB = mkdir -p $(LIB_WORK)
|
24 |
|
|
|
25 |
11 |
arniml |
|
26 |
|
|
##############################################################################
|
27 |
|
|
# The analyze targets
|
28 |
|
|
#
|
29 |
|
|
tb_t8048_behav_c0 = $(LIB_WORK)/tb_t8048-c.o
|
30 |
|
|
tb_t8048 = $(LIB_WORK)/tb_t8048.o
|
31 |
|
|
tb_behav_c0 = $(LIB_WORK)/tb-c.o
|
32 |
|
|
tb = $(LIB_WORK)/tb.o
|
33 |
|
|
t8048_struct_c0 = $(LIB_WORK)/t8048-c.o
|
34 |
|
|
t8048 = $(LIB_WORK)/t8048.o
|
35 |
9 |
arniml |
t48_tb_pack = $(LIB_WORK)/t48_tb_pack-p.o
|
36 |
|
|
t48_pack = $(LIB_WORK)/t48_pack-p.o
|
37 |
|
|
t48_core_struct_c0 = $(LIB_WORK)/t48_core-c.o
|
38 |
|
|
t48_core = $(LIB_WORK)/t48_core.o
|
39 |
|
|
t48_core_comp_pack = $(LIB_WORK)/t48_core_comp_pack-p.o
|
40 |
|
|
t48_comp_pack = $(LIB_WORK)/t48_comp_pack-p.o
|
41 |
|
|
syn_rom = $(LIB_WORK)/syn_rom-e.o
|
42 |
|
|
syn_rom-lpm-a = $(LIB_WORK)/syn_rom-lpm-a.o
|
43 |
|
|
syn_rom_lpm_c0 = $(LIB_WORK)/syn_rom-lpm-c.o
|
44 |
|
|
lpm_rom = $(LIB_WORK)/lpm_rom.o
|
45 |
|
|
syn_ram = $(LIB_WORK)/syn_ram-e.o
|
46 |
|
|
syn_ram-lpm-a = $(LIB_WORK)/syn_ram-lpm-a.o
|
47 |
|
|
syn_ram_lpm_c0 = $(LIB_WORK)/syn_ram-lpm-c.o
|
48 |
|
|
lpm_ram_dq = $(LIB_WORK)/lpm_ram_dq.o
|
49 |
|
|
psw_rtl_c0 = $(LIB_WORK)/psw-c.o
|
50 |
|
|
psw = $(LIB_WORK)/psw.o
|
51 |
|
|
pmem_ctrl_rtl_c0 = $(LIB_WORK)/pmem_ctrl-c.o
|
52 |
|
|
pmem_ctrl_pack = $(LIB_WORK)/pmem_ctrl_pack-p.o
|
53 |
|
|
pmem_ctrl = $(LIB_WORK)/pmem_ctrl.o
|
54 |
|
|
p2_rtl_c0 = $(LIB_WORK)/p2-c.o
|
55 |
|
|
p2 = $(LIB_WORK)/p2.o
|
56 |
|
|
p1_rtl_c0 = $(LIB_WORK)/p1-c.o
|
57 |
|
|
p1 = $(LIB_WORK)/p1.o
|
58 |
|
|
timer_rtl_c0 = $(LIB_WORK)/timer-c.o
|
59 |
|
|
timer = $(LIB_WORK)/timer.o
|
60 |
|
|
opc_table_rtl_c0 = $(LIB_WORK)/opc_table-c.o
|
61 |
|
|
opc_table = $(LIB_WORK)/opc_table.o
|
62 |
|
|
opc_decoder_rtl_c0 = $(LIB_WORK)/opc_decoder-c.o
|
63 |
|
|
opc_decoder = $(LIB_WORK)/opc_decoder.o
|
64 |
|
|
int_rtl_c0 = $(LIB_WORK)/int-c.o
|
65 |
|
|
int = $(LIB_WORK)/int.o
|
66 |
|
|
dmem_ctrl_rtl_c0 = $(LIB_WORK)/dmem_ctrl-c.o
|
67 |
|
|
dmem_ctrl_pack = $(LIB_WORK)/dmem_ctrl_pack-p.o
|
68 |
|
|
dmem_ctrl = $(LIB_WORK)/dmem_ctrl.o
|
69 |
|
|
decoder_rtl_c0 = $(LIB_WORK)/decoder-c.o
|
70 |
|
|
decoder_pack = $(LIB_WORK)/decoder_pack-p.o
|
71 |
|
|
decoder = $(LIB_WORK)/decoder.o
|
72 |
|
|
db_bus_rtl_c0 = $(LIB_WORK)/db_bus-c.o
|
73 |
|
|
db_bus = $(LIB_WORK)/db_bus.o
|
74 |
|
|
cond_branch_rtl_c0 = $(LIB_WORK)/cond_branch-c.o
|
75 |
|
|
cond_branch_pack = $(LIB_WORK)/cond_branch_pack-p.o
|
76 |
|
|
cond_branch = $(LIB_WORK)/cond_branch.o
|
77 |
|
|
clock_ctrl_rtl_c0 = $(LIB_WORK)/clock_ctrl-c.o
|
78 |
|
|
clock_ctrl = $(LIB_WORK)/clock_ctrl.o
|
79 |
|
|
clk_gate_rtl_c0 = $(LIB_WORK)/clk_gate-c.o
|
80 |
|
|
clk_gate = $(LIB_WORK)/clk_gate.o
|
81 |
|
|
bus_mux_rtl_c0 = $(LIB_WORK)/bus_mux-c.o
|
82 |
|
|
bus_mux = $(LIB_WORK)/bus_mux.o
|
83 |
|
|
alu_rtl_c0 = $(LIB_WORK)/alu-c.o
|
84 |
|
|
alu_pack = $(LIB_WORK)/alu_pack-p.o
|
85 |
|
|
alu = $(LIB_WORK)/alu.o
|
86 |
11 |
arniml |
#
|
87 |
|
|
##############################################################################
|
88 |
9 |
arniml |
|
89 |
|
|
|
90 |
11 |
arniml |
##############################################################################
|
91 |
|
|
# The elaboration targets
|
92 |
|
|
#
|
93 |
|
|
tb_elab = $(LIB_WORK)/e~tb_behav_c0.o
|
94 |
|
|
tb_t8048_elab = $(LIB_WORK)e~tb_t8048_behav_c0.o
|
95 |
|
|
#
|
96 |
|
|
##############################################################################
|
97 |
|
|
|
98 |
|
|
|
99 |
|
|
##############################################################################
|
100 |
|
|
# Tool-specific elaboration rules
|
101 |
|
|
#
|
102 |
9 |
arniml |
$(tb_elab) : $(tb_behav_c0)
|
103 |
|
|
$(ELABORATE) tb_behav_c0; \
|
104 |
|
|
strip tb_behav_c0
|
105 |
|
|
|
106 |
|
|
$(tb_t8048_elab) : $(tb_t8048_behav_c0)
|
107 |
|
|
$(ELABORATE) tb_t8048_behav_c0; \
|
108 |
|
|
strip tb_t8048_behav_c0
|
109 |
|
|
|
110 |
|
|
.PHONY: elaborate
|
111 |
|
|
elaborate: $(LIB_WORK) $(tb_elab) $(tb_t8048_elab)
|
112 |
11 |
arniml |
#
|
113 |
|
|
##############################################################################
|
114 |
9 |
arniml |
|
115 |
11 |
arniml |
|
116 |
9 |
arniml |
include Makefile.hier
|