Create support for the --enable-suffix configuration option.

This configure option causes the installed commands to have
a suffix string that makes them distinct from other versions
that also have a suffix string. This allows for multiple
installed versions of Icarus Verilog.

Also, move installed C/C++ header files into a subdirectory of
their own under the target include directory, to make clearer
the purpose and source of those files.

(cherry picked from commit 4bc90f7cfd)
This commit is contained in:
Stephen Williams 2008-11-19 22:39:10 -08:00
parent 74e2343e52
commit 146f64992c
26 changed files with 260 additions and 195 deletions

View File

@ -27,6 +27,12 @@ SHELL = /bin/sh
# in order to get a more automatic version stamp as well. # in order to get a more automatic version stamp as well.
VERSION = 0.8.6 VERSION = 0.8.6
# This string is used as an installation suffix. It modifies certain
# key install paths/files such that a build and install of Icarus Verilog
# with the same $(prefix) but a different $(suffix) will not interfere.
# The normal configuratin leaves suffix empty
suffix = @install_suffix@
prefix = @prefix@ prefix = @prefix@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
srcdir = @srcdir@ srcdir = @srcdir@
@ -37,7 +43,9 @@ VPATH = $(srcdir)
bindir = @bindir@ bindir = @bindir@
libdir = @libdir@ libdir = @libdir@
includedir = @includedir@ # This is actually the directory where we install our own header files.
# It is a little different from the generic includedir.
includedir = @includedir@/verilog$(suffix)
mandir = @mandir@ mandir = @mandir@
libdir64 = @libdir64@ libdir64 = @libdir64@
@ -153,12 +161,13 @@ all: dep iverilog-vpi
iverilog-vpi: iverilog-vpi.sh iverilog-vpi: iverilog-vpi.sh
sed -e 's;@SHARED@;@shared@;' -e 's;@PIC@;@PICFLAG@;' \ sed -e 's;@SHARED@;@shared@;' -e 's;@PIC@;@PICFLAG@;' \
-e 's;@SUFFIX@;$(suffix);' \
-e 's;@IVCC@;$(CC);' \ -e 's;@IVCC@;$(CC);' \
-e 's;@IVCXX@;$(CXX);' \ -e 's;@IVCXX@;$(CXX);' \
-e 's;@IVCFLAGS@;$(CXXFLAGS);' \ -e 's;@IVCFLAGS@;$(CXXFLAGS);' \
-e 's;@INCLUDEDIR@;@includedir@;' \
-e 's;@LIBDIR64@;@libdir64@;' \ -e 's;@LIBDIR64@;@libdir64@;' \
-e 's;@VPIDIR1@;@vpidir1@;' -e 's;@VPIDIR2@;@vpidir2@;' \ -e 's;@VPIDIR1@;@vpidir1@;' -e 's;@VPIDIR2@;@vpidir2@;' \
-e 's;@INCLUDEDIR@;$(includedir);' \
-e 's;@LIBDIR@;@libdir@;' $< > $@ -e 's;@LIBDIR@;@libdir@;' $< > $@
chmod +x $@ chmod +x $@
endif endif
@ -200,46 +209,46 @@ iverilog-vpi.pdf: iverilog-vpi.ps
# program *and* a ps2pdf program. # program *and* a ps2pdf program.
ifeq (@WIN32@,yes) ifeq (@WIN32@,yes)
ifeq ($(MAN),none) ifeq ($(MAN),none)
INSTALL_DOC = $(mandir)/man1/iverilog-vpi.1 INSTALL_DOC = $(mandir)/man1/iverilog-vpi$(suffix).1
else else
ifeq ($(PS2PDF),none) ifeq ($(PS2PDF),none)
INSTALL_DOC = $(mandir)/man1/iverilog-vpi.1 INSTALL_DOC = $(mandir)/man1/iverilog-vpi$(suffix).1
else else
INSTALL_DOC = $(prefix)/iverilog-vpi.pdf $(mandir)/man1/iverilog-vpi.1 INSTALL_DOC = $(prefix)/iverilog-vpi$(suffix).pdf $(mandir)/man1/iverilog-vpi$(suffix).1
all: dep iverilog-vpi.pdf all: dep iverilog-vpi.pdf
endif endif
endif endif
INSTALL_DOCDIR = $(mandir)/man1 INSTALL_DOCDIR = $(mandir)/man1
else else
INSTALL_DOC = $(mandir)/man1/iverilog-vpi.1 INSTALL_DOC = $(mandir)/man1/iverilog-vpi$(suffix).1
INSTALL_DOCDIR = $(mandir)/man1 INSTALL_DOCDIR = $(mandir)/man1
endif endif
ifeq (@MINGW32@,yes) ifeq (@MINGW32@,yes)
WIN32_INSTALL = $(prefix)/hello.vl $(prefix)/sqrt.vl $(prefix)/sqrt-virtex.v $(prefix)/QUICK_START.txt WIN32_INSTALL =
else else
WIN32_INSTALL = $(bindir)/iverilog-vpi WIN32_INSTALL = $(bindir)/iverilog-vpi$(suffix)
endif endif
XNF_INSTALL = $(libdir)/ivl/xnf.conf $(libdir)/ivl/xnf-s.conf XNF_INSTALL = $(libdir)/ivl$(suffix)/xnf.conf $(libdir)/ivl$(suffix)/xnf-s.conf
install: all installdirs $(libdir)/ivl/ivl@EXEEXT@ $(includedir)/ivl_target.h $(includedir)/_pli_types.h $(includedir)/vpi_user.h $(includedir)/acc_user.h $(includedir)/veriuser.h $(WIN32_INSTALL) $(INSTALL_DOC) $(XNF_INSTALL) install: all installdirs $(libdir)/ivl$(suffix)/ivl@EXEEXT@ $(includedir)/ivl_target.h $(includedir)/_pli_types.h $(includedir)/vpi_user.h $(includedir)/acc_user.h $(includedir)/veriuser.h $(WIN32_INSTALL) $(INSTALL_DOC) $(XNF_INSTALL)
for dir in $(SUBDIRS); do (cd $$dir ; $(MAKE) $@); done for dir in $(SUBDIRS); do (cd $$dir ; $(MAKE) $@); done
for tgt in $(TARGETS); do (cd $$tgt ; $(MAKE) $@); done for tgt in $(TARGETS); do (cd $$tgt ; $(MAKE) $@); done
for dir in vpi ivlpp driver; \ for dir in vpi ivlpp driver; \
do (cd $$dir ; $(MAKE) $@); done do (cd $$dir ; $(MAKE) $@); done
$(bindir)/iverilog-vpi: ./iverilog-vpi $(bindir)/iverilog-vpi$(suffix): ./iverilog-vpi
$(INSTALL_SCRIPT) ./iverilog-vpi $(bindir)/iverilog-vpi $(INSTALL_SCRIPT) ./iverilog-vpi $(DESTDIR)$(bindir)/iverilog-vpi$(suffix)
$(libdir)/ivl/ivl@EXEEXT@: ./ivl@EXEEXT@ $(libdir)/ivl$(suffix)/ivl@EXEEXT@: ./ivl@EXEEXT@
$(INSTALL_PROGRAM) ./ivl@EXEEXT@ $(libdir)/ivl/ivl@EXEEXT@ $(INSTALL_PROGRAM) ./ivl@EXEEXT@ $(DESTDIR)$(libdir)/ivl$(suffix)/ivl@EXEEXT@
$(libdir)/ivl/xnf-s.conf: $(srcdir)/xnf-s.conf $(libdir)/ivl$(suffix)/xnf-s.conf: $(srcdir)/xnf-s.conf
$(INSTALL_DATA) $(srcdir)/xnf-s.conf $(libdir)/ivl/xnf-s.conf $(INSTALL_DATA) $(srcdir)/xnf-s.conf $(libdir)/ivl$(suffix)/xnf-s.conf
$(libdir)/ivl/xnf.conf: $(srcdir)/xnf.conf $(libdir)/ivl$(suffix)/xnf.conf: $(srcdir)/xnf.conf
$(INSTALL_DATA) $(srcdir)/xnf.conf $(libdir)/ivl/xnf.conf $(INSTALL_DATA) $(srcdir)/xnf.conf $(libdir)/ivl$(suffix)/xnf.conf
$(includedir)/ivl_target.h: $(srcdir)/ivl_target.h $(includedir)/ivl_target.h: $(srcdir)/ivl_target.h
$(INSTALL_DATA) $(srcdir)/ivl_target.h $(includedir)/ivl_target.h $(INSTALL_DATA) $(srcdir)/ivl_target.h $(includedir)/ivl_target.h
@ -256,49 +265,32 @@ $(includedir)/acc_user.h: $(srcdir)/acc_user.h
$(includedir)/veriuser.h: $(srcdir)/veriuser.h $(includedir)/veriuser.h: $(srcdir)/veriuser.h
$(INSTALL_DATA) $(srcdir)/veriuser.h $(includedir)/veriuser.h $(INSTALL_DATA) $(srcdir)/veriuser.h $(includedir)/veriuser.h
$(mandir)/man1/iverilog-vpi.1: $(srcdir)/iverilog-vpi.man $(mandir)/man1/iverilog-vpi$(suffix).1: $(srcdir)/iverilog-vpi.man
$(INSTALL_DATA) $(srcdir)/iverilog-vpi.man $(mandir)/man1/iverilog-vpi.1 $(INSTALL_DATA) $(srcdir)/iverilog-vpi.man $(DESTDIR)$(mandir)/man1/iverilog-vpi$(suffix).1
$(prefix)/iverilog-vpi.pdf: iverilog-vpi.pdf $(prefix)/iverilog-vpi$(suffix).pdf: iverilog-vpi.pdf
$(INSTALL_DATA) iverilog-vpi.pdf $(prefix)/iverilog-vpi.pdf $(INSTALL_DATA) iverilog-vpi.pdf $(DESTDIR)$(prefix)/iverilog-vpi$(suffix).pdf
# In windows installations, put a few examples and the quick_start
# into the destination directory.
ifeq (@MINGW32@,yes)
$(prefix)/hello.vl: $(srcdir)/examples/hello.vl
./dosify.exe $(srcdir)/examples/hello.vl tmp.vl
mv tmp.vl $(prefix)/hello.vl
$(prefix)/sqrt.vl: $(srcdir)/examples/sqrt.vl
./dosify.exe $(srcdir)/examples/sqrt.vl tmp.vl
mv tmp.vl $(prefix)/sqrt.vl
$(prefix)/sqrt-virtex.v: $(srcdir)/examples/sqrt-virtex.v
./dosify.exe $(srcdir)/examples/sqrt-virtex.v tmp.vl
mv tmp.vl $(prefix)/sqrt-virtex.v
$(prefix)/QUICK_START.txt: $(srcdir)/QUICK_START.txt
./dosify.exe $(srcdir)/QUICK_START.txt tmp.txt
mv tmp.txt $(prefix)/QUICK_START.txt
endif
installdirs: mkinstalldirs installdirs: mkinstalldirs
$(srcdir)/mkinstalldirs $(bindir) $(includedir) $(libdir)/ivl \ $(srcdir)/mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(includedir) $(DESTDIR)$(libdir)/ivl$(suffix) \
$(mandir) $(mandir)/man1 $(DESTDIR)$(libdir)/ivl$(suffix)/include $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1
uninstall: uninstall:
for dir in $(SUBDIRS); do (cd $$dir ; $(MAKE) $@); done for dir in $(SUBDIRS); do (cd $$dir ; $(MAKE) $@); done
for tgt in $(TARGETS); do (cd $$tgt ; $(MAKE) $@); done for tgt in $(TARGETS); do (cd $$tgt ; $(MAKE) $@); done
for dir in vpi ivlpp driver; \ for dir in vpi ivlpp driver; \
do (cd $$dir ; $(MAKE) $@); done do (cd $$dir ; $(MAKE) $@); done
for f in xnf.conf xnf-s.conf ivl; \ for f in xnf.conf xnf-s.conf ivl@EXEEXT@; \
do rm -f $(libdir)/ivl/$$f; done do rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/$$f; done
-rmdir $(libdir)/ivl -rmdir $(DESTDIR)$(libdir)/ivl$(suffix)/include
for f in verilog iverilog-vpi gverilog@EXEEXT@; \ -rmdir $(DESTDIR)$(libdir)/ivl$(suffix)
do rm -f $(bindir)/$$f; done for f in verilog$(suffix) iverilog-vpi$(suffix); \
do rm -f $(DESTDIR)$(bindir)/$$f; done
for f in ivl_target.h vpi_user.h _pli_types.h acc_user.h veriuser.h; \ for f in ivl_target.h vpi_user.h _pli_types.h acc_user.h veriuser.h; \
do rm -f $(includedir)/$$f; done do rm -f $(DESTDIR)$(includedir)/$$f; done
rm -f $(mandir)/man1/iverilog-vpi.1 -test X$(suffix) = X || rmdir $(DESTDIR)/$(includedir)
rm -f $(DESTDIR)$(mandir)/man1/iverilog-vpi$(suffix).1 $(DESTDIR)$(prefix)/iverilog-vpi$(suffix).pdf
-include $(patsubst %.o, dep/%.d, $O) -include $(patsubst %.o, dep/%.d, $O)

