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