Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 342 lines (282 sloc) 11.99 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 #
19 SHELL = /bin/sh
20
90a4dde @steveicarus Keep source code version information in version files.
authored
21 # The interesting make targets are:
527f5c4 @steveicarus The -V flag gets version information from all parts.
authored
22 #
90a4dde @steveicarus Keep source code version information in version files.
authored
23 # make version
24 # Force the version_tag.h file to be rebuilt. Otherwise, it will only
25 # be built if it is missing.
527f5c4 @steveicarus The -V flag gets version information from all parts.
authored
26 #
90a4dde @steveicarus Keep source code version information in version files.
authored
27 # make all
28 # make install
527f5c4 @steveicarus The -V flag gets version information from all parts.
authored
29 #
90a4dde @steveicarus Keep source code version information in version files.
authored
30 # The "suffix" is used as an installation suffix. It modifies certain
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
31 # key install paths/files such that a build and install of Icarus Verilog
32 # with the same $(prefix) but a different $(suffix) will not interfere.
33 # The normal configuratin leaves suffix empty
34 suffix = @install_suffix@
35
471d389 autoconf the makefiles.
steve authored
36 prefix = @prefix@
37 exec_prefix = @exec_prefix@
38 srcdir = @srcdir@
5ec91ec @steveicarus Add datarootdir to makefiles
authored
39 datarootdir = @datarootdir@
471d389 autoconf the makefiles.
steve authored
40
26ee14c @caryr Clean up Makefile.in files.
caryr authored
41 SUBDIRS = ivlpp vvp vpi libveriuser cadpli tgt-null tgt-stub tgt-vvp \
42 tgt-vhdl driver
6909737 @caryr Some more generic fixes for building in a remote directory
caryr authored
43 # Only run distclean for these directories.
26ee14c @caryr Clean up Makefile.in files.
caryr authored
44 NOTUSED = tgt-fpga tgt-pal tgt-verilog
cb65ee5 Add the vvp engine to cvs.
steve authored
45
145133b @caryr Minor rework of how driver-vpi is supported.
caryr authored
46 ifeq (@MINGW32@,yes)
47 SUBDIRS += driver-vpi
48 else
49 NOTUSED += driver-vpi
50 endif
51
6909737 @caryr Some more generic fixes for building in a remote directory
caryr authored
52 # To get the version headers to build correctly we only want to look
53 # for C++ files in the source directory. All other files will require
54 # an explicit $(srcdir).
55 vpath %.cc $(srcdir)
471d389 autoconf the makefiles.
steve authored
56
197ed46 configure bindir and libdir
steve authored
57 bindir = @bindir@
58 libdir = @libdir@
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
59 # This is actually the directory where we install our own header files.
60 # It is a little different from the generic includedir.
5660e0e @steveicarus Install header files in includedir/iverilog
authored
61 includedir = @includedir@/iverilog$(suffix)
c594dce Add new iverilog-vpi man page.
steve authored
62 mandir = @mandir@
471d389 autoconf the makefiles.
steve authored
63
566aad9 Start stub for loadable targets.
steve authored
64 dllib=@DLLIB@
65
471d389 autoconf the makefiles.
steve authored
66 CC = @CC@
966e29d @steveicarus Unify the version stamp in the version_*.h header files.
authored
67 HOSTCC = @CC@
471d389 autoconf the makefiles.
steve authored
68 CXX = @CXX@
69 INSTALL = @INSTALL@
e6bd088 Compile time problems with vpi_user.h
steve authored
70 INSTALL_SCRIPT = @INSTALL_SCRIPT@
471d389 autoconf the makefiles.
steve authored
71 INSTALL_PROGRAM = @INSTALL_PROGRAM@
72 INSTALL_DATA = @INSTALL_DATA@
357a0ff Detect bison and flex in configure.in
steve authored
73 LEX = @LEX@
74 YACC = @YACC@
b26bdd3 @caryr MinGW fixes (development)
caryr authored
75 MAN = @MAN@
76 PS2PDF = @PS2PDF@
77 GIT = @GIT@
471d389 autoconf the makefiles.
steve authored
78
90a4dde @steveicarus Keep source code version information in version files.
authored
79 CPPFLAGS = @DEFS@ -I. -I$(srcdir) @CPPFLAGS@
ea938b7 @steveicarus Revert "Enable -Wshadow by default"
authored
80 CXXFLAGS = -Wall @CXXFLAGS@
3154f07 compile libvpi.a with PIC flags (Dan McMahill)
steve authored
81 PICFLAGS = @PICFLAG@
8188c4c Makefile cleanup.
steve authored
82 LDFLAGS = @rdynamic@ @LDFLAGS@
471d389 autoconf the makefiles.
steve authored
83
2e60a18 @steveicarus Make all should build the iverilog-vpi.man file.
authored
84 all: dep config.h _pli_types.h version_tag.h ivl@EXEEXT@ version.exe iverilog-vpi.man
d098db0 @jaredcasper Base Makefile improvements.
jaredcasper authored
85 $(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true
471d389 autoconf the makefiles.
steve authored
86
176e6d0 Add install of examples for Windows.
steve authored
87 # In the windows world, the installer will need a dosify program to
88 # dosify text files.
b26bdd3 @caryr MinGW fixes (development)
caryr authored
89 ifeq (@MINGW32@,yes)
feee406 Makefile cleanups to better support concurrent make.
steve authored
90 all: dep dosify.exe
8abe0d7 @caryr Make MinGW compile using a remote build directory.
caryr authored
91 dosify.exe: $(srcdir)/dosify.c
92 $(CC) -o dosify.exe $(srcdir)/dosify.c
176e6d0 Add install of examples for Windows.
steve authored
93 endif
94
431228e make check target (PR#3)
steve authored
95 # This rule rules the compiler in the trivial hello.vl program to make
96 # sure the basics were compiled properly.
97 check: all
d098db0 @jaredcasper Base Makefile improvements.
jaredcasper authored
98 $(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true
0a630b6 Fix make check for pristine sources.
steve authored
99 test -r check.conf || cp $(srcdir)/check.conf .
19e8a92 Fix make check to support -tconf configuration method.
steve authored
100 driver/iverilog -B. -BPivlpp -tcheck -ocheck.vvp $(srcdir)/examples/hello.vl
54206ef Make sure to use local system.vpi.
steve authored
101 vvp/vvp -M- -M./vpi ./check.vvp | grep 'Hello, World'
431228e make check target (PR#3)
steve authored
102
471d389 autoconf the makefiles.
steve authored
103 clean:
d098db0 @jaredcasper Base Makefile improvements.
jaredcasper authored
104 $(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true
cf2f99e @caryr Cleanup Makefile clean targets.
caryr authored
105 rm -f *.o parse.cc parse.h lexor.cc
966e29d @steveicarus Unify the version stamp in the version_*.h header files.
authored
106 rm -f ivl.exp iverilog-vpi.man iverilog-vpi.pdf iverilog-vpi.ps parse.output
3fd80b0 Administrative/Makefile fixes, mostly for windows. (Cary R.)
steve authored
107 rm -f syn-rules.output dosify.exe ivl@EXEEXT@ check.vvp
cf2f99e @caryr Cleanup Makefile clean targets.
caryr authored
108 rm -f lexor_keyword.cc libivl.a libvpi.a iverilog-vpi syn-rules.cc
3fd80b0 Administrative/Makefile fixes, mostly for windows. (Cary R.)
steve authored
109 rm -rf dep
966e29d @steveicarus Unify the version stamp in the version_*.h header files.
authored
110 rm version.exe
471d389 autoconf the makefiles.
steve authored
111
8bad04a cannonical make targets, and strip on install.
steve authored
112 distclean: clean
d098db0 @jaredcasper Base Makefile improvements.
jaredcasper authored
113 $(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true
c167b3a @jaredcasper Still more build system cleanup.
jaredcasper authored
114 $(foreach dir,$(NOTUSED),$(MAKE) -C $(dir) $@ && ) true
115 rm -f Makefile config.status config.log config.cache
116 rm -f stamp-config-h config.h
117 rm -f stamp-_pli_types-h _pli_types.h
6909737 @caryr Some more generic fixes for building in a remote directory
caryr authored
118 ifneq (@srcdir@,.)
119 rm -f version.h version_tag.h check.conf
120 rmdir $(SUBDIRS) $(NOTUSED)
121 endif
cf2f99e @caryr Cleanup Makefile clean targets.
caryr authored
122 rm -rf autom4te.cache
8bad04a cannonical make targets, and strip on install.
steve authored
123
13aaaab @steveicarus Bring analog contribution statements to the ivl_target API.
authored
124 TT = t-dll.o t-dll-api.o t-dll-expr.o t-dll-proc.o t-dll-analog.o
65e9b6b Rework of internals to carry vectors through nexus instead
steve authored
125 FF = cprop.o nodangle.o synth.o synth2.o syn-rules.o
471d389 autoconf the makefiles.
steve authored
126
5aa810d @steveicarus Infrastructure for elaborating analog statements.
authored
127 O = main.o async.o design_dump.o discipline.o dup_expr.o \
128 elaborate.o elab_expr.o elaborate_analog.o \
4a8be3d Implement bi-directional part selects.
steve authored
129 elab_lval.o elab_net.o elab_pexpr.o elab_scope.o \
5aa810d @steveicarus Infrastructure for elaborating analog statements.
authored
130 elab_sig.o elab_sig_analog.o emit.o eval.o eval_attrib.o \
b6ce313 move lval elaboration to PExpr virtual methods.
steve authored
131 eval_tree.o expr_synth.o functor.o lexor.o lexor_keyword.o link_const.o \
68fbb94 @steveicarus Basic elaboration of analog contribution statements.
authored
132 load_module.o netlist.o netmisc.o net_analog.o net_assign.o \
e441177 @steveicarus Remove unused net_force.cc source file.
authored
133 net_design.o net_event.o net_expr.o net_func.o \
9b6b081 Add structure for asynchronous logic synthesis.
steve authored
134 net_link.o net_modulo.o net_nex_input.o net_nex_output.o \
ec773fe @steveicarus Elaborate tran devices
authored
135 net_proc.o net_scope.o net_tran.o net_udp.o pad_to_width.o \
03e306c @steveicarus Infrastructure for parsing analog process statements.
authored
136 parse.o parse_misc.o pform.o pform_analog.o pform_disciplines.o \
137 pform_dump.o pform_types.o \
a0ed5e9 Separate out the lookup_sys_func table, for eventual
steve authored
138 set_width.o symbol_search.o sync.o sys_funcs.o \
4898cd0 @steveicarus Remove redundant back-end selections.
authored
139 verinum.o verireal.o target.o \
b9799cf Remove NetVariable and ivl_variable_t structures.
steve authored
140 Attrib.o HName.o LineInfo.o Module.o PDelays.o PEvent.o \
3f2fa29 @steveicarus Factor compile-time scopes into PScope class
authored
141 PExpr.o PGate.o PGenerate.o PScope.o PSpec.o \
03e306c @steveicarus Infrastructure for parsing analog process statements.
authored
142 PTask.o PUdp.o PFunction.o PWire.o Statement.o AStatement.o StringHeap.o \
3ff6912 Elaborate user defined tasks.
steve authored
143 $(FF) $(TT)
471d389 autoconf the makefiles.
steve authored
144
f1e2f37 @caryr Fix MinGW make distclean and add <file>.in dependencies.
caryr authored
145 Makefile: $(srcdir)/Makefile.in config.status
146 ./config.status --file=$@
147
7ead2aa @jaredcasper More build system tweaks, fixing pr2881797.
jaredcasper authored
148 stamp-config-h: $(srcdir)/config.h.in config.status
149 @rm -f $@
150 ./config.status config.h
151 config.h: stamp-config-h
f1e2f37 @caryr Fix MinGW make distclean and add <file>.in dependencies.
caryr authored
152
7ead2aa @jaredcasper More build system tweaks, fixing pr2881797.
jaredcasper authored
153 stamp-_pli_types-h: $(srcdir)/_pli_types.h.in config.status
154 @rm -f $@
155 ./config.status _pli_types.h
156 _pli_types.h: stamp-_pli_types-h
471d389 autoconf the makefiles.
steve authored
157
c167b3a @jaredcasper Still more build system cleanup.
jaredcasper authored
158 $(srcdir)/configure: $(srcdir)/configure.in $(srcdir)/aclocal.m4
d098db0 @jaredcasper Base Makefile improvements.
jaredcasper authored
159 cd $(srcdir) && autoconf
160
161 config.status: $(srcdir)/configure
162 ./config.status --recheck
7ead2aa @jaredcasper More build system tweaks, fixing pr2881797.
jaredcasper authored
163 ./config.status
b62f094 Add the verilog.sh script.
steve authored
164
de8c725 Mingw32 support (Venkat Iyer)
steve authored
165 ifeq (@WIN32@,yes)
3e4eb17 Another go at getting link of ivl.exe right.
steve authored
166 # Under Windows (mingw) I need to make the ivl.exe in two steps.
167 # The first step makes an ivl.exe that dlltool can use to make an
168 # export and import library, and the last link makes a, ivl.exe
169 # that really exports the things that the import library imports.
43e8a08 Tell make to find ivl.def and vvp.def in srcdir.
J Varshney authored
170 ivl@EXEEXT@: $O $(srcdir)/ivl.def
e4ae832 Clean up spurious trailing white space.
steve authored
171 $(CXX) -o ivl@EXEEXT@ $O $(dllib) @EXTRALIBS@
43e8a08 Tell make to find ivl.def and vvp.def in srcdir.
J Varshney authored
172 dlltool --dllname ivl@EXEEXT@ --def $(srcdir)/ivl.def \
90ae464 Makefile patches to support target loading under cygwin.
steve authored
173 --output-lib libivl.a --output-exp ivl.exp
3fd80b0 Administrative/Makefile fixes, mostly for windows. (Cary R.)
steve authored
174 $(CXX) $(LDFLAGS) -o ivl@EXEEXT@ ivl.exp $O $(dllib) @EXTRALIBS@
90ae464 Makefile patches to support target loading under cygwin.
steve authored
175 else
b34a451 Cygwin port changes from Venkat
steve authored
176 ivl@EXEEXT@: $O
8188c4c Makefile cleanup.
steve authored
177 $(CXX) $(LDFLAGS) -o ivl@EXEEXT@ $O $(dllib)
a0ed5e9 Separate out the lookup_sys_func table, for eventual
steve authored
178 endif
c0d51dd Add the iverilog driver program.
steve authored
179
145133b @caryr Minor rework of how driver-vpi is supported.
caryr authored
180 ifeq (@MINGW32@,no)
9e223b9 Clean up rules for iverilog-vpi vs driver-vpi.
steve authored
181 all: dep iverilog-vpi
182
6909737 @caryr Some more generic fixes for building in a remote directory
caryr authored
183 iverilog-vpi: $(srcdir)/iverilog-vpi.sh Makefile
dddaa0e More configure information in iverilog-vpi.
steve authored
184 sed -e 's;@SHARED@;@shared@;' -e 's;@PIC@;@PICFLAG@;' \
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
185 -e 's;@SUFFIX@;$(suffix);' \
3fd80b0 Administrative/Makefile fixes, mostly for windows. (Cary R.)
steve authored
186 -e 's;@IVCC@;$(CC);' \
187 -e 's;@IVCXX@;$(CXX);' \
188 -e 's;@IVCFLAGS@;$(CXXFLAGS);' \
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
189 -e 's;@INCLUDEDIR@;$(includedir);' \
bb87859 Support 32bit compile on AMD64 systems.
steve authored
190 -e 's;@LIBDIR@;@libdir@;' $< > $@
1893e7c Add the iverilog-vpi command.
steve authored
191 chmod +x $@
192 endif
193
966e29d @steveicarus Unify the version stamp in the version_*.h header files.
authored
194 version.exe: $(srcdir)/version.c $(srcdir)/version_base.h version_tag.h
195 $(HOSTCC) -o version.exe -I. -I$(srcdir) $(srcdir)/version.c
196
feee406 Makefile cleanups to better support concurrent make.
steve authored
197 dep:
198 mkdir dep
199
9680de2 Fix the clean target and excess dependencies.
steve authored
200 %.o: %.cc
8188c4c Makefile cleanup.
steve authored
201 $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MD -c $< -o $*.o
471d389 autoconf the makefiles.
steve authored
202 mv $*.d dep/$*.d
203
204
ff53b60 Remove excess *.d dependencies for parse.d
steve authored
205 lexor.o: lexor.cc parse.h
471d389 autoconf the makefiles.
steve authored
206
ff53b60 Remove excess *.d dependencies for parse.d
steve authored
207 parse.o: parse.cc
430d7b2 Add lexical support for real numbers.
steve authored
208
e98aad1 Cleaner rule for parse.h and parse.cc
steve authored
209 parse.cc parse.h: $(srcdir)/parse.y
357a0ff Detect bison and flex in configure.in
steve authored
210 $(YACC) --verbose -t -p VL -d -o parse.cc $(srcdir)/parse.y
7e7735c Get rid of spurious parse.cc.h error messages.
steve authored
211 mv parse.cc.h parse.h 2>/dev/null || mv parse.hh parse.h
471d389 autoconf the makefiles.
steve authored
212
3c9902d Use yacc based synthesizer.
steve authored
213 syn-rules.cc: $(srcdir)/syn-rules.y
357a0ff Detect bison and flex in configure.in
steve authored
214 $(YACC) --verbose -p syn_ -o syn-rules.cc $(srcdir)/syn-rules.y
3c9902d Use yacc based synthesizer.
steve authored
215
59e85dc Support build in different directory.
steve authored
216 lexor.cc: $(srcdir)/lexor.lex
357a0ff Detect bison and flex in configure.in
steve authored
217 $(LEX) -PVL -s -olexor.cc $(srcdir)/lexor.lex
471d389 autoconf the makefiles.
steve authored
218
fd95cff remember to uninstall _pli_types.h
steve authored
219 lexor_keyword.o: lexor_keyword.cc parse.h
6eef545 Support localparam.
steve authored
220
6909737 @caryr Some more generic fixes for building in a remote directory
caryr authored
221 lexor_keyword.cc: $(srcdir)/lexor_keyword.gperf
cde87ed @steveicarus Add disciplines.vams and enough syntax to parse it.
authored
222 gperf -o -i 7 -C -k 1-4,$$ -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
223
966e29d @steveicarus Unify the version stamp in the version_*.h header files.
authored
224 iverilog-vpi.man: $(srcdir)/iverilog-vpi.man.in version.exe
225 ./version.exe `head -1 $(srcdir)/iverilog-vpi.man.in`'\n' > $@
a720b23 @steveicarus More portable use of tail.
authored
226 tail -n +2 $(srcdir)/iverilog-vpi.man.in >> $@
966e29d @steveicarus Unify the version stamp in the version_*.h header files.
authored
227
228 iverilog-vpi.ps: iverilog-vpi.man
229 $(MAN) -t iverilog-vpi.man > iverilog-vpi.ps
c594dce Add new iverilog-vpi man page.
steve authored
230
231 iverilog-vpi.pdf: iverilog-vpi.ps
b26bdd3 @caryr MinGW fixes (development)
caryr authored
232 $(PS2PDF) iverilog-vpi.ps iverilog-vpi.pdf
c594dce Add new iverilog-vpi man page.
steve authored
233
bfb3323 Revise handling of version.h to avoid build problems.
J Varshney authored
234 # For VERSION_TAG in driver/main.c, first try git-describe, then look for a
235 # version.h file in the source tree (included in snapshots and releases), and
236 # finally use nothing.
90a4dde @steveicarus Keep source code version information in version files.
authored
237
d74f2fe @ldoolitt Don't duplicate Makefile shell code
ldoolitt authored
238 # "true" and "false" in the next few lines are Unix shell command names
b26bdd3 @caryr MinGW fixes (development)
caryr authored
239 ifeq ($(GIT),none)
d74f2fe @ldoolitt Don't duplicate Makefile shell code
ldoolitt authored
240 GIT_PRESENT = false
b26bdd3 @caryr MinGW fixes (development)
caryr authored
241 else
d74f2fe @ldoolitt Don't duplicate Makefile shell code
ldoolitt authored
242 GIT_PRESENT = true
243 endif
90a4dde @steveicarus Keep source code version information in version files.
authored
244 version_tag.h version:
d74f2fe @ldoolitt Don't duplicate Makefile shell code
ldoolitt authored
245 @if $(GIT_PRESENT) && test -d $(srcdir)/.git; then \
bfb3323 Revise handling of version.h to avoid build problems.
J Varshney authored
246 echo "Using git-describe for VERSION_TAG"; \
b26bdd3 @caryr MinGW fixes (development)
caryr authored
247 tmp=`$(GIT) --git-dir $(srcdir)/.git describe \
844447b @steveicarus More reliably handle make install from read-only directory
authored
248 | sed -e 's;\(.*\);#define VERSION_TAG "\1";'`; \
90a4dde @steveicarus Keep source code version information in version files.
authored
249 echo "$$tmp" | diff - version_tag.h > /dev/null 2>&1 || echo "$$tmp" > version_tag.h || exit 1; \
250 elif test -r $(srcdir)/version_tag.h; then \
251 echo "Using $(srcdir)/version_tag.h for VERSION_TAG"; \
252 diff $(srcdir)/version_tag.h version_tag.h > /dev/null 2>&1 || cp $(srcdir)/version_tag.h version_tag.h; \
bfb3323 Revise handling of version.h to avoid build problems.
J Varshney authored
253 else \
254 echo "Using empty VERSION_TAG"; \
90a4dde @steveicarus Keep source code version information in version files.
authored
255 echo '#define VERSION_TAG ""' > version_tag.h; \
bfb3323 Revise handling of version.h to avoid build problems.
J Varshney authored
256 fi
ad3a73f Append last git tag and abbreviated commit-id to version string.
J Varshney authored
257
b26bdd3 @caryr MinGW fixes (development)
caryr authored
258 ifeq (@MINGW32@,yes)
259 ifeq ($(MAN),none)
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
260 INSTALL_DOC = $(mandir)/man1/iverilog-vpi$(suffix).1
b26bdd3 @caryr MinGW fixes (development)
caryr authored
261 else
262 ifeq ($(PS2PDF),none)
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
263 INSTALL_DOC = $(mandir)/man1/iverilog-vpi$(suffix).1
b26bdd3 @caryr MinGW fixes (development)
caryr authored
264 else
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
265 INSTALL_DOC = $(prefix)/iverilog-vpi$(suffix).pdf $(mandir)/man1/iverilog-vpi$(suffix).1
feee406 Makefile cleanups to better support concurrent make.
steve authored
266 all: dep iverilog-vpi.pdf
b26bdd3 @caryr MinGW fixes (development)
caryr authored
267 endif
268 endif
269 INSTALL_DOCDIR = $(mandir)/man1
c594dce Add new iverilog-vpi man page.
steve authored
270 else
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
271 INSTALL_DOC = $(mandir)/man1/iverilog-vpi$(suffix).1
c594dce Add new iverilog-vpi man page.
steve authored
272 INSTALL_DOCDIR = $(mandir)/man1
273 endif
274
ec0e35b Treat cygwin like Unix for build purposes.
steve authored
275 ifeq (@MINGW32@,yes)
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
276 WIN32_INSTALL =
1893e7c Add the iverilog-vpi command.
steve authored
277 else
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
278 WIN32_INSTALL = $(bindir)/iverilog-vpi$(suffix)
176e6d0 Add install of examples for Windows.
steve authored
279 endif
6eef545 Support localparam.
steve authored
280
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
281 install: all installdirs $(libdir)/ivl$(suffix)/ivl@EXEEXT@ $(libdir)/ivl$(suffix)/include/constants.vams $(libdir)/ivl$(suffix)/include/disciplines.vams $(includedir)/ivl_target.h $(includedir)/_pli_types.h $(includedir)/vpi_user.h $(includedir)/acc_user.h $(includedir)/veriuser.h $(WIN32_INSTALL) $(INSTALL_DOC)
d098db0 @jaredcasper Base Makefile improvements.
jaredcasper authored
282 $(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true
c0d51dd Add the iverilog driver program.
steve authored
283
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
284 $(bindir)/iverilog-vpi$(suffix): ./iverilog-vpi
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
285 $(INSTALL_SCRIPT) ./iverilog-vpi "$(DESTDIR)$(bindir)/iverilog-vpi$(suffix)"
1893e7c Add the iverilog-vpi command.
steve authored
286
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
287 $(libdir)/ivl$(suffix)/ivl@EXEEXT@: ./ivl@EXEEXT@
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
288 $(INSTALL_PROGRAM) ./ivl@EXEEXT@ "$(DESTDIR)$(libdir)/ivl$(suffix)/ivl@EXEEXT@"
471d389 autoconf the makefiles.
steve authored
289
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
290 $(libdir)/ivl$(suffix)/include/constants.vams: $(srcdir)/constants.vams
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
291 $(INSTALL_DATA) $(srcdir)/constants.vams "$(DESTDIR)$(libdir)/ivl$(suffix)/include/constants.vams"
f5263c9 @steveicarus Add the va_math module and constants.vams include file.
authored
292
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
293 $(libdir)/ivl$(suffix)/include/disciplines.vams: $(srcdir)/disciplines.vams
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
294 $(INSTALL_DATA) $(srcdir)/disciplines.vams "$(DESTDIR)$(libdir)/ivl$(suffix)/include/disciplines.vams"
cde87ed @steveicarus Add disciplines.vams and enough syntax to parse it.
authored
295
d0fc6d5 Add ivl_target support for logic gates, and
steve authored
296 $(includedir)/ivl_target.h: $(srcdir)/ivl_target.h
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
297 $(INSTALL_DATA) $(srcdir)/ivl_target.h "$(DESTDIR)$(includedir)/ivl_target.h"
d0fc6d5 Add ivl_target support for logic gates, and
steve authored
298
0b538ce The _pli_types.h header file is generated, not copied from srcdir.
steve authored
299 $(includedir)/_pli_types.h: _pli_types.h
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
300 $(INSTALL_DATA) $< "$(DESTDIR)$(includedir)/_pli_types.h"
d3de1d9 Add at least minimal implementations for several
steve authored
301
32f3881 Rearrange VPI support libraries.
steve authored
302 $(includedir)/vpi_user.h: $(srcdir)/vpi_user.h
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
303 $(INSTALL_DATA) $(srcdir)/vpi_user.h "$(DESTDIR)$(includedir)/vpi_user.h"
32f3881 Rearrange VPI support libraries.
steve authored
304
6511fc6 Add the acc_user.h header file.
steve authored
305 $(includedir)/acc_user.h: $(srcdir)/acc_user.h
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
306 $(INSTALL_DATA) $(srcdir)/acc_user.h "$(DESTDIR)$(includedir)/acc_user.h"
6511fc6 Add the acc_user.h header file.
steve authored
307
ca9abaf Start the libveriuser library.
steve authored
308 $(includedir)/veriuser.h: $(srcdir)/veriuser.h
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
309 $(INSTALL_DATA) $(srcdir)/veriuser.h "$(DESTDIR)$(includedir)/veriuser.h"
ca9abaf Start the libveriuser library.
steve authored
310
966e29d @steveicarus Unify the version stamp in the version_*.h header files.
authored
311 $(mandir)/man1/iverilog-vpi$(suffix).1: iverilog-vpi.man
312 $(INSTALL_DATA) iverilog-vpi.man "$(DESTDIR)$(mandir)/man1/iverilog-vpi$(suffix).1"
176e6d0 Add install of examples for Windows.
steve authored
313
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
314 $(prefix)/iverilog-vpi$(suffix).pdf: iverilog-vpi.pdf
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
315 $(INSTALL_DATA) iverilog-vpi.pdf "$(DESTDIR)$(prefix)/iverilog-vpi$(suffix).pdf"
5c07a29 Install sqrt-virtex.v under Windows.
steve authored
316
176e6d0 Add install of examples for Windows.
steve authored
317
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
318 installdirs: $(srcdir)/mkinstalldirs
319 $(srcdir)/mkinstalldirs "$(DESTDIR)$(bindir)" \
320 "$(DESTDIR)$(includedir)" \
321 "$(DESTDIR)$(libdir)/ivl$(suffix)" \
322 "$(DESTDIR)$(libdir)/ivl$(suffix)/include" \
323 "$(DESTDIR)$(mandir)" \
324 "$(DESTDIR)$(mandir)/man1"
176e6d0 Add install of examples for Windows.
steve authored
325
471d389 autoconf the makefiles.
steve authored
326 uninstall:
d098db0 @jaredcasper Base Makefile improvements.
jaredcasper authored
327 $(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true
456fffa @steveicarus Remove last vestiges of XNF.
authored
328 for f in ivl@EXEEXT@ include/constants.vams include/disciplines.vams; \
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
329 do rm -f "$(DESTDIR)$(libdir)/ivl$(suffix)/$$f"; done
330 -rmdir "$(DESTDIR)$(libdir)/ivl$(suffix)/include"
331 -rmdir "$(DESTDIR)$(libdir)/ivl$(suffix)"
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
332 for f in verilog$(suffix) iverilog-vpi$(suffix) gverilog$(suffix)@EXEEXT@; \
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
333 do rm -f "$(DESTDIR)$(bindir)/$$f"; done
90de390 Minor tweaks to iterated rules,
steve authored
334 for f in ivl_target.h vpi_user.h _pli_types.h acc_user.h veriuser.h; \
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
335 do rm -f "$(DESTDIR)$(includedir)/$$f"; done
336 -test X$(suffix) = X || rmdir "$(DESTDIR)/$(includedir)"
337 rm -f "$(DESTDIR)$(mandir)/man1/iverilog-vpi$(suffix).1" "$(DESTDIR)$(prefix)/iverilog-vpi$(suffix).pdf"
471d389 autoconf the makefiles.
steve authored
338
339
340 -include $(patsubst %.o, dep/%.d, $O)
b6e1d63 Change the VPI call process so that loaded .vpi modules
steve authored
341 -include $(patsubst %.o, dep/%.d, vpithunk.o)
Something went wrong with that request. Please try again.