View File

@ -88,10 +88,6 @@ Normally, this command automatically figures out everything it needs
to know. It generally works pretty well. There are a few flags to the to know. It generally works pretty well. There are a few flags to the
configure script that modify its behavior: configure script that modify its behavior:
--without-ipal
This turns off support for Icarus PAL, whether ipal
libraries are installed or not.
--prefix=<root> --prefix=<root>
The default is /usr/local, which causes the tool suite to The default is /usr/local, which causes the tool suite to
be compiled for install in /usr/local/bin, be compiled for install in /usr/local/bin,
@ -107,6 +103,17 @@ configure script that modify its behavior:
compilation of 32bit compatible vvp (vvp32) and the vpi compilation of 32bit compatible vvp (vvp32) and the vpi
modules that match. modules that match.
--enable-suffix
--enable-suffix=<your-suffix>
--disable-suffix
Enable/disable changing the names of install files to use
a suffix string so that this version or install can co-
exist with other versions. This renames the installed
commands (iverilog, iverilog-vpi, vvp) and the installed
library files and include directory so that installations
with the same prefix but different suffix are guaranteed
to not interfere with each other.
2.2.1 Special AMD64 Instructions 2.2.1 Special AMD64 Instructions
(The Icarus Verilog RPM for x86_64 is build using these instructions.) (The Icarus Verilog RPM for x86_64 is build using these instructions.)

17
aclocal.m4 vendored
View File

@ -24,6 +24,23 @@ fi
AC_SUBST(ident_support) AC_SUBST(ident_support)
])# AC_CPP_IDENT ])# AC_CPP_IDENT
# AX_ENABLE_SUFFIX
# ----------------
# Create the configure option --enable-suffix[=suffix] to generate suffix
# strings for the installed commands. This allows for shared installs of
# different builds. Remember to change the default suffix string to some
# value appropriate for the current version.
AC_DEFUN([AX_ENABLE_SUFFIX],
[AC_ARG_ENABLE([suffix],[Set the installation command suffix],[true],[enable_suffix=no])
if test X$enable_suffix = Xyes; then
install_suffix='-0.8'
elif test X$enable_suffix = Xno; then
install_suffix=''
else
install_suffix="$enable_suffix"
fi
AC_SUBST(install_suffix)
])# AX_ENABLE_SUFFIX
# _AX_C_UNDERSCORES_MATCH_IFELSE(PATTERN, ACTION-IF-MATCH, ACTION-IF-NOMATCH) # _AX_C_UNDERSCORES_MATCH_IFELSE(PATTERN, ACTION-IF-MATCH, ACTION-IF-NOMATCH)
# ------------------------------ # ------------------------------

View File

