Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 175 lines (139 sloc) 5.352 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 #
b34a451 Cygwin port changes from Venkat
steve authored
21 #ident "$Id: Makefile.in,v 1.70 2000/09/30 03:20:47 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
1c11c86 man page for the verilog front end.
steve authored
36 mandir = @mandir@
471d389 autoconf the makefiles.
steve authored
37 includedir = $(prefix)/include
38
566aad9 Start stub for loadable targets.
steve authored
39 dllib=@DLLIB@
40 rdynamic=@rdynamic@
41
471d389 autoconf the makefiles.
steve authored
42 CC = @CC@
43 CXX = @CXX@
44 INSTALL = @INSTALL@
e6bd088 Compile time problems with vpi_user.h
steve authored
45 INSTALL_SCRIPT = @INSTALL_SCRIPT@
471d389 autoconf the makefiles.
steve authored
46 INSTALL_PROGRAM = @INSTALL_PROGRAM@
47 INSTALL_DATA = @INSTALL_DATA@
8bad04a cannonical make targets, and strip on install.
steve authored
48 STRIP = @STRIP@
471d389 autoconf the makefiles.
steve authored
49
50 CPPFLAGS = @CPPFLAGS@ @DEFS@
59e85dc Support build in different directory.
steve authored
51 CXXFLAGS = @CXXFLAGS@ -I$(srcdir)
471d389 autoconf the makefiles.
steve authored
52 LDFLAGS = @LDFLAGS@
53
b34a451 Cygwin port changes from Venkat
steve authored
54 all: ivl@EXEEXT@ verilog iverilog@EXEEXT@
59e85dc Support build in different directory.
steve authored
55 cd vvm ; $(MAKE) all
b34a451 Cygwin port changes from Venkat
steve authored
56 cd vpi ; $(MAKE) all
59e85dc Support build in different directory.
steve authored
57 cd ivlpp ; $(MAKE) all
471d389 autoconf the makefiles.
steve authored
58
59 clean:
b34a451 Cygwin port changes from Venkat
steve authored
60 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
61 cd vvm ; $(MAKE) clean
b34a451 Cygwin port changes from Venkat
steve authored
62 cd vpi ; $(MAKE) clean
59e85dc Support build in different directory.
steve authored
63 cd ivlpp ; $(MAKE) clean
471d389 autoconf the makefiles.
steve authored
64
8bad04a cannonical make targets, and strip on install.
steve authored
65 distclean: clean
66 rm -f vvm/Makefile
b34a451 Cygwin port changes from Venkat
steve authored
67 rm -f vpi/Makefile
8bad04a cannonical make targets, and strip on install.
steve authored
68 rm -f ivlpp/Makefile
69 rm -f config.status config.cache config.log
70 rm -f Makefile
71
80c69d5 Add enough tgt-verilog code to support hello world.
steve authored
72 TT = t-dll.o t-dll-api.o t-dll-expr.o t-dll-proc.o t-null.o \
73 t-verilog.o t-vvm.o t-xnf.o
42e4ff4 Move inital value handling from NetNet to Nexus
steve authored
74 FF = nodangle.o synth.o syn-rules.o xnfio.o
471d389 autoconf the makefiles.
steve authored
75
4cfa3e4 Support the creation of scopes.
steve authored
76 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
77 elab_lval.o elab_net.o elab_pexpr.o elab_scope.o elab_sig.o emit.o eval.o \
78 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
79 mangle.o netlist.o net_assign.o \
89d7176 Add support for modulus (Eric Aardoom)
steve authored
80 net_design.o net_event.o net_force.o net_link.o net_modulo.o net_proc.o \
81 net_scope.o net_udp.o \
30e8289 Simulate named event trigger and waits.
steve authored
82 pad_to_width.o \
0fb4ba7 Allow expanding of additive operators.
steve authored
83 parse.o parse_misc.o pform.o pform_dump.o \
1c41f8e Move set_width methods into a single file,
steve authored
84 set_width.o \
08e9a11 Catch memory word parameters to tasks.
steve authored
85 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
86 PExpr.o PGate.o \
e0a988b Add functions up to elaboration (Ed Carter)
steve authored
87 PTask.o PFunction.o PWire.o Statement.o \
3ff6912 Elaborate user defined tasks.
steve authored
88 $(FF) $(TT)
471d389 autoconf the makefiles.
steve authored
89
90 Makefile: Makefile.in config.status
91 ./config.status
92
b62f094 Add the verilog.sh script.
steve authored
93 # Make the actual verilog program from the script template. This
94 # simply invloves editing the substitution strings in the script into
95 # the configured copy.
96 tmp1 = bindir
97 tmp2 = libdir
a4143f8 autoconf the verilog script to run anywhere.
steve authored
98 tmp3 = includedir
99 tmp4 = CXX
b62f094 Add the verilog.sh script.
steve authored
100 verilog: $(srcdir)/verilog.sh
a4143f8 autoconf the verilog script to run anywhere.
steve authored
101 sed -e 's;@$(tmp1)@;@bindir@;' \
102 -e 's;@$(tmp2)@;@libdir@;' \
103 -e 's;@$(tmp3)@;@includedir@;' \
ce0b97a Fix up compiling with configured -ldl switch.
steve authored
104 -e 's;@dllib@;@DLLIB@;' \
a4143f8 autoconf the verilog script to run anywhere.
steve authored
105 -e 's;@$(tmp4)@;@CXX@;' < $< > $@
b62f094 Add the verilog.sh script.
steve authored
106
b34a451 Cygwin port changes from Venkat
steve authored
107 ivl@EXEEXT@: $O
108 $(CXX) $(CXXFLAGS) $(rdynamic) -o ivl@EXEEXT@ $O $(dllib)
471d389 autoconf the makefiles.
steve authored
109
b34a451 Cygwin port changes from Venkat
steve authored
110 iverilog@EXEEXT@: iverilog.c
111 $(CC) $(CPPFLAGS) -o iverilog@EXEEXT@ -DCXX='"@CXX@"' -DIVL_ROOT='"@libdir@/ivl"' -DIVL_INC='"@includedir@"' -DIVL_LIB='"@libdir@"' -DRDYNAMIC=\"$(rdynamic)\" -DDLLIB='"@DLLIB@"' iverilog.c
c0d51dd Add the iverilog driver program.
steve authored
112
471d389 autoconf the makefiles.
steve authored
113 %.o dep/%.d: %.cc
f01cbc6 Remember to make the dep directory.
steve authored
114 @[ -d dep ] || mkdir dep
68a7ce3 include getopt if present.
steve authored
115 $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MD -c $< -o $*.o
471d389 autoconf the makefiles.
steve authored
116 mv $*.d dep/$*.d
117
118
119 lexor.o dep/lexor.d: lexor.cc parse.h
120
430d7b2 Add lexical support for real numbers.
steve authored
121 parse.o dep/parse.d: parse.cc
122
59e85dc Support build in different directory.
steve authored
123 parse.h parse.cc: $(srcdir)/parse.y
124 bison --verbose -t -p VL -d $(srcdir)/parse.y -o parse.cc
471d389 autoconf the makefiles.
steve authored
125 mv parse.cc.h parse.h
126
3c9902d Use yacc based synthesizer.
steve authored
127 syn-rules.cc: $(srcdir)/syn-rules.y
128 bison --verbose -p syn_ -o syn-rules.cc $(srcdir)/syn-rules.y
129
59e85dc Support build in different directory.
steve authored
130 lexor.cc: $(srcdir)/lexor.lex
131 flex -PVL -s -olexor.cc $(srcdir)/lexor.lex
471d389 autoconf the makefiles.
steve authored
132
6eef545 Support localparam.
steve authored
133 lexor_keyword.o dep/lexor_keyword.d: lexor_keyword.cc
134
135 lexor_keyword.cc: lexor_keyword.gperf
79ca317 Better handle failures to build lexor_keyword.cc
steve authored
136 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
137
138
b34a451 Cygwin port changes from Venkat
steve authored
139 install: all installdirs $(bindir)/iverilog@EXEEXT@ $(libdir)/ivl/ivl@EXEEXT@ $(includedir)/ivl_target.h $(mandir)/man1/iverilog.1
59e85dc Support build in different directory.
steve authored
140 cd vvm ; $(MAKE) install
b34a451 Cygwin port changes from Venkat
steve authored
141 cd vpi ; $(MAKE) install
59e85dc Support build in different directory.
steve authored
142 cd ivlpp ; $(MAKE) install
471d389 autoconf the makefiles.
steve authored
143
b34a451 Cygwin port changes from Venkat
steve authored
144 $(bindir)/iverilog@EXEEXT@: ./iverilog@EXEEXT@
145 $(INSTALL_PROGRAM) ./iverilog@EXEEXT@ $(bindir)/iverilog@EXEEXT@
146 $(STRIP) $(bindir)/iverilog@EXEEXT@
c0d51dd Add the iverilog driver program.
steve authored
147
b34a451 Cygwin port changes from Venkat
steve authored
148 $(libdir)/ivl/ivl@EXEEXT@: ./ivl@EXEEXT@
149 $(INSTALL_PROGRAM) ./ivl@EXEEXT@ $(libdir)/ivl/ivl@EXEEXT@
150 $(STRIP) $(libdir)/ivl/ivl@EXEEXT@
471d389 autoconf the makefiles.
steve authored
151
d0fc6d5 Add ivl_target support for logic gates, and
steve authored
152 $(includedir)/ivl_target.h: $(srcdir)/ivl_target.h
153 $(INSTALL_DATA) $(srcdir)/ivl_target.h $(includedir)/ivl_target.h
154
1412eb2 iverilog man page.
steve authored
155 $(mandir)/man1/iverilog.1: $(srcdir)/iverilog.man
156 $(INSTALL_DATA) $(srcdir)/iverilog.man $(mandir)/man1/iverilog.1
157
471d389 autoconf the makefiles.
steve authored
158 installdirs: mkinstalldirs
13c1378 Remember to make the includedir.
steve authored
159 $(srcdir)/mkinstalldirs $(bindir) $(includedir) $(libdir)/ivl $(mandir)/man1
471d389 autoconf the makefiles.
steve authored
160
161 uninstall:
b34a451 Cygwin port changes from Venkat
steve authored
162 rm -f $(libdir)/ivl/ivl@EXEEXT@
163 rm -f $(bindir)/verilog@EXEEXT@
164 rm -f $(bindir)/gverilog@EXEEXT@
165 rm -f $(bindir)/iverilog@EXEEXT@
d0fc6d5 Add ivl_target support for logic gates, and
steve authored
166 rm -r $(includedir)/ivl_target.h
1c11c86 man page for the verilog front end.
steve authored
167 rm -f $(mandir)/man1/verilog.1
1412eb2 iverilog man page.
steve authored
168 rm -f $(mandir)/man1/iverilog.1
59e85dc Support build in different directory.
steve authored
169 cd vpi ; $(MAKE) uninstall
170 cd vvm ; $(MAKE) uninstall
171 cd ivlpp ; $(MAKE) uninstall
471d389 autoconf the makefiles.
steve authored
172
173
174 -include $(patsubst %.o, dep/%.d, $O)
Something went wrong with that request. Please try again.