-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathMakefile
49 lines (38 loc) · 1.15 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# verilog simulation makefile
# pattern rules
%.lxt : %.bin
vvp -n $^ -lxt2
gtkwave $@ gtksav/$(basename $(notdir $^)).sav &
%.bin: %.v
iverilog -o $@ $^
# tagets
default: bin/pcap.lxt bin/pcap10gb.lxt bin/obin2bcd8.lxt bin/obin2bcd_serial.lxt bin/ohash.lxt bin/ohashmap.lxt bin/olittletoe.lxt \
bin/oxml.lxt
clean:
RM bin/*
$(shell mkdir -p bin)
# rules
bin/pcap.lxt: bin/pcap.bin
bin/pcap.bin: pcap/pcapparser_1gb*.v
iverilog -o $@ $^
bin/pcap10gb.lxt: bin/pcap10gb.bin
bin/pcap10gb.bin: pcap/pcap*_10gb*.v
iverilog -o $@ $^
bin/obin2bcd8.lxt: bin/obin2bcd8.bin
bin/obin2bcd8.bin: bcd/bin2bcd8*.v bcd/add3.v
iverilog -o $@ $^
bin/obin2bcd_serial.lxt: bin/obin2bcd_serial.bin
bin/obin2bcd_serial.bin: bcd/bin2bcd_serial*.v
iverilog -o $@ $^
bin/ohash.lxt: bin/ohash.bin
bin/ohash.bin: hash/jenkins*.v
iverilog -o $@ $^
bin/ohashmap.lxt: bin/ohashmap.bin
bin/ohashmap.bin: hash/serialMap*.v hash/jenkins.v
iverilog -o $@ $^
bin/olittletoe.lxt: bin/olittletoe.bin
bin/olittletoe.bin: littletoe/tcp.v littletoe/tcp_test.v pcap/pcapparser_1gb.v
iverilog -Wall -o $@ $^
bin/oxml.lxt: bin/oxml.bin
bin/oxml.bin: xml/XMLdecoder*.v
iverilog -Wall -o $@ $^