@ -23,6 +23,8 @@ SHELL = /bin/sh
VERSION = 0.0 VERSION = 0.0
suffix = @install_suffix@
prefix = @prefix@ prefix = @prefix@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
srcdir = @srcdir@ srcdir = @srcdir@
@ -33,7 +35,7 @@ bindir = @bindir@
libdir = @libdir@ libdir = @libdir@
includedir = $(prefix)/include includedir = $(prefix)/include
vpidir = @libdir@/ivl/@vpidir1@ vpidir = @libdir@/ivl$(suffix)/@vpidir1@
strip_dynamic=@strip_dynamic@ strip_dynamic=@strip_dynamic@

View File

@ -10,6 +10,8 @@ AC_SUBST(EXEEXT)
# Combined check for Microsoft-related bogosities; sets WIN32 if found # Combined check for Microsoft-related bogosities; sets WIN32 if found
AX_WIN32 AX_WIN32
AX_ENABLE_SUFFIX
AC_PROG_INSTALL AC_PROG_INSTALL
# vvp32 is by default disabled # vvp32 is by default disabled

View File

@ -97,6 +97,8 @@ AC_C_BIGENDIAN
# $host # $host
AX_ENABLE_SUFFIX
AX_LD_EXTRALIBS AX_LD_EXTRALIBS
# Compiler option for position independent code, needed when making shared objects. # Compiler option for position independent code, needed when making shared objects.

View File

@ -23,12 +23,16 @@ SHELL = /bin/sh
VERSION = 0.8.3 VERSION = 0.8.3
suffix = @install_suffix@
prefix = @prefix@ prefix = @prefix@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
srcdir = @srcdir@ srcdir = @srcdir@
VPATH = $(srcdir) VPATH = $(srcdir)
suffix = @install_suffix@
bindir = $(exec_prefix)/bin bindir = $(exec_prefix)/bin
libdir = $(exec_prefix)/lib libdir = $(exec_prefix)/lib
includedir = $(prefix)/include includedir = $(prefix)/include
@ -65,6 +69,7 @@ main.o: main.c config.h
config.h: config.h.in config.h: config.h.in
sed -e 's;@IVLCC@;@CC@;' -e 's;@IVLCXX@;@CXX@;' \ sed -e 's;@IVLCC@;@CC@;' -e 's;@IVLCXX@;@CXX@;' \
-e 's;@SUFFIX@;$(suffix);' \
-e 's;@IVLCFLAGS@;@CXXFLAGS@;' \ -e 's;@IVLCFLAGS@;@CXXFLAGS@;' \
-e 's;@SHARED@;@shared@;' $< > $@ -e 's;@SHARED@;@shared@;' $< > $@
@ -73,13 +78,13 @@ res.o: res.rc
windres -i res.rc -o res.o windres -i res.rc -o res.o
# #
install: all installdirs $(bindir)/iverilog-vpi@EXEEXT@ install: all installdirs $(bindir)/iverilog-vpi$(suffix)@EXEEXT@
$(bindir)/iverilog-vpi@EXEEXT@: ./iverilog-vpi@EXEEXT@ $(bindir)/iverilog-vpi$(suffix)@EXEEXT@: ./iverilog-vpi@EXEEXT@
$(INSTALL_PROGRAM) ./iverilog-vpi@EXEEXT@ $(bindir)/iverilog-vpi@EXEEXT@ $(INSTALL_PROGRAM) ./iverilog-vpi@EXEEXT@ $(bindir)/iverilog-vpi$(suffix)@EXEEXT@
installdirs: ../mkinstalldirs installdirs: ../mkinstalldirs
$(srcdir)/../mkinstalldirs $(bindir) $(srcdir)/../mkinstalldirs $(bindir)
uninstall: uninstall:
rm -f $(bindir)/iverilog-vpi@EXEEXT@ rm -f $(bindir)/iverilog-vpi$(suffix)@EXEEXT@

View File

@ -5,4 +5,5 @@
#define IVERILOG_VPI_CXX "@IVLCXX@" #define IVERILOG_VPI_CXX "@IVLCXX@"
#define IVERILOG_VPI_CFLAGS " @IVLCFLAGS@" #define IVERILOG_VPI_CFLAGS " @IVLCFLAGS@"
#define IVERILOG_VPI_LDFLAGS "@SHARED@" #define IVERILOG_VPI_LDFLAGS "@SHARED@"
#define IVERILOG_VPI_LDLIBS "-lveriuser -lvpi" #define IVERILOG_VPI_LDLIBS "-lveriuser@SUFFIX@ -lvpi@SUFFIX@"
#define IVERILOG_SUFFIX "@SUFFIX@"

View File

@ -87,9 +87,9 @@ static void myExit(int exitVal)
static void usage() static void usage()
{ {
fprintf(stderr,"usage: iverilog-vpi [src and obj files]...\n"); fprintf(stderr,"usage: iverilog-vpi" IVERILOG_SUFFIX " [src and obj files]...\n");
fprintf(stderr," or iverilog-vpi -mingw=dir\n"); fprintf(stderr," or iverilog-vpi" IVERILOG_SUFFIX " -mingw=dir\n");
fprintf(stderr," or iverilog-vpi -ivl=dir\n"); fprintf(stderr," or iverilog-vpi" IVERILOG_SUFFIX " -ivl=dir\n");
myExit(1); myExit(1);
} }
@ -384,7 +384,7 @@ static int parse(int argc, char *argv[])
/* Check for the --install-dir option */ /* Check for the --install-dir option */
else if (stricmp("--install-dir", argv[idx]) == 0) { else if (stricmp("--install-dir", argv[idx]) == 0) {
setup_ivl_environment(); setup_ivl_environment();
printf("%s\\\\lib\\\\ivl\\\\.\n", gstr.pIVL); printf("%s\\\\lib\\\\ivl" IVERILOG_SUFFIX "\\\\.\n", gstr.pIVL);
myExit(0); myExit(0);
} }
/* This is different than iverilog-vpi.sh, we don't /* This is different than iverilog-vpi.sh, we don't
@ -444,14 +444,14 @@ static void checkIvlDir(char *root)
initDynString(&path); initDynString(&path);
assign(&path,gstr.pIVL); assign(&path,gstr.pIVL);
appendBackSlash(&path); appendBackSlash(&path);
append(&path,"bin\\vvp.exe"); append(&path,"bin\\vvp" IVERILOG_SUFFIX ".exe");
irv = _stat(path,&stat_buf); irv = _stat(path,&stat_buf);
deInitDynString(path); deInitDynString(path);
if (irv) { if (irv) {
fprintf(stderr,"error: %s does not appear to be the valid root directory of\n",root); fprintf(stderr,"error: %s does not appear to be the valid root directory of\n",root);
fprintf(stderr," Icarus Verilog. Use the -ivl option of iverilog-vpi.exe to\n"); fprintf(stderr," Icarus Verilog. Use the -ivl option of iverilog-vpi" IVERILOG_SUFFIX " to\n");
fprintf(stderr," point to the Icarus Verilog root directory. For a Windows\n"); fprintf(stderr," point to the Icarus Verilog root directory. For a Windows\n");
fprintf(stderr," command shell the option would be something like -ivl=c:\\iverilog\n"); fprintf(stderr," command shell the option would be something like -ivl=c:\\iverilog\n");
fprintf(stderr," For a Cygwin shell the option would be something like\n"); fprintf(stderr," For a Cygwin shell the option would be something like\n");
@ -503,7 +503,7 @@ static void setup_ivl_environment()
SetRegistryKey(IVL_REGKEY_IVL,gstr.pIVL); SetRegistryKey(IVL_REGKEY_IVL,gstr.pIVL);
} else if (!GetRegistryKey(IVL_REGKEY_IVL,&gstr.pIVL)) { } else if (!GetRegistryKey(IVL_REGKEY_IVL,&gstr.pIVL)) {
fprintf(stderr,"error: can not locate the Icarus Verilog root directory, use the -ivl option\n"); fprintf(stderr,"error: can not locate the Icarus Verilog root directory, use the -ivl option\n");
fprintf(stderr," of iverilog-vpi.exe to point to the Icarus Verilog root directory.\n"); fprintf(stderr," of iverilog-vpi" IVERILOG_SUFFIX " to point to the Icarus Verilog root directory.\n");
fprintf(stderr," For a Windows command shell the option would be something like\n"); fprintf(stderr," For a Windows command shell the option would be something like\n");
fprintf(stderr," -ivl=c:\\iverilog For a Cygwin shell the option would be something\n"); fprintf(stderr," -ivl=c:\\iverilog For a Cygwin shell the option would be something\n");
fprintf(stderr," like -ivl=c:\\\\iverilog\n"); fprintf(stderr," like -ivl=c:\\\\iverilog\n");
@ -516,7 +516,7 @@ static void setup_ivl_environment()
append(&gstr.pCFLAGS,gstr.pIVL); append(&gstr.pCFLAGS,gstr.pIVL);
appendBackSlash(&gstr.pCFLAGS); appendBackSlash(&gstr.pCFLAGS);
append(&gstr.pCFLAGS, "\\"); append(&gstr.pCFLAGS, "\\");
append(&gstr.pCFLAGS,"include"); append(&gstr.pCFLAGS,"include" IVERILOG_SUFFIX);
/* Build up the LDFLAGS option string */ /* Build up the LDFLAGS option string */
assign(&gstr.pLDLIBS,"-L"); assign(&gstr.pLDLIBS,"-L");

