Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 191 lines (152 sloc) 5.691 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)
f7d62b9 whoops, wrong copyright notice.
steve authored
6 # any later version.
471d389 autoconf the makefiles.
steve authored
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU Library General Public License for more details.
12 #
13 # You should have received a copy of the GNU Library General Public
14 # License along with this program; if not, write to the Free
15 # Software Foundation, Inc.,
16 # 59 Temple Place - Suite 330
17 # Boston, MA 02111-1307, USA
18 #
cb65ee5 Add the vvp engine to cvs.
steve authored
19 #ident "$Id: Makefile.in,v 1.92 2001/03/11 00:29:38 steve Exp $"
471d389 autoconf the makefiles.
steve authored
20 #
21 #
22 SHELL = /bin/sh
23
d0fc6d5 Add ivl_target support for logic gates, and
steve authored
24 VERSION = 0.3
471d389 autoconf the makefiles.
steve authored
25
26 prefix = @prefix@
27 exec_prefix = @exec_prefix@
28 srcdir = @srcdir@
29
cb65ee5 Add the vvp engine to cvs.
steve authored
30 SUBDIRS = @subdirs@
31
471d389 autoconf the makefiles.
steve authored
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@
a64a4d7 Fixes to support compilation using vpath.
steve authored
50 CXXFLAGS = @CXXFLAGS@ -I. -I$(srcdir)
471d389 autoconf the makefiles.
steve authored
51 LDFLAGS = @LDFLAGS@
52
40da501 Add the pal loadable target.
steve authored
53 # The TARGETS variable lists the target modules that can be build and
54 # installed. Some of them depend on external things, so are only
55 # compiled if the prerequisites are installed.
56 TARGETS = tgt-null
57 ifeq ('@HAVE_IPAL@','yes')
58 TARGETS += tgt-pal
59 endif
60
61
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
62 all: ivl@EXEEXT@
59e85dc Support build in different directory.
steve authored
63 cd vvm ; $(MAKE) all
b34a451 Cygwin port changes from Venkat
steve authored
64 cd vpi ; $(MAKE) all
59e85dc Support build in different directory.
steve authored
65 cd ivlpp ; $(MAKE) all
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
66 cd driver ; $(MAKE) all
41f3ba6 xor and constant devices.
steve authored
67 cd tgt-verilog ; $(MAKE) all
68 cd tgt-stub ; $(MAKE) all
40da501 Add the pal loadable target.
steve authored
69 for tgt in $(TARGETS); do (cd $$tgt ; $(MAKE) all); done
471d389 autoconf the makefiles.
steve authored
70
431228e make check target (PR#3)
steve authored
71 # This rule rules the compiler in the trivial hello.vl program to make
72 # sure the basics were compiled properly.
73 check: all
72229ab check explicitly uses local libraries.
steve authored
74 driver/iverilog -Ccheck.conf -ocheck -tvvm-check -B./ivlpp examples/hello.vl
10fbb2a Glitches in cygwin build process.
steve authored
75 $(CXX) -o check $(rdynamic) -fno-exceptions -Ivvm -Ivpi -Lvvm check.cc -lvvm -lvpip $(dllib)
72229ab check explicitly uses local libraries.
steve authored
76 ./check | grep 'Hello, World'
431228e make check target (PR#3)
steve authored
77
471d389 autoconf the makefiles.
steve authored
78 clean:
4faec15 Finally remove the verilog.sh script.
steve authored
79 rm -f *.o parse.cc parse.cc.output parse.h dep/*.d lexor.cc lexor_keyword.cc ivl@EXEEXT@ libivl.a
59e85dc Support build in different directory.
steve authored
80 cd vvm ; $(MAKE) clean
b34a451 Cygwin port changes from Venkat
steve authored
81 cd vpi ; $(MAKE) clean
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
82 cd driver ; $(MAKE) clean
59e85dc Support build in different directory.
steve authored
83 cd ivlpp ; $(MAKE) clean
41f3ba6 xor and constant devices.
steve authored
84 cd tgt-verilog ; $(MAKE) clean
85 cd tgt-stub ; $(MAKE) clean
40da501 Add the pal loadable target.
steve authored
86 for tgt in $(TARGETS); do (cd $$tgt ; $(MAKE) clean); done
471d389 autoconf the makefiles.
steve authored
87
8bad04a cannonical make targets, and strip on install.
steve authored
88 distclean: clean
89 rm -f vvm/Makefile
b34a451 Cygwin port changes from Venkat
steve authored
90 rm -f vpi/Makefile
8bad04a cannonical make targets, and strip on install.
steve authored
91 rm -f ivlpp/Makefile
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
92 rm -f driver/Makefile
8bad04a cannonical make targets, and strip on install.
steve authored
93 rm -f config.status config.cache config.log
94 rm -f Makefile
95
d0ec7e2 Make the null target into a loadable target.
steve authored
96 TT = t-dll.o t-dll-api.o t-dll-expr.o t-dll-proc.o t-vvm.o t-xnf.o
42e4ff4 Move inital value handling from NetNet to Nexus
steve authored
97 FF = nodangle.o synth.o syn-rules.o xnfio.o
471d389 autoconf the makefiles.
steve authored
98
4cfa3e4 Support the creation of scopes.
steve authored
99 O = main.o cprop.o design_dump.o dup_expr.o elaborate.o elab_expr.o \
f6507cb Check lvalue of procedural continuous assign (PR#29)
steve authored
100 elab_lval.o elab_net.o elab_anet.o elab_pexpr.o elab_scope.o \
219df16 Generalize the evaluation of floating point delays, and
steve authored
101 elab_sig.o emit.o eval.o eval_rconst.o \
b6ce313 move lval elaboration to PExpr virtual methods.
steve authored
102 eval_tree.o expr_synth.o functor.o lexor.o lexor_keyword.o link_const.o \
f5d0211 In the context of range declarations, use elab_and_eval instead
steve authored
103 mangle.o netlist.o netmisc.o net_assign.o \
89d7176 Add support for modulus (Eric Aardoom)
steve authored
104 net_design.o net_event.o net_force.o net_link.o net_modulo.o net_proc.o \
f6507cb Check lvalue of procedural continuous assign (PR#29)
steve authored
105 net_scope.o net_udp.o pad_to_width.o \
0fb4ba7 Allow expanding of additive operators.
steve authored
106 parse.o parse_misc.o pform.o pform_dump.o \
1c41f8e Move set_width methods into a single file,
steve authored
107 set_width.o \
ef49fc1 Change LineInfo to store const C strings.
steve authored
108 verinum.o verireal.o target.o targets.o util.o \
4f63888 Add Attrib class for holding NetObj attributes.
steve authored
109 Attrib.o LineInfo.o Module.o PDelays.o PEvent.o \
2dd010d Named events as far as the pform.
steve authored
110 PExpr.o PGate.o \
e0a988b Add functions up to elaboration (Ed Carter)
steve authored
111 PTask.o PFunction.o PWire.o Statement.o \
3ff6912 Elaborate user defined tasks.
steve authored
112 $(FF) $(TT)
471d389 autoconf the makefiles.
steve authored
113
114 Makefile: Makefile.in config.status
115 ./config.status
116
b62f094 Add the verilog.sh script.
steve authored
117
90ae464 Makefile patches to support target loading under cygwin.
steve authored
118 ifeq (@CYGWIN@,yes)
119 ivl@EXEEXT@: $O ivl.def
120 dlltool --dllname ivl@EXEEXT@ --def ivl.def \
121 --output-lib libivl.a --output-exp ivl.exp
122 # $(CXX) -o ivl@EXEEXT@ -Wl,--base-file,ivl.base ivl.exp $O $(dllib)
123 # dlltool --dllname ivl@EXEEXT@ --base-file ivl.base \
124 # --output-exp ivl.exp --def ivl.def
125 $(CXX) -o ivl@EXEEXT@ ivl.exp $O $(dllib)
126 else
b34a451 Cygwin port changes from Venkat
steve authored
127 ivl@EXEEXT@: $O
90ae464 Makefile patches to support target loading under cygwin.
steve authored
128 $(CXX) $(CXXFLAGS) $(rdynamic) $(LDFLAGS) -o ivl@EXEEXT@ $O $(dllib)
129 endif
471d389 autoconf the makefiles.
steve authored
130
c0d51dd Add the iverilog driver program.
steve authored
131
9680de2 Fix the clean target and excess dependencies.
steve authored
132 %.o: %.cc
f01cbc6 Remember to make the dep directory.
steve authored
133 @[ -d dep ] || mkdir dep
68a7ce3 include getopt if present.
steve authored
134 $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MD -c $< -o $*.o
471d389 autoconf the makefiles.
steve authored
135 mv $*.d dep/$*.d
136
137
ff53b60 Remove excess *.d dependencies for parse.d
steve authored
138 lexor.o: lexor.cc parse.h
471d389 autoconf the makefiles.
steve authored
139
ff53b60 Remove excess *.d dependencies for parse.d
steve authored
140 parse.o: parse.cc
430d7b2 Add lexical support for real numbers.
steve authored
141
59e85dc Support build in different directory.
steve authored
142 parse.h parse.cc: $(srcdir)/parse.y
143 bison --verbose -t -p VL -d $(srcdir)/parse.y -o parse.cc
471d389 autoconf the makefiles.
steve authored
144 mv parse.cc.h parse.h
145
3c9902d Use yacc based synthesizer.
steve authored
146 syn-rules.cc: $(srcdir)/syn-rules.y
147 bison --verbose -p syn_ -o syn-rules.cc $(srcdir)/syn-rules.y
148
59e85dc Support build in different directory.
steve authored
149 lexor.cc: $(srcdir)/lexor.lex
150 flex -PVL -s -olexor.cc $(srcdir)/lexor.lex
471d389 autoconf the makefiles.
steve authored
151
ff53b60 Remove excess *.d dependencies for parse.d
steve authored
152 lexor_keyword.o: lexor_keyword.cc
6eef545 Support localparam.
steve authored
153
154 lexor_keyword.cc: lexor_keyword.gperf
a64a4d7 Fixes to support compilation using vpath.
steve authored
155 gperf -o -i 7 -C -k 1-3,$$ -L ANSI-C -H keyword_hash -N check_identifier -t $(srcdir)/lexor_keyword.gperf > lexor_keyword.cc || (rm -f lexor_keyword.cc ; false)
6eef545 Support localparam.
steve authored
156
157
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
158 install: all installdirs $(libdir)/ivl/ivl@EXEEXT@ $(libdir)/ivl/iverilog.conf $(includedir)/ivl_target.h
59e85dc Support build in different directory.
steve authored
159 cd vvm ; $(MAKE) install
b34a451 Cygwin port changes from Venkat
steve authored
160 cd vpi ; $(MAKE) install
59e85dc Support build in different directory.
steve authored
161 cd ivlpp ; $(MAKE) install
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
162 cd driver ; $(MAKE) install
40da501 Add the pal loadable target.
steve authored
163 for tgt in $(TARGETS); do (cd $$tgt ; $(MAKE) install); done
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@
4faec15 Finally remove the verilog.sh script.
steve authored
180 rm -f $(bindir)/verilog
b34a451 Cygwin port changes from Venkat
steve authored
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
40da501 Add the pal loadable target.
steve authored
187 for tgt in $(TARGETS); do (cd $$tgt ; $(MAKE) uninstall); done
471d389 autoconf the makefiles.
steve authored
188
189
190 -include $(patsubst %.o, dep/%.d, $O)
Something went wrong with that request. Please try again.