617 lines
13 KiB
Makefile
617 lines
13 KiB
Makefile
## Process this file with automake to produce Makefile.in
|
|
|
|
SUBDIRS = include/ngspice include/cppduals/duals misc maths frontend spicelib
|
|
DIST_SUBDIRS = include/ngspice include/cppduals/duals misc maths frontend spicelib xspice ciderlib
|
|
|
|
if XSPICE_WANTED
|
|
SUBDIRS += xspice
|
|
endif
|
|
|
|
if CIDER_WANTED
|
|
SUBDIRS += ciderlib
|
|
endif
|
|
|
|
if !TCL_MODULE
|
|
if !SHARED_MODULE
|
|
bin_PROGRAMS = ngspice
|
|
|
|
if OLDAPPS
|
|
if !WINGUI
|
|
bin_PROGRAMS += ngnutmeg ngsconvert ngproc2mod ngmultidec ngmakeidx
|
|
helpdatadir = $(pkgdatadir)/helpdir
|
|
helpdata_DATA = ngspice.txt ngspice.idx
|
|
if !NO_HELP
|
|
bin_PROGRAMS += nghelp
|
|
endif !NO_HELP
|
|
endif !WINGUI
|
|
endif OLDAPPS
|
|
endif !SHARED_MODULE
|
|
endif !TCL_MODULE
|
|
|
|
EXTRA_DIST = ngspice.txt setplot spectrum \
|
|
devload devaxis ciderinit \
|
|
hist_info.c hist_info.h winmain.c winmain.h \
|
|
tclspice.c tclspice.map pkgIndex.tcl.in spinit.in tclspinit.in \
|
|
main.c sharedspice.c ngicon.rc ngspice.ico
|
|
|
|
|
|
initdatadir = $(pkgdatadir)/scripts
|
|
|
|
initdata_DATA = spinit setplot spectrum
|
|
if CIDER_WANTED
|
|
initdata_DATA += devload devaxis ciderinit
|
|
endif
|
|
|
|
DYNAMIC_DEVICELIBS = \
|
|
spicelib/devices/asrc/libasrc.la \
|
|
spicelib/devices/bjt/libbjt.la \
|
|
spicelib/devices/bsim1/libbsim1.la \
|
|
spicelib/devices/bsim2/libbsim2.la \
|
|
spicelib/devices/bsim3/libbsim3.la \
|
|
spicelib/devices/bsim3v0/libbsim3v0.la \
|
|
spicelib/devices/bsim3v1/libbsim3v1.la \
|
|
spicelib/devices/bsim3v32/libbsim3v32.la \
|
|
spicelib/devices/bsim4/libbsim4.la \
|
|
spicelib/devices/bsim4v5/libbsim4v5.la \
|
|
spicelib/devices/bsim4v6/libbsim4v6.la \
|
|
spicelib/devices/bsim4v7/libbsim4v7.la \
|
|
spicelib/devices/cap/libcap.la \
|
|
spicelib/devices/bsim3soi_pd/libbsim3soipd.la \
|
|
spicelib/devices/bsim3soi_fd/libbsim3soifd.la \
|
|
spicelib/devices/bsim3soi_dd/libbsim3soidd.la \
|
|
spicelib/devices/bsimsoi/libbsim4soi.la \
|
|
spicelib/devices/cccs/libcccs.la \
|
|
spicelib/devices/ccvs/libccvs.la \
|
|
spicelib/devices/cpl/libcpl.la \
|
|
spicelib/devices/csw/libcsw.la \
|
|
spicelib/devices/dio/libdio.la \
|
|
spicelib/devices/ind/libind.la \
|
|
spicelib/devices/isrc/libisrc.la \
|
|
spicelib/devices/hfet1/libhfet.la \
|
|
spicelib/devices/hfet2/libhfet2.la \
|
|
spicelib/devices/hicum2/libhicum2.la \
|
|
spicelib/devices/hisim2/libhisim2.la \
|
|
spicelib/devices/hisimhv1/libhisimhv1.la \
|
|
spicelib/devices/hisimhv2/libhisimhv2.la \
|
|
spicelib/devices/jfet/libjfet.la \
|
|
spicelib/devices/jfet2/libjfet2.la \
|
|
spicelib/devices/ltra/libltra.la \
|
|
spicelib/devices/mes/libmes.la \
|
|
spicelib/devices/mesa/libmesa.la \
|
|
spicelib/devices/mos1/libmos1.la \
|
|
spicelib/devices/mos2/libmos2.la \
|
|
spicelib/devices/mos3/libmos3.la \
|
|
spicelib/devices/mos6/libmos6.la \
|
|
spicelib/devices/mos9/libmos9.la \
|
|
spicelib/devices/res/libres.la \
|
|
spicelib/devices/soi3/libsoi3.la \
|
|
spicelib/devices/sw/libsw.la \
|
|
spicelib/devices/txl/libtxl.la \
|
|
spicelib/devices/tra/libtra.la \
|
|
spicelib/devices/urc/liburc.la \
|
|
spicelib/devices/vbic/libvbic.la \
|
|
spicelib/devices/vccs/libvccs.la \
|
|
spicelib/devices/vcvs/libvcvs.la \
|
|
spicelib/devices/vdmos/libvdmos.la \
|
|
spicelib/devices/vsrc/libvsrc.la \
|
|
@VLADEV@
|
|
|
|
|
|
## Build ngspice first:
|
|
|
|
## compile the icon:
|
|
if WINRESOURCE
|
|
ngicon.o: ngicon.rc
|
|
windres $(srcdir)/ngicon.rc -O coff -o ngicon.o
|
|
endif
|
|
|
|
ngspice_SOURCES = \
|
|
main.c \
|
|
conf.c \
|
|
conf.h \
|
|
ngspice.c
|
|
|
|
ngspice_CPPFLAGS = $(AM_CPPFLAGS) -DSIMULATOR
|
|
|
|
if WINGUI
|
|
ngspice_LDFLAGS = -municode $(AM_LDFLAGS)
|
|
ngspice_SOURCES += winmain.c hist_info.c
|
|
endif
|
|
|
|
ngspice_LDADD = \
|
|
frontend/libfte.la
|
|
|
|
if WINGUI
|
|
ngspice_LDADD += \
|
|
frontend/wdisp/libwindisp.la
|
|
endif
|
|
|
|
ngspice_LDADD += \
|
|
frontend/plotting/libplotting.la
|
|
|
|
ngspice_LDADD += \
|
|
spicelib/devices/dev.lo \
|
|
$(DYNAMIC_DEVICELIBS)
|
|
|
|
if NDEV_WANTED
|
|
ngspice_LDADD += spicelib/devices/ndev/libndev.la
|
|
endif
|
|
|
|
if NUMDEV_WANTED
|
|
ngspice_LDADD += \
|
|
spicelib/devices/nbjt/libnbjt.la \
|
|
spicelib/devices/nbjt2/libnbjt2.la \
|
|
spicelib/devices/numd/libnumd.la \
|
|
spicelib/devices/numd2/libnumd2.la \
|
|
spicelib/devices/numos/libnumos.la
|
|
endif
|
|
|
|
ngspice_LDADD += \
|
|
spicelib/analysis/libckt.la \
|
|
spicelib/devices/libdev.la
|
|
|
|
if XSPICE_WANTED
|
|
ngspice_LDADD += \
|
|
xspice/cm/libcmxsp.la \
|
|
xspice/mif/libmifxsp.la \
|
|
xspice/evt/libevtxsp.la \
|
|
xspice/enh/libenhxsp.la \
|
|
xspice/ipc/libipcxsp.la \
|
|
xspice/idn/libidnxsp.la \
|
|
@XSPICEDLLIBS@
|
|
endif
|
|
|
|
ngspice_LDADD += \
|
|
frontend/parser/libparser.la \
|
|
frontend/numparam/libnumparam.la \
|
|
frontend/trannoise/libtrannoise.la \
|
|
spicelib/parser/libinp.la
|
|
|
|
if CIDER_WANTED
|
|
ngspice_LDADD += \
|
|
ciderlib/twod/libcidertwod.la \
|
|
ciderlib/oned/libcideroned.la \
|
|
ciderlib/input/libciderinput.la \
|
|
ciderlib/support/libcidersuprt.la
|
|
endif
|
|
|
|
ngspice_LDADD += \
|
|
maths/deriv/libderiv.la \
|
|
maths/cmaths/libcmaths.la \
|
|
maths/misc/libmathmisc.la \
|
|
maths/fft/libmathfft.la \
|
|
maths/poly/libpoly.la \
|
|
maths/ni/libni.la \
|
|
maths/sparse/libsparse.la \
|
|
misc/libmisc.la
|
|
|
|
if SP_WANTED
|
|
ngspice_LDADD += \
|
|
maths/dense/libdense.la
|
|
endif
|
|
|
|
if !WINGUI
|
|
if !NO_X
|
|
ngspice_LDADD += frontend/help/libhlp.la
|
|
endif
|
|
endif
|
|
|
|
if WINRESOURCE
|
|
ngspice_SOURCES += ngicon.rc
|
|
endif
|
|
|
|
.rc.lo:
|
|
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --tag=RC --mode=compile $(RC) $(RCFLAGS) $< -o $@
|
|
|
|
if OLDAPPS
|
|
## nutmeg:
|
|
|
|
ngnutmeg_SOURCES = \
|
|
main.c \
|
|
conf.c \
|
|
conf.h \
|
|
ngnutmeg.c
|
|
|
|
ngnutmeg_CPPFLAGS = $(AM_CPPFLAGS)
|
|
|
|
if WINGUI
|
|
ngnutmeg_SOURCES += winmain.c hist_info.c
|
|
endif
|
|
|
|
ngnutmeg_LDADD = \
|
|
frontend/libfte.la
|
|
|
|
if WINGUI
|
|
ngnutmeg_LDADD += \
|
|
frontend/wdisp/libwindisp.la
|
|
endif
|
|
|
|
ngnutmeg_LDADD += \
|
|
frontend/plotting/libplotting.la \
|
|
frontend/parser/libparser.la \
|
|
frontend/numparam/libnumparam.la \
|
|
frontend/trannoise/libtrannoise.la \
|
|
maths/cmaths/libcmaths.la \
|
|
maths/misc/libmathmisc.la \
|
|
maths/fft/libmathfft.la \
|
|
maths/poly/libpoly.la \
|
|
misc/libmisc.la \
|
|
spicelib/parser/libinp.la
|
|
|
|
|
|
## These programs are not required on Windows
|
|
if !WINGUI
|
|
if !SHWIN
|
|
|
|
if !NO_X
|
|
ngnutmeg_LDADD += \
|
|
frontend/help/libhlp.la
|
|
endif !NO_X
|
|
|
|
## help:
|
|
|
|
nghelp_SOURCES = conf.c nghelp.c
|
|
|
|
|
|
if !NO_HELP
|
|
# We keep the libraries to a minimum here and link against terminal.o
|
|
# rather than the full front-end library libfte.a to avoid link errors that
|
|
# that would otherwise occur (thanks to Andreas Unger for this fix).
|
|
nghelp_LDADD = \
|
|
frontend/terminal.lo \
|
|
misc/libmisc.la
|
|
if !NO_X
|
|
nghelp_LDADD += \
|
|
frontend/help/libhlp.la
|
|
endif !NO_X
|
|
endif !NO_HELP
|
|
|
|
|
|
## sconvert:
|
|
|
|
ngsconvert_SOURCES = ngsconvert.c
|
|
ngsconvert_LDADD = \
|
|
frontend/dvec.lo \
|
|
frontend/rawfile.lo \
|
|
frontend/typesdef.lo \
|
|
frontend/variable.lo \
|
|
frontend/dimens.lo \
|
|
frontend/quote.lo \
|
|
frontend/parser/lexical.lo \
|
|
frontend/parser/numparse.lo \
|
|
misc/string.lo \
|
|
misc/wlist.lo \
|
|
misc/misc_time.lo \
|
|
misc/alloc.lo
|
|
|
|
## proc2mod:
|
|
|
|
ngproc2mod_SOURCES = ngproc2mod.c
|
|
|
|
ngproc2mod_LDADD = \
|
|
frontend/libfte.la \
|
|
frontend/parser/libparser.la \
|
|
spicelib/parser/libinp.la \
|
|
misc/libmisc.la
|
|
|
|
|
|
## multidec:
|
|
|
|
ngmultidec_SOURCES = ngmultidec.c
|
|
|
|
ngmultidec_LDADD = \
|
|
frontend/libfte.la \
|
|
frontend/parser/libparser.la \
|
|
maths/sparse/libsparse.la \
|
|
misc/libmisc.la
|
|
|
|
|
|
## ngmakeidx:
|
|
|
|
ngmakeidx_SOURCES = makeidx.c
|
|
|
|
ngmakeidx_LDADD = \
|
|
frontend/libfte.la \
|
|
frontend/parser/libparser.la \
|
|
misc/libmisc.la
|
|
|
|
## create index for online help:
|
|
|
|
ngspice.idx: ngmakeidx$(EXEEXT) $(srcdir)/ngspice.txt
|
|
./ngmakeidx$(EXEEXT) -o ngspice.idx $(srcdir)/ngspice.txt
|
|
|
|
endif !SHWIN
|
|
endif !WINGUI
|
|
endif OLDAPPS
|
|
|
|
if RELPATH
|
|
spinitpath=../lib/ngspice
|
|
endif RELPATH
|
|
if !RELPATH
|
|
spinitpath=$(pkglibdir)
|
|
endif !RELPATH
|
|
|
|
## create spinit at compile time, see
|
|
## (info "(autoconf) Installation Directory Variables")
|
|
|
|
edit = sed \
|
|
-e 's|@XSPICEINIT[@]|$(XSPICEINIT)|g' \
|
|
-e 's|@pkglibdir[@]|$(spinitpath)|g'
|
|
|
|
spinit tclspinit : Makefile
|
|
rm -f $@ $@.tmp
|
|
srcdir=''; \
|
|
test -f ./$@.in || srcdir=$(srcdir)/; \
|
|
$(edit) $${srcdir}$@.in >$@.tmp
|
|
mv $@.tmp $@
|
|
|
|
spinit: $(srcdir)/spinit.in
|
|
tclspinit: $(srcdir)/tclspinit.in
|
|
|
|
|
|
## General Includes and libraries:
|
|
|
|
AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include -I$(top_srcdir)/src/spicelib/devices @X_CFLAGS@
|
|
|
|
AM_CFLAGS = -static
|
|
|
|
LIBS = @LIBS@ @X_LIBS@ @X_PRE_LIBS@ @X_EXTRA_LIBS@
|
|
|
|
if WINGUI
|
|
LIBS += -lpsapi -lshlwapi
|
|
endif
|
|
|
|
if WINCONSOLE
|
|
LIBS += -lpsapi -lshlwapi
|
|
endif
|
|
|
|
if SHWIN
|
|
LIBS += -lpsapi -lshlwapi
|
|
endif
|
|
|
|
CLEANFILES = ngspice.idx spinit tclspinit pkgIndex.tcl
|
|
|
|
MAINTAINERCLEANFILES = Makefile.in
|
|
|
|
## Tcl:
|
|
|
|
if TCL_MODULE
|
|
lib_LTLIBRARIES = libspice.la
|
|
initdata_DATA += tclspinit
|
|
pkgIndex_DATA = pkgIndex.tcl
|
|
pkgIndexdir = $(pkglibdir)
|
|
|
|
if TCLWIN
|
|
LIBS += -lpsapi -lshlwapi -ltcl84 -lBLT24
|
|
endif
|
|
|
|
libspice_la_SOURCES = \
|
|
main.c \
|
|
conf.c \
|
|
conf.h \
|
|
ngspice.c \
|
|
tclspice.c
|
|
|
|
libspice_la_CPPFLAGS = $(AM_CPPFLAGS) -DSIMULATOR \
|
|
-DTCLSPICE_version="\"$(TCLSPICE_VERSION)\""
|
|
|
|
libspice_la_LIBADD = \
|
|
@X_LIBS@ \
|
|
frontend/libfte.la
|
|
|
|
if WINGUI
|
|
libspice_la_LIBADD += \
|
|
frontend/wdisp/libwindisp.la
|
|
endif
|
|
|
|
libspice_la_LIBADD += \
|
|
frontend/plotting/libplotting.la
|
|
|
|
if XSPICE_WANTED
|
|
libspice_la_LIBADD += \
|
|
xspice/cm/libcmxsp.la \
|
|
xspice/mif/libmifxsp.la
|
|
endif
|
|
|
|
libspice_la_LIBADD += \
|
|
$(DYNAMIC_DEVICELIBS)
|
|
|
|
if NDEV_WANTED
|
|
libspice_la_LIBADD += \
|
|
spicelib/devices/ndev/libndev.la
|
|
endif
|
|
|
|
if NUMDEV_WANTED
|
|
libspice_la_LIBADD += \
|
|
spicelib/devices/nbjt/libnbjt.la \
|
|
spicelib/devices/nbjt2/libnbjt2.la \
|
|
spicelib/devices/numd/libnumd.la \
|
|
spicelib/devices/numd2/libnumd2.la \
|
|
spicelib/devices/numos/libnumos.la
|
|
endif
|
|
|
|
libspice_la_LIBADD += \
|
|
spicelib/analysis/libckt.la \
|
|
spicelib/devices/libdev.la
|
|
|
|
if XSPICE_WANTED
|
|
libspice_la_LIBADD += \
|
|
xspice/evt/libevtxsp.la \
|
|
xspice/enh/libenhxsp.la \
|
|
xspice/ipc/libipcxsp.la \
|
|
xspice/idn/libidnxsp.la \
|
|
@XSPICEDLLIBS@
|
|
endif
|
|
|
|
libspice_la_LIBADD += \
|
|
frontend/parser/libparser.la \
|
|
frontend/numparam/libnumparam.la \
|
|
frontend/trannoise/libtrannoise.la \
|
|
spicelib/parser/libinp.la
|
|
|
|
if CIDER_WANTED
|
|
libspice_la_LIBADD += \
|
|
ciderlib/twod/libcidertwod.la \
|
|
ciderlib/oned/libcideroned.la \
|
|
ciderlib/input/libciderinput.la \
|
|
ciderlib/support/libcidersuprt.la
|
|
endif
|
|
|
|
libspice_la_LIBADD += \
|
|
maths/deriv/libderiv.la \
|
|
maths/cmaths/libcmaths.la \
|
|
maths/misc/libmathmisc.la \
|
|
maths/fft/libmathfft.la \
|
|
maths/poly/libpoly.la \
|
|
maths/ni/libni.la \
|
|
maths/sparse/libsparse.la \
|
|
misc/libmisc.la \
|
|
$(LIBS)
|
|
|
|
if SP_WANTED
|
|
libspice_la_LIBADD += \
|
|
maths/dense/libdense.la
|
|
endif
|
|
|
|
libspice_la_CFLAGS = -shared
|
|
libspice_la_LDFLAGS = -shared -Wl,--version-script=$(srcdir)/tclspice.map
|
|
if TCLWIN
|
|
libspice_la_LDFLAGS += -no-undefined
|
|
libspice_la_LDFLAGS += --def spice.def @TCL_LIB_SPEC@
|
|
endif
|
|
if TCLCYG
|
|
libspice_la_LDFLAGS += -no-undefined
|
|
libspice_la_LDFLAGS += --def spice.def @TCL_LIB_SPEC@
|
|
endif
|
|
|
|
TCLSPICE_VERSION = @VERSION@
|
|
|
|
pkgIndex_edit = sed \
|
|
-e 's|%LIB_DIR%|$(libdir)|g' \
|
|
-e 's|%VERSION%|$(TCLSPICE_VERSION)|g'
|
|
|
|
pkgIndex.tcl : Makefile
|
|
rm -f $@ $@.tmp
|
|
srcdir=''; \
|
|
test -f ./$@.in || srcdir=$(srcdir)/; \
|
|
$(pkgIndex_edit) $${srcdir}$@.in >$@.tmp
|
|
mv $@.tmp $@
|
|
|
|
pkgIndex.tcl: $(srcdir)/pkgIndex.tcl.in
|
|
|
|
endif TCL_MODULE
|
|
|
|
EXTRA_DIST += spice.def
|
|
|
|
|
|
|
|
## ngspice as shared module:
|
|
|
|
if SHARED_MODULE
|
|
lib_LTLIBRARIES = libngspice.la
|
|
|
|
libngspice_la_SOURCES = \
|
|
conf.c \
|
|
conf.h \
|
|
ngspice.c \
|
|
sharedspice.c
|
|
|
|
libngspice_la_CPPFLAGS = $(AM_CPPFLAGS) -DSIMULATOR \
|
|
-DSHAREDSPICE_version="\"$(SHAREDSPICE_VERSION)\""
|
|
|
|
libngspice_la_LIBADD = \
|
|
@X_LIBS@ \
|
|
frontend/libfte.la
|
|
|
|
libngspice_la_LIBADD += \
|
|
frontend/plotting/libplotting.la
|
|
|
|
if XSPICE_WANTED
|
|
libngspice_la_LIBADD += \
|
|
xspice/cm/libcmxsp.la \
|
|
xspice/mif/libmifxsp.la
|
|
endif
|
|
|
|
libngspice_la_LIBADD += \
|
|
$(DYNAMIC_DEVICELIBS)
|
|
|
|
if NDEV_WANTED
|
|
libngspice_la_LIBADD += \
|
|
spicelib/devices/ndev/libndev.la
|
|
endif
|
|
|
|
if NUMDEV_WANTED
|
|
libngspice_la_LIBADD += \
|
|
spicelib/devices/nbjt/libnbjt.la \
|
|
spicelib/devices/nbjt2/libnbjt2.la \
|
|
spicelib/devices/numd/libnumd.la \
|
|
spicelib/devices/numd2/libnumd2.la \
|
|
spicelib/devices/numos/libnumos.la
|
|
endif
|
|
|
|
libngspice_la_LIBADD += \
|
|
spicelib/analysis/libckt.la \
|
|
spicelib/devices/libdev.la
|
|
|
|
if XSPICE_WANTED
|
|
libngspice_la_LIBADD += \
|
|
xspice/evt/libevtxsp.la \
|
|
xspice/enh/libenhxsp.la \
|
|
xspice/ipc/libipcxsp.la \
|
|
xspice/idn/libidnxsp.la \
|
|
@XSPICEDLLIBS@
|
|
endif
|
|
|
|
libngspice_la_LIBADD += \
|
|
frontend/parser/libparser.la \
|
|
frontend/numparam/libnumparam.la \
|
|
frontend/trannoise/libtrannoise.la \
|
|
spicelib/parser/libinp.la
|
|
|
|
if CIDER_WANTED
|
|
libngspice_la_LIBADD += \
|
|
ciderlib/twod/libcidertwod.la \
|
|
ciderlib/oned/libcideroned.la \
|
|
ciderlib/input/libciderinput.la \
|
|
ciderlib/support/libcidersuprt.la
|
|
endif
|
|
|
|
libngspice_la_LIBADD += \
|
|
maths/deriv/libderiv.la \
|
|
maths/cmaths/libcmaths.la \
|
|
maths/misc/libmathmisc.la \
|
|
maths/fft/libmathfft.la \
|
|
maths/poly/libpoly.la \
|
|
maths/ni/libni.la \
|
|
maths/sparse/libsparse.la \
|
|
misc/libmisc.la \
|
|
$(LIBS) \
|
|
$(OPENMP_CFLAGS)
|
|
|
|
libngspice_la_CFLAGS = -shared
|
|
|
|
libngspice_la_LDFLAGS = -shared
|
|
libngspice_la_LDFLAGS += -lstdc++
|
|
|
|
if SHWIN
|
|
libngspice_la_LDFLAGS += -Wl,--output-def=ngspice.def -Wl,--out-implib=ngspice.dll.a
|
|
libngspice_la_LDFLAGS += -no-undefined
|
|
EXTRA_DIST += ngspice.def
|
|
endif
|
|
|
|
if SHCYG
|
|
libngspice_la_LDFLAGS += -Wl,--output-def=ngspice.def -Wl,--out-implib=ngspice.dll.a
|
|
libngspice_la_LDFLAGS += -no-undefined
|
|
EXTRA_DIST += ngspice.def
|
|
endif
|
|
|
|
## if !SHWIN
|
|
## if !SHCYG
|
|
libngspice_la_LDFLAGS += -version-info $(LT_NGSPICE_CURRENT):$(LT_NGSPICE_REVISION):$(LT_LIBNGSPICE_AGE)
|
|
## endif
|
|
## endif
|
|
|
|
SHAREDSPICE_VERSION = @VERSION@
|
|
|
|
endif SHARED_MODULE
|