View File

@ -23,6 +23,8 @@ SHELL = /bin/sh
VERSION = 0.8 VERSION = 0.8
suffix = @install_suffix@
prefix = @prefix@ prefix = @prefix@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
srcdir = @srcdir@ srcdir = @srcdir@
@ -71,7 +73,7 @@ cfparse.h cfparse.c: cfparse.y
main.o: main.c globals.h main.o: main.c globals.h
$(CC) $(CPPFLAGS) $(CFLAGS) -c -DIVL_ROOT='"@libdir@/ivl"' -DIVL_INC='"@includedir@"' -DIVL_LIB='"@libdir@"' -DDLLIB='"@DLLIB@"' $(DEBUGFLAGS) $(srcdir)/main.c $(CC) $(CPPFLAGS) $(CFLAGS) -c -DIVL_ROOT='"@libdir@/ivl$(suffix)"' -DIVL_INC='"@includedir@"' -DIVL_LIB='"@libdir@"' -DDLLIB='"@DLLIB@"' $(DEBUGFLAGS) $(srcdir)/main.c
build_string.o: build_string.c globals.h build_string.o: build_string.c globals.h
cflexor.o: cflexor.c cfparse.h cfparse_misc.h globals.h cflexor.o: cflexor.c cfparse.h cfparse_misc.h globals.h
@ -85,35 +87,35 @@ iverilog.pdf: iverilog.ps
ifeq (@WIN32@,yes) ifeq (@WIN32@,yes)
ifeq ($(MAN),none) ifeq ($(MAN),none)
INSTALL_DOC = $(mandir)/man1/iverilog.1 INSTALL_DOC = $(mandir)/man1/iverilog$(suffix).1
else else
ifeq ($(PS2PDF),none) ifeq ($(PS2PDF),none)
INSTALL_DOC = $(mandir)/man1/iverilog.1 INSTALL_DOC = $(mandir)/man1/iverilog$(suffix).1
else else
INSTALL_DOC = $(prefix)/iverilog.pdf $(mandir)/man1/iverilog.1 INSTALL_DOC = $(prefix)/iverilog$(suffix).pdf $(mandir)/man1/iverilog$(suffix).1
all: iverilog.pdf all: iverilog.pdf
endif endif
endif endif
INSTALL_DOCDIR = $(mandir)/man1 INSTALL_DOCDIR = $(mandir)/man1
else else
INSTALL_DOC = $(mandir)/man1/iverilog.1 INSTALL_DOC = $(mandir)/man1/iverilog$(suffix).1
INSTALL_DOCDIR = $(mandir)/man1 INSTALL_DOCDIR = $(mandir)/man1
endif endif
install: all installdirs $(bindir)/iverilog@EXEEXT@ $(INSTALL_DOC) install: all installdirs $(bindir)/iverilog$(suffix)@EXEEXT@ $(INSTALL_DOC)
$(bindir)/iverilog@EXEEXT@: ./iverilog@EXEEXT@ $(bindir)/iverilog$(suffix)@EXEEXT@: ./iverilog@EXEEXT@
$(INSTALL_PROGRAM) ./iverilog@EXEEXT@ $(bindir)/iverilog@EXEEXT@ $(INSTALL_PROGRAM) ./iverilog@EXEEXT@ $(bindir)/iverilog$(suffix)@EXEEXT@
$(mandir)/man1/iverilog.1: $(srcdir)/iverilog.man $(mandir)/man1/iverilog$(suffix).1: $(srcdir)/iverilog.man
$(INSTALL_DATA) $(srcdir)/iverilog.man $(mandir)/man1/iverilog.1 $(INSTALL_DATA) $(srcdir)/iverilog.man $(mandir)/man1/iverilog$(suffix).1
$(prefix)/iverilog.pdf: iverilog.pdf $(prefix)/iverilog$(suffix).pdf: iverilog.pdf
$(INSTALL_DATA) iverilog.pdf $(prefix)/iverilog.pdf $(INSTALL_DATA) iverilog.pdf $(prefix)/iverilog$(suffix).pdf
installdirs: ../mkinstalldirs installdirs: ../mkinstalldirs
$(srcdir)/../mkinstalldirs $(bindir) $(INSTALL_DOCDIR) $(srcdir)/../mkinstalldirs $(bindir) $(INSTALL_DOCDIR)
uninstall: uninstall:
rm -f $(bindir)/iverilog@EXEEXT@ rm -f $(bindir)/iverilog$(suffix)@EXEEXT@
rm -f $(mandir)/man1/iverilog.1 rm -f $(mandir)/man1/iverilog$(suffix).1

View File

@ -17,19 +17,20 @@
# 59 Temple Place - Suite 330 # 59 Temple Place - Suite 330
# Boston, MA 02111-1307, USA # Boston, MA 02111-1307, USA
# #
#ident "$Id: iverilog-vpi.sh,v 1.14 2004/05/20 00:40:34 steve Exp $"
# These are the variables used for compiling files # These are the variables used for compiling files
CC=@IVCC@ CC=@IVCC@
CXX=@IVCXX@ CXX=@IVCXX@
CFLAGS="@PIC@ @IVCFLAGS@ -I@INCLUDEDIR@" CFLAGS="@PIC@ @IVCFLAGS@ -I@INCLUDEDIR@"
SUFFIX=@SUFFIX@
# These are used for linking... # These are used for linking...
LD=$CC LD=$CC
LDFLAGS32="@SHARED@ -L@LIBDIR@" LDFLAGS32="@SHARED@ -L@LIBDIR@"
LDFLAGS64="@SHARED@ -L@LIBDIR64@" LDFLAGS64="@SHARED@ -L@LIBDIR64@"
LDFLAGS="$LDFLAGS64" LDFLAGS="$LDFLAGS64"
LDLIBS="-lveriuser -lvpi" LDLIBS="-lveriuser$SUFFIX -lvpi$SUFFIX"
INSTDIR64="@VPIDIR1@" INSTDIR64="@VPIDIR1@"
INSTDIR32="@VPIDIR2@" INSTDIR32="@VPIDIR2@"
@ -117,7 +118,7 @@ do
;; ;;
--install-dir) --install-dir)
echo "@LIBDIR@/ivl/$INSTDIR" echo "@LIBDIR@/ivl$SUFFIX/$INSTDIR"
exit exit
;; ;;
esac esac

View File

