CC = @CC@
AR = @AR@
RANLIB = @RANLIB@
CFLAGS = @CFLAGS@ @SHOBJFLAGS@
CPPFLAGS = @CPPFLAGS@ -I@srcdir@ -I. @DEFS@ @TCL_DEFS@
LDFLAGS = @LDFLAGS@ @SHOBJLDFLAGS@
LIBS = @LIBS@
INSTALL = @INSTALL@
PACKAGE_VERSION = @PACKAGE_VERSION@
prefix = @prefix@
exec_prefix = @exec_prefix@
libdir = @libdir@
TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@
PACKAGE_INSTALL_DIR = $(TCL_PACKAGE_PATH)/tcltls$(PACKAGE_VERSION)
VPATH = @srcdir@
all: @EXTENSION_TARGET@
# The shared object target
tcltls.@SHOBJEXT@: tls.o tlsBIO.o tlsIO.o tlsX509.o Makefile
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o tcltls.@SHOBJEXT@ tls.o tlsBIO.o tlsIO.o tlsX509.o $(LIBS)
# The static target
tcltls.@AREXT@: tls.o tlsBIO.o tlsIO.o tlsX509.o Makefile
$(AR) rcu tcltls.a.new tls.o tlsBIO.o tlsIO.o tlsX509.o
$(RANLIB) tcltls.a.new
mv tcltls.a.new tcltls.a
# Dependencies for all our targets
tls.o: @srcdir@/tls.c @srcdir@/tlsInt.h @srcdir@/tclOpts.h tls.tcl.h dh_params.h Makefile
tlsBIO.o: @srcdir@/tlsBIO.c @srcdir@/tlsInt.h Makefile
tlsIO.o: @srcdir@/tlsIO.c @srcdir@/tlsInt.h Makefile
tlsX509.o: @srcdir@/tlsX509.c @srcdir@/tlsInt.h Makefile
# Create a C-source-ified version of the script resources
# for TclTLS so that we only need a single file to enable
# this extension
tls.tcl.h: @srcdir@/tls.tcl
od -A n -v -t xC < '@srcdir@/tls.tcl' > tls.tcl.h.new.1
sed 's@ *@@g;s@..@0x&, @g' < tls.tcl.h.new.1 > tls.tcl.h.new.2
rm -f tls.tcl.h.new.1
mv tls.tcl.h.new.2 tls.tcl.h
# Create default DH parameters
dh_params.h: @srcdir@/gen_dh_params Makefile
@srcdir@/gen_dh_params @GEN_DH_PARAMS_ARGS@ > dh_params.h.new
mv dh_params.h.new dh_params.h
# Generic target for building files from the "srcdir"
# tree -- the default target will not match paths
.c.o:
$(CC) $(CPPFLAGS) $(CFLAGS) -o "$@" -c "$<"
# Install the extension
install: @EXTENSION_TARGET@ pkgIndex.tcl
$(INSTALL) -d '$(DESTDIR)$(PACKAGE_INSTALL_DIR)'
$(INSTALL) -t '$(DESTDIR)$(PACKAGE_INSTALL_DIR)' @EXTENSION_TARGET@ pkgIndex.tcl
# Test target, run the automated test suite
test: @EXTENSION_TARGET@
@TCLSH_PROG@ @srcdir@/tests/all.tcl $(TESTFLAGS) -load "lappend auto_path $(shell pwd)"
# Clean the local build directory for rebuild against the same configuration
clean:
rm -f tls.o tlsBIO.o tlsIO.o tlsX509.o
rm -f tcltls.@SHOBJEXT@
rm -f tcltls.@SHOBJEXT@.a tcltls.@SHOBJEXT@.def
rm -f tcltls.a.new tcltls.a
rm -f tls.tcl.h.new.1 tls.tcl.h.new.2
@if [ '@srcdir@' != '.' ]; then echo rm -f tls.tcl.h; rm -f tls.tcl.h; fi
# Clean the local build directory back to what it was after unpacking the
# distribution tarball
distclean: clean
rm -f config.log config.status
rm -f dh_params.h.new dh_params.h
rm -f Makefile pkgIndex.tcl
rm -f tcltls.a.linkadd
# Clean the local build directory back to only thing things that exist in
# version control system
mrproper: distclean
rm -f @srcdir@/configure @srcdir@/config.sub @srcdir@/config.guess @srcdir@/install-sh
rm -f @srcdir@/aclocal.m4
rm -rf @srcdir@/autom4te.cache
rm -f @srcdir@/tls.tcl.h
.PHONY: all install clean distclean mrproper test