Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 388 lines (322 sloc) 13.843 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
f5aafc3 @arunpersaud updated FSF-address
arunpersaud authored
15 # Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 # Boston, MA 02110-1301, USA.
471d389 autoconf the makefiles.
steve authored
17 #
18 SHELL = /bin/sh
19
90a4dde @steveicarus Keep source code version information in version files.
authored
20 # The interesting make targets are:
527f5c4 @steveicarus The -V flag gets version information from all parts.
authored
21 #
90a4dde @steveicarus Keep source code version information in version files.
authored
22 # make version
23 # Force the version_tag.h file to be rebuilt. Otherwise, it will only
24 # be built if it is missing.
527f5c4 @steveicarus The -V flag gets version information from all parts.
authored
25 #
90a4dde @steveicarus Keep source code version information in version files.
authored
26 # make all
27 # make install
527f5c4 @steveicarus The -V flag gets version information from all parts.
authored
28 #
90a4dde @steveicarus Keep source code version information in version files.
authored
29 # The "suffix" is used as an installation suffix. It modifies certain
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
30 # key install paths/files such that a build and install of Icarus Verilog
31 # with the same $(prefix) but a different $(suffix) will not interfere.
ec49f10 @steveicarus Revert bad merge from vhdl branch
authored
32 # The normal configuration leaves suffix empty
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
33 suffix = @install_suffix@
34
471d389 autoconf the makefiles.
steve authored
35 prefix = @prefix@
36 exec_prefix = @exec_prefix@
37 srcdir = @srcdir@
5ec91ec @steveicarus Add datarootdir to makefiles
authored
38 datarootdir = @datarootdir@
471d389 autoconf the makefiles.
steve authored
39
8cf1fd1 @steveicarus Introduce shell of vhdlpp program.
authored
40 SUBDIRS = ivlpp vhdlpp vvp vpi libveriuser cadpli tgt-null tgt-stub tgt-vvp \
9075326 @steveicarus Introduce PCB code generator.
authored
41 tgt-vhdl tgt-vlog95 tgt-pcb driver
6909737 @caryr Some more generic fixes for building in a remote directory
caryr authored
42 # Only run distclean for these directories.
26ee14c @caryr Clean up Makefile.in files.
caryr authored
43 NOTUSED = tgt-fpga tgt-pal tgt-verilog
cb65ee5 Add the vvp engine to cvs.
steve authored
44
145133b @caryr Minor rework of how driver-vpi is supported.
caryr authored
45 ifeq (@MINGW32@,yes)
46 SUBDIRS += driver-vpi
47 else
48 NOTUSED += driver-vpi
49 endif
50
6909737 @caryr Some more generic fixes for building in a remote directory
caryr authored
51 # To get the version headers to build correctly we only want to look
52 # for C++ files in the source directory. All other files will require
e67dcf5 @caryr Add a vpath for the local lexor_keyword.cc
caryr authored
53 # an explicit $(srcdir). The one exception to this is if we need to
54 # rebuild the lexor_keyword.cc file. If we do, then we want to use the
55 # local version instead of the one is $(srcdir).
56 vpath lexor_keyword.cc .
6bf7e88 @caryr Fix build of ivl with files in libmisc and vhdlpp check issues.
caryr authored
57 vpath %.cc $(srcdir)/libmisc
6909737 @caryr Some more generic fixes for building in a remote directory
caryr authored
58 vpath %.cc $(srcdir)
471d389 autoconf the makefiles.
steve authored
59
197ed46 configure bindir and libdir
steve authored
60 bindir = @bindir@
61 libdir = @libdir@
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
62 # This is actually the directory where we install our own header files.
63 # It is a little different from the generic includedir.
5660e0e @steveicarus Install header files in includedir/iverilog
authored
64 includedir = @includedir@/iverilog$(suffix)
c594dce Add new iverilog-vpi man page.
steve authored
65 mandir = @mandir@
471d389 autoconf the makefiles.
steve authored
66
566aad9 Start stub for loadable targets.
steve authored
67 dllib=@DLLIB@
68
5d150c3 @caryr Update and localize HOST compile information.
caryr authored
69 # For a cross compile these defines will need to be set accordingly.
966e29d @steveicarus Unify the version stamp in the version_*.h header files.
authored
70 HOSTCC = @CC@
5d150c3 @caryr Update and localize HOST compile information.
caryr authored
71 HOSTCFLAGS = @WARNING_FLAGS@ @CFLAGS@
72
73 CC = @CC@
471d389 autoconf the makefiles.
steve authored
74 CXX = @CXX@
76c835a @caryr Update configure and Makefiles for cross compiling.
caryr authored
75 DLLTOOL = @DLLTOOL@
471d389 autoconf the makefiles.
steve authored
76 INSTALL = @INSTALL@
e6bd088 Compile time problems with vpi_user.h
steve authored
77 INSTALL_SCRIPT = @INSTALL_SCRIPT@
471d389 autoconf the makefiles.
steve authored
78 INSTALL_PROGRAM = @INSTALL_PROGRAM@
79 INSTALL_DATA = @INSTALL_DATA@
357a0ff Detect bison and flex in configure.in
steve authored
80 LEX = @LEX@
81 YACC = @YACC@
b26bdd3 @caryr MinGW fixes (development)
caryr authored
82 MAN = @MAN@
83 PS2PDF = @PS2PDF@
84 GIT = @GIT@
471d389 autoconf the makefiles.
steve authored
85
be44214 @caryr Add cppcheck target to the Makefile
caryr authored
86 ifeq (@srcdir@,.)
ab8f623 @steveicarus Add file/line information to entities and ports
authored
87 INCLUDE_PATH = -I. -Ilibmisc
be44214 @caryr Add cppcheck target to the Makefile
caryr authored
88 else
7ce8a9b @caryr Fix some cppcheck warnings in the main directory
caryr authored
89 INCLUDE_PATH = -I. -I$(srcdir) -I$(srcdir)/libmisc
be44214 @caryr Add cppcheck target to the Makefile
caryr authored
90 endif
91
92 CPPFLAGS = @DEFS@ $(INCLUDE_PATH) @CPPFLAGS@
bb5ca97 @caryr Fix some -Wextra warnings and some other bug fixes/enhancements.
caryr authored
93 CFLAGS = @WARNING_FLAGS@ @CFLAGS@
94 CXXFLAGS = @WARNING_FLAGS@ @WARNING_FLAGS_CXX@ @CXXFLAGS@
3154f07 compile libvpi.a with PIC flags (Dan McMahill)
steve authored
95 PICFLAGS = @PICFLAG@
8188c4c Makefile cleanup.
steve authored
96 LDFLAGS = @rdynamic@ @LDFLAGS@
9b3d202 @wackston Extend VPI and build to for SIMetrix cosimulation
wackston authored
97 CTARGETFLAGS = @CTARGETFLAGS@
471d389 autoconf the makefiles.
steve authored
98
ab8f623 @steveicarus Add file/line information to entities and ports
authored
99 # Source files in the libmisc directory
100 M = LineInfo.o StringHeap.o
101
be44214 @caryr Add cppcheck target to the Makefile
caryr authored
102 TT = t-dll.o t-dll-api.o t-dll-expr.o t-dll-proc.o t-dll-analog.o
103 FF = cprop.o nodangle.o synth.o synth2.o syn-rules.o
104
105 O = main.o async.o design_dump.o discipline.o dup_expr.o elaborate.o \
b89ab1f @martinwhitaker Cleanup after parameter expression rework.
martinwhitaker authored
106 elab_expr.o elaborate_analog.o elab_lval.o elab_net.o \
be44214 @caryr Add cppcheck target to the Makefile
caryr authored
107 elab_scope.o elab_sig.o elab_sig_analog.o emit.o eval.o eval_attrib.o \
108 eval_tree.o expr_synth.o functor.o lexor.o lexor_keyword.o link_const.o \
78b0b49 @steveicarus Support struct members that are packed arrays.
authored
109 load_module.o netlist.o netmisc.o nettypes.o net_analog.o net_assign.o \
14f229d @steveicarus Parse support for dynamic arrays.
authored
110 net_design.o netdarray.o \
def9d0e @steveicarus Basic infrastructure for compile-time function evaluation.
authored
111 netenum.o netstruct.o net_event.o net_expr.o net_func.o net_func_eval.o \
112 net_link.o net_modulo.o \
5b5a6b0 @steveicarus Test type correctness during elaboration.
authored
113 net_nex_input.o net_nex_output.o net_proc.o net_scope.o net_tran.o \
114 net_udp.o pad_to_width.o parse.o parse_misc.o pform.o pform_analog.o \
d48362b @steveicarus First pass at getting strings to work.
authored
115 pform_disciplines.o pform_dump.o pform_pclass.o pform_string_type.o \
116 pform_struct_type.o pform_types.o \
be44214 @caryr Add cppcheck target to the Makefile
caryr authored
117 symbol_search.o sync.o sys_funcs.o verinum.o verireal.o target.o \
b0d6181 @steveicarus Get the scope of class methods right
authored
118 Attrib.o HName.o Module.o PClass.o PDelays.o PEvent.o PExpr.o PGate.o \
be44214 @caryr Add cppcheck target to the Makefile
caryr authored
119 PGenerate.o PScope.o PSpec.o PTask.o PUdp.o PFunction.o PWire.o \
ab8f623 @steveicarus Add file/line information to entities and ports
authored
120 Statement.o AStatement.o $M $(FF) $(TT)
be44214 @caryr Add cppcheck target to the Makefile
caryr authored
121
2e60a18 @steveicarus Make all should build the iverilog-vpi.man file.
authored
122 all: dep config.h _pli_types.h version_tag.h ivl@EXEEXT@ version.exe iverilog-vpi.man
d098db0 @jaredcasper Base Makefile improvements.
jaredcasper authored
123 $(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true
471d389 autoconf the makefiles.
steve authored
124
176e6d0 Add install of examples for Windows.
steve authored
125 # In the windows world, the installer will need a dosify program to
126 # dosify text files.
b26bdd3 @caryr MinGW fixes (development)
caryr authored
127 ifeq (@MINGW32@,yes)
be44214 @caryr Add cppcheck target to the Makefile
caryr authored
128 all: dosify.exe
8abe0d7 @caryr Make MinGW compile using a remote build directory.
caryr authored
129 dosify.exe: $(srcdir)/dosify.c
5d150c3 @caryr Update and localize HOST compile information.
caryr authored
130 $(HOSTCC) $(HOSTCFLAGS) -o dosify.exe $(srcdir)/dosify.c
176e6d0 Add install of examples for Windows.
steve authored
131 endif
132
431228e make check target (PR#3)
steve authored
133 # This rule rules the compiler in the trivial hello.vl program to make
134 # sure the basics were compiled properly.
135 check: all
d098db0 @jaredcasper Base Makefile improvements.
jaredcasper authored
136 $(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true
0a630b6 Fix make check for pristine sources.
steve authored
137 test -r check.conf || cp $(srcdir)/check.conf .
19e8a92 Fix make check to support -tconf configuration method.
steve authored
138 driver/iverilog -B. -BPivlpp -tcheck -ocheck.vvp $(srcdir)/examples/hello.vl
0f0cadd @caryr Add suffix support for windows (both MinGW and Cygwin).
caryr authored
139 ifeq (@WIN32@,yes)
140 ifeq (@install_suffix@,)
54206ef Make sure to use local system.vpi.
steve authored
141 vvp/vvp -M- -M./vpi ./check.vvp | grep 'Hello, World'
0f0cadd @caryr Add suffix support for windows (both MinGW and Cygwin).
caryr authored
142 else
143 # On Windows if we have a suffix we must run the vvp part of
144 # the test with a suffix since it was built/linked that way.
145 ln vvp/vvp.exe vvp/vvp$(suffix).exe
146 vvp/vvp$(suffix) -M- -M./vpi ./check.vvp | grep 'Hello, World'
147 rm vvp/vvp$(suffix).exe
148 endif
149 else
150 vvp/vvp -M- -M./vpi ./check.vvp | grep 'Hello, World'
151 endif
431228e make check target (PR#3)
steve authored
152
471d389 autoconf the makefiles.
steve authored
153 clean:
d098db0 @jaredcasper Base Makefile improvements.
jaredcasper authored
154 $(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true
cf2f99e @caryr Cleanup Makefile clean targets.
caryr authored
155 rm -f *.o parse.cc parse.h lexor.cc
9c99bce @caryr Update lex/yacc builds to be consistent and to support parallel builds
caryr authored
156 rm -f ivl.exp iverilog-vpi.man iverilog-vpi.pdf iverilog-vpi.ps
157 rm -f parse.output syn-rules.output dosify.exe ivl@EXEEXT@ check.vvp
cf2f99e @caryr Cleanup Makefile clean targets.
caryr authored
158 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
159 rm -rf dep
05a3929 @caryr Remove version.exe with a -f to avoid a warning.
caryr authored
160 rm -f version.exe
471d389 autoconf the makefiles.
steve authored
161
8bad04a cannonical make targets, and strip on install.
steve authored
162 distclean: clean
d098db0 @jaredcasper Base Makefile improvements.
jaredcasper authored
163 $(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true
c167b3a @jaredcasper Still more build system cleanup.
jaredcasper authored
164 $(foreach dir,$(NOTUSED),$(MAKE) -C $(dir) $@ && ) true
165 rm -f Makefile config.status config.log config.cache
166 rm -f stamp-config-h config.h
167 rm -f stamp-_pli_types-h _pli_types.h
6909737 @caryr Some more generic fixes for building in a remote directory
caryr authored
168 ifneq (@srcdir@,.)
cb3eb49 @caryr Remove the last version.h references
caryr authored
169 rm -f version_tag.h check.conf
6909737 @caryr Some more generic fixes for building in a remote directory
caryr authored
170 rmdir $(SUBDIRS) $(NOTUSED)
171 endif
cf2f99e @caryr Cleanup Makefile clean targets.
caryr authored
172 rm -rf autom4te.cache
8bad04a cannonical make targets, and strip on install.
steve authored
173
be44214 @caryr Add cppcheck target to the Makefile
caryr authored
174 cppcheck: $(O:.o=.cc) $(srcdir)/dosify.c $(srcdir)/version.c
912f82b @caryr Add suppression for some cppheck problems.
caryr authored
175 cppcheck --enable=all -f --suppressions $(srcdir)/cppcheck.sup \
176 $(INCLUDE_PATH) $^
471d389 autoconf the makefiles.
steve authored
177
be44214 @caryr Add cppcheck target to the Makefile
caryr authored
178 cppcheck-all:
179 $(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) cppcheck && ) true
180 $(foreach dir,$(NOTUSED),$(MAKE) -C $(dir) cppcheck && ) true
225ca1e @caryr Change iterators to use prefix ++ since it is more efficient.
caryr authored
181 $(MAKE) cppcheck
471d389 autoconf the makefiles.
steve authored
182
f1e2f37 @caryr Fix MinGW make distclean and add <file>.in dependencies.
caryr authored
183 Makefile: $(srcdir)/Makefile.in config.status
184 ./config.status --file=$@
185
be44214 @caryr Add cppcheck target to the Makefile
caryr authored
186 dep:
187 mkdir dep
188
7ead2aa @jaredcasper More build system tweaks, fixing pr2881797.
jaredcasper authored
189 stamp-config-h: $(srcdir)/config.h.in config.status
190 @rm -f $@
191 ./config.status config.h
192 config.h: stamp-config-h
f1e2f37 @caryr Fix MinGW make distclean and add <file>.in dependencies.
caryr authored
193
7ead2aa @jaredcasper More build system tweaks, fixing pr2881797.
jaredcasper authored
194 stamp-_pli_types-h: $(srcdir)/_pli_types.h.in config.status
195 @rm -f $@
196 ./config.status _pli_types.h
197 _pli_types.h: stamp-_pli_types-h
471d389 autoconf the makefiles.
steve authored
198
c167b3a @jaredcasper Still more build system cleanup.
jaredcasper authored
199 $(srcdir)/configure: $(srcdir)/configure.in $(srcdir)/aclocal.m4
d098db0 @jaredcasper Base Makefile improvements.
jaredcasper authored
200 cd $(srcdir) && autoconf
201
202 config.status: $(srcdir)/configure
203 ./config.status --recheck
7ead2aa @jaredcasper More build system tweaks, fixing pr2881797.
jaredcasper authored
204 ./config.status
b62f094 Add the verilog.sh script.
steve authored
205
de8c725 Mingw32 support (Venkat Iyer)
steve authored
206 ifeq (@WIN32@,yes)
3e4eb17 Another go at getting link of ivl.exe right.
steve authored
207 # Under Windows (mingw) I need to make the ivl.exe in two steps.
208 # The first step makes an ivl.exe that dlltool can use to make an
209 # export and import library, and the last link makes a, ivl.exe
210 # that really exports the things that the import library imports.
6bf7e88 @caryr Fix build of ivl with files in libmisc and vhdlpp check issues.
caryr authored
211 ivl@EXEEXT@: $O $(srcdir)/ivl.def
e4ae832 Clean up spurious trailing white space.
steve authored
212 $(CXX) -o ivl@EXEEXT@ $O $(dllib) @EXTRALIBS@
76c835a @caryr Update configure and Makefiles for cross compiling.
caryr authored
213 $(DLLTOOL) --dllname ivl@EXEEXT@ --def $(srcdir)/ivl.def \
90ae464 Makefile patches to support target loading under cygwin.
steve authored
214 --output-lib libivl.a --output-exp ivl.exp
3fd80b0 Administrative/Makefile fixes, mostly for windows. (Cary R.)
steve authored
215 $(CXX) $(LDFLAGS) -o ivl@EXEEXT@ ivl.exp $O $(dllib) @EXTRALIBS@
90ae464 Makefile patches to support target loading under cygwin.
steve authored
216 else
b34a451 Cygwin port changes from Venkat
steve authored
217 ivl@EXEEXT@: $O
8188c4c Makefile cleanup.
steve authored
218 $(CXX) $(LDFLAGS) -o ivl@EXEEXT@ $O $(dllib)
a0ed5e9 Separate out the lookup_sys_func table, for eventual
steve authored
219 endif
c0d51dd Add the iverilog driver program.
steve authored
220
145133b @caryr Minor rework of how driver-vpi is supported.
caryr authored
221 ifeq (@MINGW32@,no)
be44214 @caryr Add cppcheck target to the Makefile
caryr authored
222 all: iverilog-vpi
9e223b9 Clean up rules for iverilog-vpi vs driver-vpi.
steve authored
223
6909737 @caryr Some more generic fixes for building in a remote directory
caryr authored
224 iverilog-vpi: $(srcdir)/iverilog-vpi.sh Makefile
dddaa0e More configure information in iverilog-vpi.
steve authored
225 sed -e 's;@SHARED@;@shared@;' -e 's;@PIC@;@PICFLAG@;' \
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
226 -e 's;@SUFFIX@;$(suffix);' \
3fd80b0 Administrative/Makefile fixes, mostly for windows. (Cary R.)
steve authored
227 -e 's;@IVCC@;$(CC);' \
228 -e 's;@IVCXX@;$(CXX);' \
bb5ca97 @caryr Fix some -Wextra warnings and some other bug fixes/enhancements.
caryr authored
229 -e 's;@IVCFLAGS@;$(CFLAGS);' \
230 -e 's;@IVCXXFLAGS@;$(CXXFLAGS);' \
9b3d202 @wackston Extend VPI and build to for SIMetrix cosimulation
wackston authored
231 -e 's;@IVCTARGETFLAGS@;$(CTARGETFLAGS);' \
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
232 -e 's;@INCLUDEDIR@;$(includedir);' \
bb87859 Support 32bit compile on AMD64 systems.
steve authored
233 -e 's;@LIBDIR@;@libdir@;' $< > $@
1893e7c Add the iverilog-vpi command.
steve authored
234 chmod +x $@
235 endif
236
966e29d @steveicarus Unify the version stamp in the version_*.h header files.
authored
237 version.exe: $(srcdir)/version.c $(srcdir)/version_base.h version_tag.h
5d150c3 @caryr Update and localize HOST compile information.
caryr authored
238 $(HOSTCC) $(HOSTCFLAGS) -o version.exe -I. -I$(srcdir) $(srcdir)/version.c
966e29d @steveicarus Unify the version stamp in the version_*.h header files.
authored
239
26ab32a @steveicarus Add explicit dependencies on generated header files.
authored
240 %.o: %.cc config.h
2aa627d @caryr Update all Makefile.in files to support OpenSolaris
caryr authored
241 $(CXX) $(CPPFLAGS) $(CXXFLAGS) @DEPENDENCY_FLAG@ -c $< -o $*.o
471d389 autoconf the makefiles.
steve authored
242 mv $*.d dep/$*.d
4313fbb @caryr Fix space errors in various files
caryr authored
243
26ab32a @steveicarus Add explicit dependencies on generated header files.
authored
244 # Here are some explicit dependencies needed to get things going.
245 main.o: main.cc version_tag.h
471d389 autoconf the makefiles.
steve authored
246
ff53b60 Remove excess *.d dependencies for parse.d
steve authored
247 lexor.o: lexor.cc parse.h
471d389 autoconf the makefiles.
steve authored
248
ff53b60 Remove excess *.d dependencies for parse.d
steve authored
249 parse.o: parse.cc
430d7b2 Add lexical support for real numbers.
steve authored
250
9c99bce @caryr Update lex/yacc builds to be consistent and to support parallel builds
caryr authored
251 # Build this in two steps to avoid parallel build issues (see pr3462585)
252 parse.cc: $(srcdir)/parse.y
253 $(YACC) --verbose -t -p VL -d -o $@ $<
254 parse.h: parse.cc
255 mv parse.cc.h $@ 2>/dev/null || mv parse.hh $@
471d389 autoconf the makefiles.
steve authored
256
3c9902d Use yacc based synthesizer.
steve authored
257 syn-rules.cc: $(srcdir)/syn-rules.y
9c99bce @caryr Update lex/yacc builds to be consistent and to support parallel builds
caryr authored
258 $(YACC) --verbose -t -p syn_ -o $@ $<
3c9902d Use yacc based synthesizer.
steve authored
259
59e85dc Support build in different directory.
steve authored
260 lexor.cc: $(srcdir)/lexor.lex
9c99bce @caryr Update lex/yacc builds to be consistent and to support parallel builds
caryr authored
261 $(LEX) -s -t $< > $@
471d389 autoconf the makefiles.
steve authored
262
fd95cff remember to uninstall _pli_types.h
steve authored
263 lexor_keyword.o: lexor_keyword.cc parse.h
6eef545 Support localparam.
steve authored
264
6909737 @caryr Some more generic fixes for building in a remote directory
caryr authored
265 lexor_keyword.cc: $(srcdir)/lexor_keyword.gperf
fad5e36 @steveicarus Add yet more key characters to the gperf command.
authored
266 gperf -o -i 7 -C -k 1-4,6,9,$$ -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
267
966e29d @steveicarus Unify the version stamp in the version_*.h header files.
authored
268 iverilog-vpi.man: $(srcdir)/iverilog-vpi.man.in version.exe
269 ./version.exe `head -1 $(srcdir)/iverilog-vpi.man.in`'\n' > $@
a720b23 @steveicarus More portable use of tail.
authored
270 tail -n +2 $(srcdir)/iverilog-vpi.man.in >> $@
966e29d @steveicarus Unify the version stamp in the version_*.h header files.
authored
271
272 iverilog-vpi.ps: iverilog-vpi.man
ec49f10 @steveicarus Revert bad merge from vhdl branch
authored
273 $(MAN) -t ./iverilog-vpi.man > iverilog-vpi.ps
c594dce Add new iverilog-vpi man page.
steve authored
274
275 iverilog-vpi.pdf: iverilog-vpi.ps
b26bdd3 @caryr MinGW fixes (development)
caryr authored
276 $(PS2PDF) iverilog-vpi.ps iverilog-vpi.pdf
c594dce Add new iverilog-vpi man page.
steve authored
277
bfb3323 Revise handling of version.h to avoid build problems.
J Varshney authored
278 # For VERSION_TAG in driver/main.c, first try git-describe, then look for a
cb3eb49 @caryr Remove the last version.h references
caryr authored
279 # version_tag.h file in the source tree (included in snapshots and releases),
280 # and finally use nothing.
90a4dde @steveicarus Keep source code version information in version files.
authored
281
d74f2fe @ldoolitt Don't duplicate Makefile shell code
ldoolitt authored
282 # "true" and "false" in the next few lines are Unix shell command names
b26bdd3 @caryr MinGW fixes (development)
caryr authored
283 ifeq ($(GIT),none)
d74f2fe @ldoolitt Don't duplicate Makefile shell code
ldoolitt authored
284 GIT_PRESENT = false
b26bdd3 @caryr MinGW fixes (development)
caryr authored
285 else
d74f2fe @ldoolitt Don't duplicate Makefile shell code
ldoolitt authored
286 GIT_PRESENT = true
287 endif
90a4dde @steveicarus Keep source code version information in version files.
authored
288 version_tag.h version:
d74f2fe @ldoolitt Don't duplicate Makefile shell code
ldoolitt authored
289 @if $(GIT_PRESENT) && test -d $(srcdir)/.git; then \
bfb3323 Revise handling of version.h to avoid build problems.
J Varshney authored
290 echo "Using git-describe for VERSION_TAG"; \
5758798 @steveicarus Improve version tag from git.
authored
291 tmp=`$(GIT) --git-dir $(srcdir)/.git describe --always --dirty \
844447b @steveicarus More reliably handle make install from read-only directory
authored
292 | sed -e 's;\(.*\);#define VERSION_TAG "\1";'`; \
90a4dde @steveicarus Keep source code version information in version files.
authored
293 echo "$$tmp" | diff - version_tag.h > /dev/null 2>&1 || echo "$$tmp" > version_tag.h || exit 1; \
294 elif test -r $(srcdir)/version_tag.h; then \
295 echo "Using $(srcdir)/version_tag.h for VERSION_TAG"; \
296 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
297 else \
298 echo "Using empty VERSION_TAG"; \
90a4dde @steveicarus Keep source code version information in version files.
authored
299 echo '#define VERSION_TAG ""' > version_tag.h; \
bfb3323 Revise handling of version.h to avoid build problems.
J Varshney authored
300 fi
ad3a73f Append last git tag and abbreviated commit-id to version string.
J Varshney authored
301
b26bdd3 @caryr MinGW fixes (development)
caryr authored
302 ifeq (@MINGW32@,yes)
303 ifeq ($(MAN),none)
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
304 INSTALL_DOC = $(mandir)/man1/iverilog-vpi$(suffix).1
b26bdd3 @caryr MinGW fixes (development)
caryr authored
305 else
306 ifeq ($(PS2PDF),none)
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
307 INSTALL_DOC = $(mandir)/man1/iverilog-vpi$(suffix).1
b26bdd3 @caryr MinGW fixes (development)
caryr authored
308 else
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
309 INSTALL_DOC = $(prefix)/iverilog-vpi$(suffix).pdf $(mandir)/man1/iverilog-vpi$(suffix).1
feee406 Makefile cleanups to better support concurrent make.
steve authored
310 all: dep iverilog-vpi.pdf
b26bdd3 @caryr MinGW fixes (development)
caryr authored
311 endif
312 endif
313 INSTALL_DOCDIR = $(mandir)/man1
c594dce Add new iverilog-vpi man page.
steve authored
314 else
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
315 INSTALL_DOC = $(mandir)/man1/iverilog-vpi$(suffix).1
c594dce Add new iverilog-vpi man page.
steve authored
316 INSTALL_DOCDIR = $(mandir)/man1
317 endif
318
ec0e35b Treat cygwin like Unix for build purposes.
steve authored
319 ifeq (@MINGW32@,yes)
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
320 WIN32_INSTALL =
1893e7c Add the iverilog-vpi command.
steve authored
321 else
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
322 WIN32_INSTALL = $(bindir)/iverilog-vpi$(suffix)
176e6d0 Add install of examples for Windows.
steve authored
323 endif
6eef545 Support localparam.
steve authored
324
6a0cbc5 @steveicarus VPI access to atom2 types.
authored
325 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)/sv_vpi_user.h $(includedir)/vpi_user.h $(includedir)/acc_user.h $(includedir)/veriuser.h $(WIN32_INSTALL) $(INSTALL_DOC)
d098db0 @jaredcasper Base Makefile improvements.
jaredcasper authored
326 $(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true
c0d51dd Add the iverilog driver program.
steve authored
327
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
328 $(bindir)/iverilog-vpi$(suffix): ./iverilog-vpi
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
329 $(INSTALL_SCRIPT) ./iverilog-vpi "$(DESTDIR)$(bindir)/iverilog-vpi$(suffix)"
1893e7c Add the iverilog-vpi command.
steve authored
330
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
331 $(libdir)/ivl$(suffix)/ivl@EXEEXT@: ./ivl@EXEEXT@
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
332 $(INSTALL_PROGRAM) ./ivl@EXEEXT@ "$(DESTDIR)$(libdir)/ivl$(suffix)/ivl@EXEEXT@"
471d389 autoconf the makefiles.
steve authored
333
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
334 $(libdir)/ivl$(suffix)/include/constants.vams: $(srcdir)/constants.vams
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
335 $(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
336
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
337 $(libdir)/ivl$(suffix)/include/disciplines.vams: $(srcdir)/disciplines.vams
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
338 $(INSTALL_DATA) $(srcdir)/disciplines.vams "$(DESTDIR)$(libdir)/ivl$(suffix)/include/disciplines.vams"
cde87ed @steveicarus Add disciplines.vams and enough syntax to parse it.
authored
339
d0fc6d5 Add ivl_target support for logic gates, and
steve authored
340 $(includedir)/ivl_target.h: $(srcdir)/ivl_target.h
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
341 $(INSTALL_DATA) $(srcdir)/ivl_target.h "$(DESTDIR)$(includedir)/ivl_target.h"
d0fc6d5 Add ivl_target support for logic gates, and
steve authored
342
0b538ce The _pli_types.h header file is generated, not copied from srcdir.
steve authored
343 $(includedir)/_pli_types.h: _pli_types.h
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
344 $(INSTALL_DATA) $< "$(DESTDIR)$(includedir)/_pli_types.h"
d3de1d9 Add at least minimal implementations for several
steve authored
345
6a0cbc5 @steveicarus VPI access to atom2 types.
authored
346 $(includedir)/sv_vpi_user.h: $(srcdir)/sv_vpi_user.h
347 $(INSTALL_DATA) $(srcdir)/sv_vpi_user.h "$(DESTDIR)$(includedir)/sv_vpi_user.h"
348
32f3881 Rearrange VPI support libraries.
steve authored
349 $(includedir)/vpi_user.h: $(srcdir)/vpi_user.h
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
350 $(INSTALL_DATA) $(srcdir)/vpi_user.h "$(DESTDIR)$(includedir)/vpi_user.h"
32f3881 Rearrange VPI support libraries.
steve authored
351
6511fc6 Add the acc_user.h header file.
steve authored
352 $(includedir)/acc_user.h: $(srcdir)/acc_user.h
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
353 $(INSTALL_DATA) $(srcdir)/acc_user.h "$(DESTDIR)$(includedir)/acc_user.h"
6511fc6 Add the acc_user.h header file.
steve authored
354
ca9abaf Start the libveriuser library.
steve authored
355 $(includedir)/veriuser.h: $(srcdir)/veriuser.h
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
356 $(INSTALL_DATA) $(srcdir)/veriuser.h "$(DESTDIR)$(includedir)/veriuser.h"
ca9abaf Start the libveriuser library.
steve authored
357
966e29d @steveicarus Unify the version stamp in the version_*.h header files.
authored
358 $(mandir)/man1/iverilog-vpi$(suffix).1: iverilog-vpi.man
359 $(INSTALL_DATA) iverilog-vpi.man "$(DESTDIR)$(mandir)/man1/iverilog-vpi$(suffix).1"
176e6d0 Add install of examples for Windows.
steve authored
360
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
361 $(prefix)/iverilog-vpi$(suffix).pdf: iverilog-vpi.pdf
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
362 $(INSTALL_DATA) iverilog-vpi.pdf "$(DESTDIR)$(prefix)/iverilog-vpi$(suffix).pdf"
5c07a29 Install sqrt-virtex.v under Windows.
steve authored
363
176e6d0 Add install of examples for Windows.
steve authored
364
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
365 installdirs: $(srcdir)/mkinstalldirs
366 $(srcdir)/mkinstalldirs "$(DESTDIR)$(bindir)" \
367 "$(DESTDIR)$(includedir)" \
368 "$(DESTDIR)$(libdir)/ivl$(suffix)" \
369 "$(DESTDIR)$(libdir)/ivl$(suffix)/include" \
370 "$(DESTDIR)$(mandir)" \
371 "$(DESTDIR)$(mandir)/man1"
176e6d0 Add install of examples for Windows.
steve authored
372
471d389 autoconf the makefiles.
steve authored
373 uninstall:
d098db0 @jaredcasper Base Makefile improvements.
jaredcasper authored
374 $(foreach dir,$(SUBDIRS),$(MAKE) -C $(dir) $@ && ) true
456fffa @steveicarus Remove last vestiges of XNF.
authored
375 for f in ivl@EXEEXT@ include/constants.vams include/disciplines.vams; \
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
376 do rm -f "$(DESTDIR)$(libdir)/ivl$(suffix)/$$f"; done
377 -rmdir "$(DESTDIR)$(libdir)/ivl$(suffix)/include"
378 -rmdir "$(DESTDIR)$(libdir)/ivl$(suffix)"
4bc90f7 @steveicarus Create support for the --enable-suffix configuration option.
authored
379 for f in verilog$(suffix) iverilog-vpi$(suffix) gverilog$(suffix)@EXEEXT@; \
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
380 do rm -f "$(DESTDIR)$(bindir)/$$f"; done
8df745a @caryr Remove SV include file and vhdlpp with make uninstall
caryr authored
381 for f in ivl_target.h vpi_user.h _pli_types.h sv_vpi_user.h acc_user.h veriuser.h; \
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
382 do rm -f "$(DESTDIR)$(includedir)/$$f"; done
69c5d6f @caryr Update uninstall include directory rule
caryr authored
383 -test X$(suffix) = X || rmdir "$(DESTDIR)$(includedir)"
99a5d4c @steveicarus Update mkinstalldirs to handle paths with spaces.
authored
384 rm -f "$(DESTDIR)$(mandir)/man1/iverilog-vpi$(suffix).1" "$(DESTDIR)$(prefix)/iverilog-vpi$(suffix).pdf"
471d389 autoconf the makefiles.
steve authored
385
386
387 -include $(patsubst %.o, dep/%.d, $O)
Something went wrong with that request. Please try again.