@ -25,6 +25,8 @@ SHELL = /bin/sh
VERSION = 0.0 VERSION = 0.0
suffix = @install_suffix@
prefix = @prefix@ prefix = @prefix@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
srcdir = @srcdir@ srcdir = @srcdir@
@ -63,16 +65,16 @@ lexor.c: lexor.lex
parse.h parse.c: parse.y parse.h parse.c: parse.y
bison --verbose -t -d -o parse.c $(srcdir)/parse.y bison --verbose -t -d -o parse.c $(srcdir)/parse.y
install: all installdirs $(libdir)/ivl/ivlpp install: all installdirs $(libdir)/ivl$(suffix)/ivlpp
$(libdir)/ivl/ivlpp: ivlpp $(libdir)/ivl$(suffix)/ivlpp@EXEEXT@: ivlpp@EXEEXT@
$(INSTALL_PROGRAM) ./ivlpp $(libdir)/ivl/ivlpp $(INSTALL_PROGRAM) ./ivlpp@EXEEXT@ $(libdir)/ivl$(suffix)/ivlpp@EXEEXT@
installdirs: ../mkinstalldirs installdirs: ../mkinstalldirs
$(srcdir)/../mkinstalldirs $(libdir)/ivl $(srcdir)/../mkinstalldirs $(libdir)/ivl$(suffix)
uninstall: uninstall:
rm -f $(libdir)/ivl/ivlpp rm -f $(libdir)/ivl$(suffix)/ivlpp@EXEEXT@
lexor.o: lexor.c parse.h globals.h lexor.o: lexor.c parse.h globals.h
main.o: main.c globals.h main.o: main.c globals.h

View File

@ -21,6 +21,7 @@
# #
SHELL = /bin/sh SHELL = /bin/sh
suffix = @install_suffix@
prefix = @prefix@ prefix = @prefix@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
@ -95,16 +96,16 @@ distclean: clean
rm -f Makefile config.status config.log config.cache rm -f Makefile config.status config.log config.cache
rm -rf autom4te.cache rm -rf autom4te.cache
install:: all installdirs $(libdir64)/libveriuser.a $(INSTALL32) install:: all installdirs $(libdir64)/libveriuser$(suffix).a $(INSTALL32)
$(libdir64)/libveriuser.a: ./libveriuser.a $(libdir64)/libveriuser$(suffix).a: ./libveriuser.a
$(INSTALL_DATA) ./libveriuser.a $(libdir64)/libveriuser.a $(INSTALL_DATA) ./libveriuser.a $(libdir64)/libveriuser$(suffix).a
installdirs: mkinstalldirs installdirs: mkinstalldirs
$(srcdir)/mkinstalldirs $(includedir) $(libdir64) $(srcdir)/mkinstalldirs $(includedir) $(libdir64)
uninstall:: uninstall::
rm -f $(libdir64)/libveriuser.a rm -f $(libdir64)/libveriuser$(suffix).a
ifeq (@enable_vvp32@,yes) ifeq (@enable_vvp32@,yes)
all32: bin32 bin32/libveriuser.a all32: bin32 bin32/libveriuser.a
@ -123,10 +124,13 @@ bin32/libveriuser.a: bin32/libveriuser.o
ar cvq $@ bin32/libveriuser.o ar cvq $@ bin32/libveriuser.o
$(RANLIB) $@ $(RANLIB) $@
install32: $(libdir)/libveriuser.a install32: $(libdir)/libveriuser$(suffix).a
$(libdir)/libveriuser.a: bin32/libveriuser.a $(libdir)/libveriuser$(suffix).a: bin32/libveriuser.a
$(INSTALL_DATA) bin32/libveriuser.a $(libdir)/libveriuser.a $(INSTALL_DATA) bin32/libveriuser.a $(libdir)/libveriuser$(suffix).a
uninstall::
rm -f $(DESTDIR)$(libdir)/libveriuser$(suffix).a
-include $(patsubst bin32/%.o, bin32/%.d, $(addprefix bin32/,$O)) -include $(patsubst bin32/%.o, bin32/%.d, $(addprefix bin32/,$O))
endif endif

View File

@ -14,6 +14,8 @@ AX_CPP_IDENT
#enable_vvp32=no #enable_vvp32=no
AC_SUBST(enable_vvp32) AC_SUBST(enable_vvp32)
AX_ENABLE_SUFFIX
AC_CHECK_HEADERS(malloc.h) AC_CHECK_HEADERS(malloc.h)
AC_CHECK_SIZEOF(unsigned long long) AC_CHECK_SIZEOF(unsigned long long)

View File

@ -31,6 +31,8 @@ SHELL = /bin/sh
VERSION = 0.0 VERSION = 0.0
suffix = @install_suffix@
prefix = @prefix@ prefix = @prefix@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
srcdir = @srcdir@ srcdir = @srcdir@
@ -118,31 +120,31 @@ else
#INSTALL_DOCDIR = $(mandir)/man1 #INSTALL_DOCDIR = $(mandir)/man1
endif endif
install: all installdirs $(libdir)/ivl/edif.tgt $(INSTALL_DOC) $(libdir)/ivl/edif.conf $(libdir)/ivl/edif-s.conf install: all installdirs $(libdir)/ivl$(suffix)/edif.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/edif.conf $(libdir)/ivl$(suffix)/edif-s.conf
$(libdir)/ivl/edif.tgt: ./edif.tgt $(libdir)/ivl$(suffix)/edif.tgt: ./edif.tgt
$(INSTALL_PROGRAM) ./edif.tgt $(libdir)/ivl/edif.tgt $(INSTALL_PROGRAM) ./edif.tgt $(libdir)/ivl$(suffix)/edif.tgt
$(libdir)/ivl/edif.conf: $(srcdir)/edif.conf $(libdir)/ivl$(suffix)/edif.conf: $(srcdir)/edif.conf
$(INSTALL_DATA) $(srcdir)/edif.conf $(libdir)/ivl/edif.conf $(INSTALL_DATA) $(srcdir)/edif.conf $(libdir)/ivl$(suffix)/edif.conf
$(libdir)/ivl/edif-s.conf: $(srcdir)/edif-s.conf $(libdir)/ivl$(suffix)/edif-s.conf: $(srcdir)/edif-s.conf
$(INSTALL_DATA) $(srcdir)/edif-s.conf $(libdir)/ivl/edif-s.conf $(INSTALL_DATA) $(srcdir)/edif-s.conf $(libdir)/ivl$(suffix)/edif-s.conf
$(mandir)/man1/iverilog-edif.1: $(srcdir)/iverilog-edif.man $(mandir)/man1/iverilog-edif$(suffix).1: $(srcdir)/iverilog-edif.man
$(INSTALL_DATA) $(srcdir)/iverilog-edif.man $(mandir)/man1/iverilog-edif.1 $(INSTALL_DATA) $(srcdir)/iverilog-edif.man $(mandir)/man1/iverilog-edif$(suffix).1
$(prefix)/iverilog-edif.pdf: iverilog-edif.pdf $(prefix)/iverilog-edif$(suffix).pdf: iverilog-edif.pdf
$(INSTALL_DATA) iverilog-edif.pdf $(prefix)/iverilog-edif.pdf $(INSTALL_DATA) iverilog-edif.pdf $(prefix)/iverilog-edif$(suffix).pdf
installdirs: ../mkinstalldirs installdirs: ../mkinstalldirs
$(srcdir)/../mkinstalldirs $(libdir)/ivl $(srcdir)/../mkinstalldirs $(libdir)/ivl$(suffix)
uninstall: uninstall:
rm -f $(libdir)/ivl/edif.tgt rm -f $(libdir)/ivl$(suffix)/edif.tgt
rm -f $(INSTALL_DOC) rm -f $(INSTALL_DOC)
rm -f $(libdir)/ivl/edif-s.conf rm -f $(libdir)/ivl$(suffix)/edif-s.conf
rm -f $(libdir)/ivl/edif.conf rm -f $(libdir)/ivl$(suffix)/edif.conf
-include $(patsubst %.o, dep/%.d, $O) -include $(patsubst %.o, dep/%.d, $O)

View File

@ -11,6 +11,8 @@ AC_CHECK_PROGS(PS2PDF,ps2pdf,none)
AC_CANONICAL_HOST AC_CANONICAL_HOST
# $host # $host
AX_ENABLE_SUFFIX
# Combined check for Microsoft-related bogosities; sets WIN32 if found # Combined check for Microsoft-related bogosities; sets WIN32 if found
AX_WIN32 AX_WIN32

View File

