Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 188 lines (152 sloc) 5.585 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 #
f7d62b9 whoops, wrong copyright notice.
steve authored
19 #ident "$Id: Makefile.in,v 1.80 2000/11/21 03:55:20 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
30 VPATH = $(srcdir)
31
197ed46 configure bindir and libdir
steve authored
32 bindir = @bindir@
33 libdir = @libdir@
471d389 autoconf the makefiles.
steve authored
34 includedir = $(prefix)/include
35
566aad9 Start stub for loadable targets.
steve authored
36 dllib=@DLLIB@
37 rdynamic=@rdynamic@
38
471d389 autoconf the makefiles.
steve authored
39 CC = @CC@
40 CXX = @CXX@
41 INSTALL = @INSTALL@
e6bd088 Compile time problems with vpi_user.h
steve authored
42 INSTALL_SCRIPT = @INSTALL_SCRIPT@
471d389 autoconf the makefiles.
steve authored
43 INSTALL_PROGRAM = @INSTALL_PROGRAM@
44 INSTALL_DATA = @INSTALL_DATA@
8bad04a cannonical make targets, and strip on install.
steve authored
45 STRIP = @STRIP@
471d389 autoconf the makefiles.
steve authored
46
47 CPPFLAGS = @CPPFLAGS@ @DEFS@
59e85dc Support build in different directory.
steve authored
48 CXXFLAGS = @CXXFLAGS@ -I$(srcdir)
471d389 autoconf the makefiles.
steve authored
49 LDFLAGS = @LDFLAGS@
50
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
51 all: ivl@EXEEXT@
59e85dc Support build in different directory.
steve authored
52 cd vvm ; $(MAKE) all
b34a451 Cygwin port changes from Venkat
steve authored
53 cd vpi ; $(MAKE) all
59e85dc Support build in different directory.
steve authored
54 cd ivlpp ; $(MAKE) all
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
55 cd driver ; $(MAKE) all
41f3ba6 xor and constant devices.
steve authored
56 cd tgt-verilog ; $(MAKE) all
57 cd tgt-stub ; $(MAKE) all
471d389 autoconf the makefiles.
steve authored
58
431228e make check target (PR#3)
steve authored
59 # This rule rules the compiler in the trivial hello.vl program to make
60 # sure the basics were compiled properly.
61 check: all
72229ab check explicitly uses local libraries.
steve authored
62 driver/iverilog -Ccheck.conf -ocheck -tvvm-check -B./ivlpp examples/hello.vl
10fbb2a Glitches in cygwin build process.
steve authored
63 $(CXX) -o check $(rdynamic) -fno-exceptions -Ivvm -Ivpi -Lvvm check.cc -lvvm -lvpip $(dllib)
72229ab check explicitly uses local libraries.
steve authored
64 ./check | grep 'Hello, World'
431228e make check target (PR#3)
steve authored
65
471d389 autoconf the makefiles.
steve authored
66 clean:
b34a451 Cygwin port changes from Venkat
steve authored
67 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
68 cd vvm ; $(MAKE) clean
b34a451 Cygwin port changes from Venkat
steve authored
69 cd vpi ; $(MAKE) clean
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
70 cd driver ; $(MAKE) clean
59e85dc Support build in different directory.
steve authored
71 cd ivlpp ; $(MAKE) clean
41f3ba6 xor and constant devices.
steve authored
72 cd tgt-verilog ; $(MAKE) clean
73 cd tgt-stub ; $(MAKE) clean
471d389 autoconf the makefiles.
steve authored
74
8bad04a cannonical make targets, and strip on install.
steve authored
75 distclean: clean
76 rm -f vvm/Makefile
b34a451 Cygwin port changes from Venkat
steve authored
77 rm -f vpi/Makefile
8bad04a cannonical make targets, and strip on install.
steve authored
78 rm -f ivlpp/Makefile
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
79 rm -f driver/Makefile
8bad04a cannonical make targets, and strip on install.
steve authored
80 rm -f config.status config.cache config.log
81 rm -f Makefile
82
23a5bd0 Remove the compiled in Verilog target.
steve authored
83 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
84 FF = nodangle.o synth.o syn-rules.o xnfio.o
471d389 autoconf the makefiles.
steve authored
85
4cfa3e4 Support the creation of scopes.
steve authored
86 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
87 elab_lval.o elab_net.o elab_pexpr.o elab_scope.o elab_sig.o emit.o eval.o \
88 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
89 mangle.o netlist.o net_assign.o \
89d7176 Add support for modulus (Eric Aardoom)
steve authored
90 net_design.o net_event.o net_force.o net_link.o net_modulo.o net_proc.o \
91 net_scope.o net_udp.o \
30e8289 Simulate named event trigger and waits.
steve authored
92 pad_to_width.o \
0fb4ba7 Allow expanding of additive operators.
steve authored
93 parse.o parse_misc.o pform.o pform_dump.o \
1c41f8e Move set_width methods into a single file,
steve authored
94 set_width.o \
08e9a11 Catch memory word parameters to tasks.
steve authored
95 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
96 PExpr.o PGate.o \
e0a988b Add functions up to elaboration (Ed Carter)
steve authored
97 PTask.o PFunction.o PWire.o Statement.o \
3ff6912 Elaborate user defined tasks.
steve authored
98 $(FF) $(TT)
471d389 autoconf the makefiles.
steve authored
99
100 Makefile: Makefile.in config.status
101 ./config.status
102
b62f094 Add the verilog.sh script.
steve authored
103 # Make the actual verilog program from the script template. This
104 # simply invloves editing the substitution strings in the script into
105 # the configured copy.
106 tmp1 = bindir
107 tmp2 = libdir
a4143f8 autoconf the verilog script to run anywhere.
steve authored
108 tmp3 = includedir
109 tmp4 = CXX
b62f094 Add the verilog.sh script.
steve authored
110 verilog: $(srcdir)/verilog.sh
a4143f8 autoconf the verilog script to run anywhere.
steve authored
111 sed -e 's;@$(tmp1)@;@bindir@;' \
112 -e 's;@$(tmp2)@;@libdir@;' \
113 -e 's;@$(tmp3)@;@includedir@;' \
ce0b97a Fix up compiling with configured -ldl switch.
steve authored
114 -e 's;@dllib@;@DLLIB@;' \
a4143f8 autoconf the verilog script to run anywhere.
steve authored
115 -e 's;@$(tmp4)@;@CXX@;' < $< > $@
b62f094 Add the verilog.sh script.
steve authored
116
90ae464 Makefile patches to support target loading under cygwin.
steve authored
117 ifeq (@CYGWIN@,yes)
118 ivl@EXEEXT@: $O ivl.def
119 dlltool --dllname ivl@EXEEXT@ --def ivl.def \
120 --output-lib libivl.a --output-exp ivl.exp
121 # $(CXX) -o ivl@EXEEXT@ -Wl,--base-file,ivl.base ivl.exp $O $(dllib)
122 # dlltool --dllname ivl@EXEEXT@ --base-file ivl.base \
123 # --output-exp ivl.exp --def ivl.def
124 $(CXX) -o ivl@EXEEXT@ ivl.exp $O $(dllib)
125 else
b34a451 Cygwin port changes from Venkat
steve authored
126 ivl@EXEEXT@: $O
90ae464 Makefile patches to support target loading under cygwin.
steve authored
127 $(CXX) $(CXXFLAGS) $(rdynamic) $(LDFLAGS) -o ivl@EXEEXT@ $O $(dllib)
128 endif
471d389 autoconf the makefiles.
steve authored
129
c0d51dd Add the iverilog driver program.
steve authored
130
9680de2 Fix the clean target and excess dependencies.
steve authored
131 %.o: %.cc
f01cbc6 Remember to make the dep directory.
steve authored
132 @[ -d dep ] || mkdir dep
68a7ce3 include getopt if present.
steve authored
133 $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MD -c $< -o $*.o
471d389 autoconf the makefiles.
steve authored
134 mv $*.d dep/$*.d
135
136
137 lexor.o dep/lexor.d: lexor.cc parse.h
138
430d7b2 Add lexical support for real numbers.
steve authored
139 parse.o dep/parse.d: parse.cc
140
59e85dc Support build in different directory.
steve authored
141 parse.h parse.cc: $(srcdir)/parse.y
142 bison --verbose -t -p VL -d $(srcdir)/parse.y -o parse.cc
471d389 autoconf the makefiles.
steve authored
143 mv parse.cc.h parse.h
144
3c9902d Use yacc based synthesizer.
steve authored
145 syn-rules.cc: $(srcdir)/syn-rules.y
146 bison --verbose -p syn_ -o syn-rules.cc $(srcdir)/syn-rules.y
147
59e85dc Support build in different directory.
steve authored
148 lexor.cc: $(srcdir)/lexor.lex
149 flex -PVL -s -olexor.cc $(srcdir)/lexor.lex
471d389 autoconf the makefiles.
steve authored
150
6eef545 Support localparam.
steve authored
151 lexor_keyword.o dep/lexor_keyword.d: lexor_keyword.cc
152
153 lexor_keyword.cc: lexor_keyword.gperf
79ca317 Better handle failures to build lexor_keyword.cc
steve authored
154 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
155
156
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
157 install: all installdirs $(libdir)/ivl/ivl@EXEEXT@ $(libdir)/ivl/iverilog.conf $(includedir)/ivl_target.h
59e85dc Support build in different directory.
steve authored
158 cd vvm ; $(MAKE) install
b34a451 Cygwin port changes from Venkat
steve authored
159 cd vpi ; $(MAKE) install
59e85dc Support build in different directory.
steve authored
160 cd ivlpp ; $(MAKE) install
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
161 cd driver ; $(MAKE) install
c0d51dd Add the iverilog driver program.
steve authored
162
b34a451 Cygwin port changes from Venkat
steve authored
163 $(libdir)/ivl/ivl@EXEEXT@: ./ivl@EXEEXT@
164 $(INSTALL_PROGRAM) ./ivl@EXEEXT@ $(libdir)/ivl/ivl@EXEEXT@
165 $(STRIP) $(libdir)/ivl/ivl@EXEEXT@
471d389 autoconf the makefiles.
steve authored
166
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
167 $(libdir)/ivl/iverilog.conf: $(srcdir)/iverilog.conf
168 $(INSTALL_DATA) $(srcdir)/iverilog.conf $(libdir)/ivl/iverilog.conf
169
d0fc6d5 Add ivl_target support for logic gates, and
steve authored
170 $(includedir)/ivl_target.h: $(srcdir)/ivl_target.h
171 $(INSTALL_DATA) $(srcdir)/ivl_target.h $(includedir)/ivl_target.h
172
471d389 autoconf the makefiles.
steve authored
173 installdirs: mkinstalldirs
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
174 $(srcdir)/mkinstalldirs $(bindir) $(includedir) $(libdir)/ivl
471d389 autoconf the makefiles.
steve authored
175
176 uninstall:
b34a451 Cygwin port changes from Venkat
steve authored
177 rm -f $(libdir)/ivl/ivl@EXEEXT@
178 rm -f $(bindir)/verilog@EXEEXT@
179 rm -f $(bindir)/gverilog@EXEEXT@
5ce28c1 iverilog with an iverilog.conf configuration file.
steve authored
180 rm -f $(includedir)/ivl_target.h
181 cd driver ; $(MAKE) uninstall
59e85dc Support build in different directory.
steve authored
182 cd vpi ; $(MAKE) uninstall
183 cd vvm ; $(MAKE) uninstall
184 cd ivlpp ; $(MAKE) uninstall
471d389 autoconf the makefiles.
steve authored
185
186
187 -include $(patsubst %.o, dep/%.d, $O)
Something went wrong with that request. Please try again.