Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 190 lines (154 sloc) 5.707 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 #
197ed46 configure bindir and libdir
steve authored
21 #ident "$Id: Makefile.in,v 1.79 2000/11/11 00:48:35 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
197ed46 configure bindir and libdir
steve authored
34 bindir = @bindir@
35 libdir = @libdir@
471d389 autoconf the makefiles.
steve authored
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
72229ab check explicitly uses local libraries.
steve authored
64 driver/iverilog -Ccheck.conf -ocheck -tvvm-check -B./ivlpp examples/hello.vl
10fbb2a Glitches in cygwin build process.
steve authored
65 $(CXX) -o check $(rdynamic) -fno-exceptions -Ivvm -Ivpi -Lvvm check.cc -lvvm -lvpip $(dllib)
72229ab check explicitly uses local libraries.
steve authored
66 ./check | grep 'Hello, World'
431228e make check target (PR#3)
steve authored
67
471d389 autoconf the makefiles.
steve authored
68 clean:
b34a451 Cygwin port changes from Venkat
steve authored
69 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
70 cd vvm ; $(MAKE) clean
b34a451 Cygwin port changes from Venkat
steve authored
71 cd vpi ; $(MAKE) clean
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
72 cd driver ; $(MAKE) clean
59e85dc Support build in different directory.
steve authored
73 cd ivlpp ; $(MAKE) clean
41f3ba6 xor and constant devices.
steve authored
74 cd tgt-verilog ; $(MAKE) clean
75 cd tgt-stub ; $(MAKE) clean
471d389 autoconf the makefiles.
steve authored
76
8bad04a cannonical make targets, and strip on install.
steve authored
77 distclean: clean
78 rm -f vvm/Makefile
b34a451 Cygwin port changes from Venkat
steve authored
79 rm -f vpi/Makefile
8bad04a cannonical make targets, and strip on install.
steve authored
80 rm -f ivlpp/Makefile
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
81 rm -f driver/Makefile
8bad04a cannonical make targets, and strip on install.
steve authored
82 rm -f config.status config.cache config.log
83 rm -f Makefile
84
23a5bd0 Remove the compiled in Verilog target.
steve authored
85 TT = t-dll.o t-dll-api.o t-dll-expr.o t-dll-proc.o t-null.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.