@ -24,6 +24,8 @@ SHELL = /bin/sh
VERSION = 0.0 VERSION = 0.0
suffix = @install_suffix@
prefix = @prefix@ prefix = @prefix@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
srcdir = @srcdir@ srcdir = @srcdir@
@ -91,46 +93,47 @@ check: all
ifeq (@WIN32@,yes) ifeq (@WIN32@,yes)
ifeq ($(MAN),none) ifeq ($(MAN),none)
INSTALL_DOC = $(mandir)/man1/iverilog-fpga.1 INSTALL_DOC = $(mandir)/man1/iverilog-fpga$(suffix).1
else else
ifeq (@PS2PDF@,none) ifeq (@PS2PDF@,none)
INSTALL_DOC = $(mandir)/man1/iverilog-fpga.1 INSTALL_DOC = $(mandir)/man1/iverilog-fpga$(suffix).1
else else
INSTALL_DOC = $(prefix)/iverilog-fpga.pdf $(mandir)/man1/iverilog-fpga.1 INSTALL_DOC = $(prefix)/iverilog-fpga$(suffix).pdf $(mandir)/man1/iverilog-fpga$(suffix).1
INSTALL_DOCDIR = $(mandir)/man1
all: iverilog-fpga.pdf all: iverilog-fpga.pdf
endif endif
endif endif
INSTALL_DOCDIR = $(mandir)/man1 INSTALL_DOCDIR = $(mandir)/man1
else else
INSTALL_DOC = $(mandir)/man1/iverilog-fpga.1 INSTALL_DOC = $(mandir)/man1/iverilog-fpga$(suffix).1
INSTALL_DOCDIR = $(mandir)/man1 INSTALL_DOCDIR = $(mandir)/man1
endif endif
install: all installdirs $(libdir)/ivl/fpga.tgt $(INSTALL_DOC) $(libdir)/ivl/fpga.conf $(libdir)/ivl/fpga-s.conf install: all installdirs $(libdir)/ivl$(suffix)/fpga.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/fpga.conf $(libdir)/ivl$(suffix)/fpga-s.conf
$(libdir)/ivl/fpga.tgt: ./fpga.tgt $(libdir)/ivl$(suffix)/fpga.tgt: ./fpga.tgt
$(INSTALL_PROGRAM) ./fpga.tgt $(libdir)/ivl/fpga.tgt $(INSTALL_PROGRAM) ./fpga.tgt $(libdir)/ivl$(suffix)/fpga.tgt
$(libdir)/ivl/fpga.conf: $(srcdir)/fpga.conf $(libdir)/ivl$(suffix)/fpga.conf: $(srcdir)/fpga.conf
$(INSTALL_DATA) $(srcdir)/fpga.conf $(libdir)/ivl/fpga.conf $(INSTALL_DATA) $(srcdir)/fpga.conf $(libdir)/ivl$(suffix)/fpga.conf
$(libdir)/ivl/fpga-s.conf: $(srcdir)/fpga-s.conf $(libdir)/ivl$(suffix)/fpga-s.conf: $(srcdir)/fpga-s.conf
$(INSTALL_DATA) $(srcdir)/fpga-s.conf $(libdir)/ivl/fpga-s.conf $(INSTALL_DATA) $(srcdir)/fpga-s.conf $(libdir)/ivl$(suffix)/fpga-s.conf
$(mandir)/man1/iverilog-fpga.1: $(srcdir)/iverilog-fpga.man $(mandir)/man1/iverilog-fpga$(suffix).1: $(srcdir)/iverilog-fpga.man
$(INSTALL_DATA) $(srcdir)/iverilog-fpga.man $(mandir)/man1/iverilog-fpga.1 $(INSTALL_DATA) $(srcdir)/iverilog-fpga.man $(mandir)/man1/iverilog-fpga$(suffix).1
$(prefix)/iverilog-fpga.pdf: iverilog-fpga.pdf $(prefix)/iverilog-fpga$(suffix).pdf: iverilog-fpga.pdf
$(INSTALL_DATA) iverilog-fpga.pdf $(prefix)/iverilog-fpga.pdf $(INSTALL_DATA) iverilog-fpga.pdf $(prefix)/iverilog-fpga$(suffix).pdf
installdirs: ../mkinstalldirs installdirs: ../mkinstalldirs
$(srcdir)/../mkinstalldirs $(libdir)/ivl $(srcdir)/../mkinstalldirs $(libdir)/ivl$(suffix)
uninstall: uninstall:
rm -f $(libdir)/ivl/fpga.tgt rm -f $(libdir)/ivl$(suffix)/fpga.tgt
rm -f $(INSTALL_DOC) rm -f $(INSTALL_DOC)
rm -f $(libdir)/ivl/fpga-s.conf rm -f $(libdir)/ivl$(suffix)/fpga-s.conf
rm -f $(libdir)/ivl/fpga.conf rm -f $(libdir)/ivl$(suffix)/fpga.conf
-include $(patsubst %.o, dep/%.d, $O) -include $(patsubst %.o, dep/%.d, $O)

View File

@ -11,6 +11,8 @@ AC_CHECK_PROGS(PS2PDF,ps2pdf,none)
AC_CANONICAL_HOST AC_CANONICAL_HOST
# $host # $host
AX_ENABLE_SUFFIX
# Combined check for Microsoft-related bogosities; sets WIN32 if found # Combined check for Microsoft-related bogosities; sets WIN32 if found
AX_WIN32 AX_WIN32

View File

@ -23,6 +23,8 @@ SHELL = /bin/sh
VERSION = 0.0 VERSION = 0.0
suffix = @install_suffix@
prefix = @prefix@ prefix = @prefix@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
srcdir = @srcdir@ srcdir = @srcdir@
@ -31,7 +33,6 @@ VPATH = $(srcdir)
bindir = @bindir@ bindir = @bindir@
libdir = @libdir@ libdir = @libdir@
includedir = $(prefix)/include
CC = @CC@ CC = @CC@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
@ -73,25 +74,25 @@ distclean: clean
check: all check: all
install: all installdirs $(libdir)/ivl/null.tgt $(INSTALL_DOC) $(libdir)/ivl/null.conf $(libdir)/ivl/null-s.conf install: all installdirs $(libdir)/ivl$(suffix)/null.tgt $(INSTALL_DOC) $(libdir)/ivl$(suffix)/null.conf $(libdir)/ivl$(suffix)/null-s.conf
$(libdir)/ivl/null.tgt: ./null.tgt $(libdir)/ivl$(suffix)/null.tgt: ./null.tgt
$(INSTALL_PROGRAM) ./null.tgt $(libdir)/ivl/null.tgt $(INSTALL_PROGRAM) ./null.tgt $(libdir)/ivl$(suffix)/null.tgt
$(libdir)/ivl/null.conf: $(srcdir)/null.conf $(libdir)/ivl$(suffix)/null.conf: $(srcdir)/null.conf
$(INSTALL_DATA) $(srcdir)/null.conf $(libdir)/ivl/null.conf $(INSTALL_DATA) $(srcdir)/null.conf $(libdir)/ivl$(suffix)/null.conf
$(libdir)/ivl/null-s.conf: $(srcdir)/null-s.conf $(libdir)/ivl$(suffix)/null-s.conf: $(srcdir)/null-s.conf
$(INSTALL_DATA) $(srcdir)/null-s.conf $(libdir)/ivl/null-s.conf $(INSTALL_DATA) $(srcdir)/null-s.conf $(libdir)/ivl$(suffix)/null-s.conf
installdirs: ../mkinstalldirs installdirs: ../mkinstalldirs
$(srcdir)/../mkinstalldirs $(includedir) $(bindir) $(libdir)/ivl $(srcdir)/../mkinstalldirs $(includedir) $(bindir) $(libdir)/ivl$(suffix)
uninstall: uninstall:
rm -f $(libdir)/ivl/null.tgt rm -f $(libdir)/ivl$(suffix)/null.tgt
rm -f $(libdir)/ivl/null.conf rm -f $(libdir)/ivl$(suffix)/null.conf
rm -f $(libdir)/ivl/null-s.conf rm -f $(libdir)/ivl$(suffix)/null-s.conf
-include $(patsubst %.o, dep/%.d, $O) -include $(patsubst %.o, dep/%.d, $O)

