Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 190 lines (154 sloc) 5.627 kB
471d389 autoconf the makefiles.
steve authored
1 #
2 # This source code is free software; you can redistribute it
3 # and/or modify it in source code form under the terms of the GNU
4 # Library General Public License as published by the Free Software
5 # Foundation; either version 2 of the License, or (at your option)
6 # any later version. In order to redistribute the software in
7 # binary form, you will need a Picture Elements Binary Software
8 # License.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU Library General Public License for more details.
14 #
15 # You should have received a copy of the GNU Library General Public
16 # License along with this program; if not, write to the Free
17 # Software Foundation, Inc.,
18 # 59 Temple Place - Suite 330
19 # Boston, MA 02111-1307, USA
20 #
431228e make check target (PR#3)
steve authored
21 #ident "$Id: Makefile.in,v 1.75 2000/10/28 03:58:11 steve Exp $"
471d389 autoconf the makefiles.
steve authored
22 #
23 #
24 SHELL = /bin/sh
25
d0fc6d5 Add ivl_target support for logic gates, and
steve authored
26 VERSION = 0.3
471d389 autoconf the makefiles.
steve authored
27
28 prefix = @prefix@
29 exec_prefix = @exec_prefix@
30 srcdir = @srcdir@
31
32 VPATH = $(srcdir)
33
34 bindir = $(exec_prefix)/bin
35 libdir = $(exec_prefix)/lib
36 includedir = $(prefix)/include
37
566aad9 Start stub for loadable targets.
steve authored
38 dllib=@DLLIB@
39 rdynamic=@rdynamic@
40
471d389 autoconf the makefiles.
steve authored
41 CC = @CC@
42 CXX = @CXX@
43 INSTALL = @INSTALL@
e6bd088 Compile time problems with vpi_user.h
steve authored
44 INSTALL_SCRIPT = @INSTALL_SCRIPT@
471d389 autoconf the makefiles.
steve authored
45 INSTALL_PROGRAM = @INSTALL_PROGRAM@
46 INSTALL_DATA = @INSTALL_DATA@
8bad04a cannonical make targets, and strip on install.
steve authored
47 STRIP = @STRIP@
471d389 autoconf the makefiles.
steve authored
48
49 CPPFLAGS = @CPPFLAGS@ @DEFS@
59e85dc Support build in different directory.
steve authored
50 CXXFLAGS = @CXXFLAGS@ -I$(srcdir)
471d389 autoconf the makefiles.
steve authored
51 LDFLAGS = @LDFLAGS@
52
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
53 all: ivl@EXEEXT@
59e85dc Support build in different directory.
steve authored
54 cd vvm ; $(MAKE) all
b34a451 Cygwin port changes from Venkat
steve authored
55 cd vpi ; $(MAKE) all
59e85dc Support build in different directory.
steve authored
56 cd ivlpp ; $(MAKE) all
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
57 cd driver ; $(MAKE) all
41f3ba6 xor and constant devices.
steve authored
58 cd tgt-verilog ; $(MAKE) all
59 cd tgt-stub ; $(MAKE) all
471d389 autoconf the makefiles.
steve authored
60
431228e make check target (PR#3)
steve authored
61 # This rule rules the compiler in the trivial hello.vl program to make
62 # sure the basics were compiled properly.
63 check: all
64 driver/iverilog -Ccheck.conf -B./ivlpp examples/hello.vl
65 ./a.out | grep 'Hello, World'
66
471d389 autoconf the makefiles.
steve authored
67 clean:
b34a451 Cygwin port changes from Venkat
steve authored
68 rm -f *.o parse.cc parse.cc.output parse.h dep/*.d lexor.cc lexor_keyword.cc verilog iverilog@EXEEXT@
59e85dc Support build in different directory.
steve authored
69 cd vvm ; $(MAKE) clean
b34a451 Cygwin port changes from Venkat
steve authored
70 cd vpi ; $(MAKE) clean
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
71 cd driver ; $(MAKE) clean
59e85dc Support build in different directory.
steve authored
72 cd ivlpp ; $(MAKE) clean
41f3ba6 xor and constant devices.
steve authored
73 cd tgt-verilog ; $(MAKE) clean
74 cd tgt-stub ; $(MAKE) clean
471d389 autoconf the makefiles.
steve authored
75
8bad04a cannonical make targets, and strip on install.
steve authored
76 distclean: clean
77 rm -f vvm/Makefile
b34a451 Cygwin port changes from Venkat
steve authored
78 rm -f vpi/Makefile
8bad04a cannonical make targets, and strip on install.
steve authored
79 rm -f ivlpp/Makefile
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
80 rm -f driver/Makefile
8bad04a cannonical make targets, and strip on install.
steve authored
81 rm -f config.status config.cache config.log
82 rm -f Makefile
83
80c69d5 Add enough tgt-verilog code to support hello world.
steve authored
84 TT = t-dll.o t-dll-api.o t-dll-expr.o t-dll-proc.o t-null.o \
85 t-verilog.o t-vvm.o t-xnf.o
42e4ff4 Move inital value handling from NetNet to Nexus
steve authored
86 FF = nodangle.o synth.o syn-rules.o xnfio.o
471d389 autoconf the makefiles.
steve authored
87
4cfa3e4 Support the creation of scopes.
steve authored
88 O = main.o cprop.o design_dump.o dup_expr.o elaborate.o elab_expr.o \
b6ce313 move lval elaboration to PExpr virtual methods.
steve authored
89 elab_lval.o elab_net.o elab_pexpr.o elab_scope.o elab_sig.o emit.o eval.o \
90 eval_tree.o expr_synth.o functor.o lexor.o lexor_keyword.o link_const.o \
ac81f6a Rearrange NetAssign to make NetAssign_ separate.
steve authored
91 mangle.o netlist.o net_assign.o \
89d7176 Add support for modulus (Eric Aardoom)
steve authored
92 net_design.o net_event.o net_force.o net_link.o net_modulo.o net_proc.o \
93 net_scope.o net_udp.o \
30e8289 Simulate named event trigger and waits.
steve authored
94 pad_to_width.o \
0fb4ba7 Allow expanding of additive operators.
steve authored
95 parse.o parse_misc.o pform.o pform_dump.o \
1c41f8e Move set_width methods into a single file,
steve authored
96 set_width.o \
08e9a11 Catch memory word parameters to tasks.
steve authored
97 verinum.o verireal.o target.o targets.o util.o Module.o PDelays.o PEvent.o \
2dd010d Named events as far as the pform.
steve authored
98 PExpr.o PGate.o \
e0a988b Add functions up to elaboration (Ed Carter)
steve authored
99 PTask.o PFunction.o PWire.o Statement.o \
3ff6912 Elaborate user defined tasks.
steve authored
100 $(FF) $(TT)
471d389 autoconf the makefiles.
steve authored
101
102 Makefile: Makefile.in config.status
103 ./config.status
104
b62f094 Add the verilog.sh script.
steve authored
105 # Make the actual verilog program from the script template. This
106 # simply invloves editing the substitution strings in the script into
107 # the configured copy.
108 tmp1 = bindir
109 tmp2 = libdir
a4143f8 autoconf the verilog script to run anywhere.
steve authored
110 tmp3 = includedir
111 tmp4 = CXX
b62f094 Add the verilog.sh script.
steve authored
112 verilog: $(srcdir)/verilog.sh
a4143f8 autoconf the verilog script to run anywhere.
steve authored
113 sed -e 's;@$(tmp1)@;@bindir@;' \
114 -e 's;@$(tmp2)@;@libdir@;' \
115 -e 's;@$(tmp3)@;@includedir@;' \
ce0b97a Fix up compiling with configured -ldl switch.
steve authored
116 -e 's;@dllib@;@DLLIB@;' \
a4143f8 autoconf the verilog script to run anywhere.
steve authored
117 -e 's;@$(tmp4)@;@CXX@;' < $< > $@
b62f094 Add the verilog.sh script.
steve authored
118
90ae464 Makefile patches to support target loading under cygwin.
steve authored
119 ifeq (@CYGWIN@,yes)
120 ivl@EXEEXT@: $O ivl.def
121 dlltool --dllname ivl@EXEEXT@ --def ivl.def \
122 --output-lib libivl.a --output-exp ivl.exp
123 # $(CXX) -o ivl@EXEEXT@ -Wl,--base-file,ivl.base ivl.exp $O $(dllib)
124 # dlltool --dllname ivl@EXEEXT@ --base-file ivl.base \
125 # --output-exp ivl.exp --def ivl.def
126 $(CXX) -o ivl@EXEEXT@ ivl.exp $O $(dllib)
127 else
b34a451 Cygwin port changes from Venkat
steve authored
128 ivl@EXEEXT@: $O
90ae464 Makefile patches to support target loading under cygwin.
steve authored
129 $(CXX) $(CXXFLAGS) $(rdynamic) $(LDFLAGS) -o ivl@EXEEXT@ $O $(dllib)
130 endif
471d389 autoconf the makefiles.
steve authored
131
c0d51dd Add the iverilog driver program.
steve authored
132
9680de2 Fix the clean target and excess dependencies.
steve authored
133 %.o: %.cc
f01cbc6 Remember to make the dep directory.
steve authored
134 @[ -d dep ] || mkdir dep
68a7ce3 include getopt if present.
steve authored
135 $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MD -c $< -o $*.o
471d389 autoconf the makefiles.
steve authored
136 mv $*.d dep/$*.d
137
138
139 lexor.o dep/lexor.d: lexor.cc parse.h
140
430d7b2 Add lexical support for real numbers.
steve authored
141 parse.o dep/parse.d: parse.cc
142
59e85dc Support build in different directory.
steve authored
143 parse.h parse.cc: $(srcdir)/parse.y
144 bison --verbose -t -p VL -d $(srcdir)/parse.y -o parse.cc
471d389 autoconf the makefiles.
steve authored
145 mv parse.cc.h parse.h
146
3c9902d Use yacc based synthesizer.
steve authored
147 syn-rules.cc: $(srcdir)/syn-rules.y
148 bison --verbose -p syn_ -o syn-rules.cc $(srcdir)/syn-rules.y
149
59e85dc Support build in different directory.
steve authored
150 lexor.cc: $(srcdir)/lexor.lex
151 flex -PVL -s -olexor.cc $(srcdir)/lexor.lex
471d389 autoconf the makefiles.
steve authored
152
6eef545 Support localparam.
steve authored
153 lexor_keyword.o dep/lexor_keyword.d: lexor_keyword.cc
154
155 lexor_keyword.cc: lexor_keyword.gperf
79ca317 Better handle failures to build lexor_keyword.cc
steve authored
156 gperf -o -i 7 -C -k 1-3,$$ -L ANSI-C -H keyword_hash -N check_identifier -t lexor_keyword.gperf > lexor_keyword.cc || (rm -f lexor_keyword.cc ; false)
6eef545 Support localparam.
steve authored
157
158
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
159 install: all installdirs $(libdir)/ivl/ivl@EXEEXT@ $(libdir)/ivl/iverilog.conf $(includedir)/ivl_target.h
59e85dc Support build in different directory.
steve authored
160 cd vvm ; $(MAKE) install
b34a451 Cygwin port changes from Venkat
steve authored
161 cd vpi ; $(MAKE) install
59e85dc Support build in different directory.
steve authored
162 cd ivlpp ; $(MAKE) install
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
163 cd driver ; $(MAKE) install
c0d51dd Add the iverilog driver program.
steve authored
164
b34a451 Cygwin port changes from Venkat
steve authored
165 $(libdir)/ivl/ivl@EXEEXT@: ./ivl@EXEEXT@
166 $(INSTALL_PROGRAM) ./ivl@EXEEXT@ $(libdir)/ivl/ivl@EXEEXT@
167 $(STRIP) $(libdir)/ivl/ivl@EXEEXT@
471d389 autoconf the makefiles.
steve authored
168
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
169 $(libdir)/ivl/iverilog.conf: $(srcdir)/iverilog.conf
170 $(INSTALL_DATA) $(srcdir)/iverilog.conf $(libdir)/ivl/iverilog.conf
171
d0fc6d5 Add ivl_target support for logic gates, and
steve authored
172 $(includedir)/ivl_target.h: $(srcdir)/ivl_target.h
173 $(INSTALL_DATA) $(srcdir)/ivl_target.h $(includedir)/ivl_target.h
174
471d389 autoconf the makefiles.
steve authored
175 installdirs: mkinstalldirs
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
176 $(srcdir)/mkinstalldirs $(bindir) $(includedir) $(libdir)/ivl
471d389 autoconf the makefiles.
steve authored
177
178 uninstall:
b34a451 Cygwin port changes from Venkat
steve authored
179 rm -f $(libdir)/ivl/ivl@EXEEXT@
180 rm -f $(bindir)/verilog@EXEEXT@
181 rm -f $(bindir)/gverilog@EXEEXT@
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
182 rm -f $(includedir)/ivl_target.h
183 cd driver ; $(MAKE) uninstall
59e85dc Support build in different directory.
steve authored
184 cd vpi ; $(MAKE) uninstall
185 cd vvm ; $(MAKE) uninstall
186 cd ivlpp ; $(MAKE) uninstall
471d389 autoconf the makefiles.
steve authored
187
188
189 -include $(patsubst %.o, dep/%.d, $O)
Something went wrong with that request. Please try again.