View File

@ -23,6 +23,8 @@ SHELL = /bin/sh
VERSION = 0.0 VERSION = 0.0
suffix = @install_suffix@
prefix = @prefix@ prefix = @prefix@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
srcdir = @srcdir@ srcdir = @srcdir@
@ -74,26 +76,28 @@ distclean: clean
check: all check: all
install: all installdirs $(libdir)/ivl/stub.tgt \ install: all installdirs $(libdir)/ivl$(suffix)/stub.tgt \
$(libdir)/ivl/stub.conf \ $(libdir)/ivl$(suffix)/stub.conf \
$(libdir)/ivl/stub-s.conf \ $(libdir)/ivl$(suffix)/stub-s.conf \
$(includedir)/vpi_user.h $(includedir)/vpi_user.h
$(libdir)/ivl/stub.tgt: ./stub.tgt $(libdir)/ivl$(suffix)/stub.tgt: ./stub.tgt
$(INSTALL_PROGRAM) ./stub.tgt $(libdir)/ivl/stub.tgt $(INSTALL_PROGRAM) ./stub.tgt $(libdir)/ivl$(suffix)/stub.tgt
$(libdir)/ivl/stub.conf: stub.conf $(libdir)/ivl$(suffix)/stub.conf: stub.conf
$(INSTALL_DATA) $< $(libdir)/ivl/stub.conf $(INSTALL_DATA) $< $(libdir)/ivl$(suffix)/stub.conf
$(libdir)/ivl/stub-s.conf: stub-s.conf $(libdir)/ivl$(suffix)/stub-s.conf: stub-s.conf
$(INSTALL_DATA) $< $(libdir)/ivl/stub-s.conf $(INSTALL_DATA) $< $(libdir)/ivl$(suffix)/stub-s.conf
installdirs: ../mkinstalldirs installdirs: ../mkinstalldirs
$(srcdir)/../mkinstalldirs $(includedir) $(bindir) $(libdir)/ivl $(srcdir)/../mkinstalldirs $(includedir) $(bindir) $(libdir)/ivl$(suffix)
uninstall: uninstall:
rm -f $(libdir)/ivl/stub.tgt rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/stub.tgt
rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/stub.conf
rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/stub-s.conf
-include $(patsubst %.o, dep/%.d, $O) -include $(patsubst %.o, dep/%.d, $O)

View File

@ -23,6 +23,8 @@ SHELL = /bin/sh
VERSION = 0.0 VERSION = 0.0
suffix = @install_suffix@
prefix = @prefix@ prefix = @prefix@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
srcdir = @srcdir@ srcdir = @srcdir@
@ -67,10 +69,10 @@ vvp.tgt: $O $(TGTDEPLIBS)
$(CC) @shared@ -o $@ $O $(TGTLDFLAGS) $(CC) @shared@ -o $@ $O $(TGTLDFLAGS)
vvp.conf: $(srcdir)/vvp.conf.in vvp.conf: $(srcdir)/vvp.conf.in
echo 'flag:VVP_EXECUTABLE=$(bindir)/vvp' | cat $(srcdir)/vvp.conf.in - > vvp.conf echo 'flag:VVP_EXECUTABLE=$(bindir)/vvp$(suffix)' | cat $(srcdir)/vvp.conf.in - > vvp.conf
vvp-s.conf: $(srcdir)/vvp-s.conf.in vvp-s.conf: $(srcdir)/vvp-s.conf.in
echo 'flag:VVP_EXECUTABLE=$(bindir)/vvp' | cat $(srcdir)/vvp-s.conf.in - > vvp-s.conf echo 'flag:VVP_EXECUTABLE=$(bindir)/vvp$(suffix)' | cat $(srcdir)/vvp-s.conf.in - > vvp-s.conf
Makefile: Makefile.in config.status Makefile: Makefile.in config.status
./config.status ./config.status
@ -84,23 +86,23 @@ distclean: clean
check: all check: all
install: all installdirs $(libdir)/ivl/vvp.tgt $(libdir)/ivl/vvp.conf $(libdir)/ivl/vvp-s.conf install: all installdirs $(libdir)/ivl$(suffix)/vvp.tgt $(libdir)/ivl$(suffix)/vvp.conf $(libdir)/ivl$(suffix)/vvp-s.conf
$(libdir)/ivl/vvp.tgt: ./vvp.tgt $(libdir)/ivl$(suffix)/vvp.tgt: ./vvp.tgt
$(INSTALL_PROGRAM) ./vvp.tgt $(libdir)/ivl/vvp.tgt $(INSTALL_PROGRAM) ./vvp.tgt $(DESTDIR)$(libdir)/ivl$(suffix)/vvp.tgt
$(libdir)/ivl/vvp.conf: vvp.conf $(libdir)/ivl$(suffix)/vvp.conf: vvp.conf
$(INSTALL_DATA) $< $(libdir)/ivl/vvp.conf $(INSTALL_DATA) $< $(DESTDIR)$(libdir)/ivl$(suffix)/vvp.conf
$(libdir)/ivl/vvp-s.conf: vvp-s.conf $(libdir)/ivl$(suffix)/vvp-s.conf: vvp-s.conf
$(INSTALL_DATA) $< $(libdir)/ivl/vvp-s.conf $(INSTALL_DATA) $< $(DESTDIR)$(libdir)/ivl$(suffix)/vvp-s.conf
installdirs: ../mkinstalldirs installdirs: ../mkinstalldirs
$(srcdir)/../mkinstalldirs $(libdir)/ivl $(srcdir)/../mkinstalldirs $(DESTDIR)$(libdir)/ivl$(suffix)
uninstall: uninstall:
rm -f $(libdir)/ivl/vvp.tgt rm -f $(DESTDIR)$(libdir)/ivl$(suffix)/vvp.tgt $(DESTDIR)$(libdir)/ivl$(suffix)/vvp.conf $(DESTDIR)$(libdir)/ivl$(suffix)/vvp-s.conf
-include $(patsubst %.o, dep/%.d, $O) -include $(patsubst %.o, dep/%.d, $O)

View File

@ -10,6 +10,8 @@ AC_PROG_INSTALL
AC_CANONICAL_HOST AC_CANONICAL_HOST
# $host # $host
AX_ENABLE_SUFFIX
# Combined check for Microsoft-related bogosities; sets WIN32 if found # Combined check for Microsoft-related bogosities; sets WIN32 if found
AX_WIN32 AX_WIN32

View File

@ -23,6 +23,8 @@ SHELL = /bin/sh
VERSION = 0.0 VERSION = 0.0
suffix = @install_suffix@
prefix = @prefix@ prefix = @prefix@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
srcdir = @srcdir@ srcdir = @srcdir@
@ -33,7 +35,7 @@ bindir = @bindir@
libdir = @libdir@ libdir = @libdir@
includedir = $(prefix)/include includedir = $(prefix)/include
vpidir = $(libdir)/ivl/@vpidir1@ vpidir = $(libdir)/ivl$(suffix)/@vpidir1@
strip_dynamic=@strip_dynamic@ strip_dynamic=@strip_dynamic@
@ -48,7 +50,7 @@ LDFLAGS = @LDFLAGS@
STRIP = @STRIP@ STRIP = @STRIP@
ifeq (@enable_vvp32@,yes) ifeq (@enable_vvp32@,yes)
vpidir32 = $(libdir)/ivl/@vpidir2@ vpidir32 = $(libdir)/ivl$(suffix)/@vpidir2@
ALL32 = all32 ALL32 = all32
INSTALL32 = install32 INSTALL32 = install32
UNINSTALL32 = uninistall32 UNINSTALL32 = uninistall32
@ -119,14 +121,13 @@ distclean: clean
check: all check: all
install: all installdirs $(vpidir)/system.vpi $(libdir)/ivl$(suffix)/system.sft $(INSTALL32)
install: all installdirs $(vpidir)/system.vpi $(libdir)/ivl/system.sft $(INSTALL32)
$(vpidir)/system.vpi: ./system.vpi $(vpidir)/system.vpi: ./system.vpi
$(INSTALL_PROGRAM) ./system.vpi $(vpidir)/system.vpi $(INSTALL_PROGRAM) ./system.vpi $(vpidir)/system.vpi
$(STRIP) $(strip_dynamic) $(vpidir)/system.vpi $(STRIP) $(strip_dynamic) $(vpidir)/system.vpi
$(libdir)/ivl/system.sft: system.sft $(libdir)/ivl$(suffix)/system.sft: system.sft
$(INSTALL_DATA) $< $@ $(INSTALL_DATA) $< $@
installdirs: ../mkinstalldirs installdirs: ../mkinstalldirs
@ -134,7 +135,7 @@ installdirs: ../mkinstalldirs
uninstall: $(UNINSTALL32) uninstall: $(UNINSTALL32)
rm -f $(vpidir)/system.vpi rm -f $(vpidir)/system.vpi
rm -f $(libdir)/ivl/system.sft rm -f $(libdir)/ivl$(suffix)/system.sft
-include $(patsubst %.o, dep/%.d, $O) -include $(patsubst %.o, dep/%.d, $O)

View File

@ -78,6 +78,8 @@ AC_SUBST(file64_support)
# $host # $host
AX_ENABLE_SUFFIX
# Compiler option for position independent code, needed when making shared objects. # Compiler option for position independent code, needed when making shared objects.
AX_C_PICFLAG AX_C_PICFLAG

View File

@ -21,6 +21,8 @@
# #
SHELL = /bin/sh SHELL = /bin/sh
suffix = @install_suffix@
prefix = @prefix@ prefix = @prefix@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
srcdir = @srcdir@ srcdir = @srcdir@
@ -55,9 +57,9 @@ LIBS = @LIBS@ @EXTRALIBS@
dllib=@DLLIB@ dllib=@DLLIB@
MDIR1 = -DMODULE_DIR1=\"$(libdir)/ivl/@vpidir1@\" MDIR1 = -DMODULE_DIR1=\"$(libdir)/ivl$(suffix)/@vpidir1@\"
ifneq (x@vpidir2@,x) ifneq (x@vpidir2@,x)
MDIR2 = -DMODULE_DIR2=\"$(libdir)/ivl/@vpidir2@\" MDIR2 = -DMODULE_DIR2=\"$(libdir)/ivl$(suffix)/@vpidir2@\"
endif endif
ifeq (@enable_vvp32@,yes) ifeq (@enable_vvp32@,yes)
@ -173,18 +175,18 @@ vvp.pdf: $(srcdir)/vvp.man
ifeq (@WIN32@,yes) ifeq (@WIN32@,yes)
ifeq ($(MAN),none) ifeq ($(MAN),none)
INSTALL_DOC = $(mandir)/man1/vvp.1 INSTALL_DOC = $(mandir)/man1/vvp$(suffix).1
else else
ifeq ($(PS2PDF),none) ifeq ($(PS2PDF),none)
INSTALL_DOC = $(mandir)/man1/vvp.1 INSTALL_DOC = $(mandir)/man1/vvp$(suffix).1
else else
INSTALL_DOC = $(prefix)/vvp.pdf $(mandir)/man1/vvp.1 INSTALL_DOC = $(prefix)/vvp$(suffix).pdf $(mandir)/man1/vvp$(suffix).1
all: vvp.pdf all: vvp.pdf
endif endif
endif endif
INSTALL_DOCDIR = $(mandir)/man1 INSTALL_DOCDIR = $(mandir)/man1
else else
INSTALL_DOC = $(mandir)/man1/vvp.1 INSTALL_DOC = $(mandir)/man1/vvp$(suffix).1
INSTALL_DOCDIR = $(mandir)/man1 INSTALL_DOCDIR = $(mandir)/man1
endif endif
@ -192,41 +194,41 @@ Makefile: Makefile.in config.status
./config.status ./config.status
install: all installdirs $(bindir)/vvp@EXEEXT@ $(libdir64)/libvpi.a $(INSTALL_DOC) $(INSTALL32) install: all installdirs $(bindir)/vvp$(suffix)@EXEEXT@ $(libdir64)/libvpi$(suffix).a $(INSTALL_DOC) $(INSTALL32)
$(bindir)/vvp@EXEEXT@: ./vvp@EXEEXT@ $(bindir)/vvp$(suffix)@EXEEXT@: ./vvp@EXEEXT@
$(INSTALL_PROGRAM) ./vvp@EXEEXT@ $(bindir)/vvp@EXEEXT@ $(INSTALL_PROGRAM) ./vvp@EXEEXT@ $(bindir)/vvp$(suffix)@EXEEXT@
$(libdir64)/libvpi.a : ./libvpi.a $(libdir64)/libvpi$(suffix).a : ./libvpi.a
$(INSTALL_DATA) libvpi.a $(libdir64)/libvpi.a $(INSTALL_DATA) libvpi.a $(libdir64)/libvpi$(suffix).a
$(mandir)/man1/vvp.1: $(srcdir)/vvp.man $(mandir)/man1/vvp$(suffix).1: $(srcdir)/vvp.man
$(INSTALL_DATA) $(srcdir)/vvp.man $(mandir)/man1/vvp.1 $(INSTALL_DATA) $(srcdir)/vvp.man $(mandir)/man1/vvp$(suffix).1
$(prefix)/vvp.pdf: vvp.pdf $(prefix)/vvp.pdf: vvp.pdf
$(INSTALL_DATA) vvp.pdf $(prefix)/vvp.pdf $(INSTALL_DATA) vvp.pdf $(prefix)/vvp$(suffix).pdf
installdirs: $(srcdir)/mkinstalldirs installdirs: $(srcdir)/mkinstalldirs
$(srcdir)/mkinstalldirs $(bindir) $(libdir) $(libdir64) $(INSTALL_DOCDIR) $(srcdir)/mkinstalldirs $(bindir) $(libdir) $(libdir64) $(INSTALL_DOCDIR)
ifeq (@enable_vvp32@,yes) ifeq (@enable_vvp32@,yes)
install32: all32 $(libdir)/libvpi.a $(bindir)/vvp32 install32: all32 $(libdir)/libvpi$(suffix).a $(bindir)/vvp32$(suffix)
$(libdir)/libvpi.a: bin32/libvpi.a $(libdir)/libvpi$(suffix).a: bin32/libvpi.a
$(INSTALL_DATA) bin32/libvpi.a $(libdir)/libvpi.a $(INSTALL_DATA) bin32/libvpi.a $(libdir)/libvpi$(suffix).a
$(bindir)/vvp32: ./vvp32 $(bindir)/vvp32$(suffix): ./vvp32
$(INSTALL_PROGRAM) ./vvp32 $(bindir)/vvp32 $(INSTALL_PROGRAM) ./vvp32 $(bindir)/vvp32$(suffix)
uninstall32: uninstall32:
rm -f $(libdir)/libvpi.a rm -f $(libdir)/libvpi$(suffix).a
rm -f $(bindir)/vvp32 rm -f $(bindir)/vvp32$(suffix)
endif endif
uninstall: $(UNINSTALL32) uninstall: $(UNINSTALL32)
rm -f $(bindir)/vvp@EXEEXT@ rm -f $(bindir)/vvp$(suffix)@EXEEXT@
rm -f $(libdir64)/libvpi.a rm -f $(libdir64)/libvpi$(suffix).a
rm -f $(mandir)/man1/vvp.1 rm -f $(mandir)/man1/vvp$(suffix).1
-include $(patsubst %.o, dep/%.d, $O) -include $(patsubst %.o, dep/%.d, $O)

View File

@ -2,6 +2,9 @@ AC_INIT(Makefile.in)
AC_CONFIG_HEADER(config.h) AC_CONFIG_HEADER(config.h)
AC_PROG_CC AC_PROG_CC
AX_ENABLE_SUFFIX
AC_PROG_CXX AC_PROG_CXX
AC_PROG_RANLIB AC_PROG_RANLIB
AC_CHECK_TOOL(STRIP, strip, true) AC_CHECK_TOOL(STRIP, strip, true)