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@
TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@
PACKAGE_INSTALL_DIR = $(TCL_PACKAGE_PATH)/tcltls$(PACKAGE_VERSION)
all: @EXTENSION_TARGET@
# The shared object target
tcltls.@SHOBJEXT@: tls.o tlsBIO.o tlsIO.o tlsX509.o
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o tcltls.@SHOBJEXT@ tls.o tlsBIO.o tlsIO.o tlsX509.o $(LIBS)
# The static target
tcltls.a: tls.o tlsBIO.o tlsIO.o tlsX509.o
$(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 @srcdir@/tls.tcl.h dh_params.h
tlsBIO.o: @srcdir@/tlsBIO.c @srcdir@/tlsInt.h
tlsIO.o: @srcdir@/tlsIO.c @srcdir@/tlsInt.h
tlsX509.o: @srcdir@/tlsX509.c @srcdir@/tlsInt.h
# Create a C-source-ified version of the script resources
# for TclTLS so that we only need a single file to enable
# this extension
@srcdir@/tls.tcl.h: @srcdir@/tls.tcl
xxd -i < '@srcdir@/tls.tcl' > '@srcdir@/tls.tcl.h.new'
mv '@srcdir@/tls.tcl.h.new' '@srcdir@/tls.tcl.h'
# Create default DH parameters
dh_params.h: @srcdir@/gen_dh_params
@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
%.o: @srcdir@/%.c
$(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
# 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.a.new tcltls.a
# 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
# Clean the local build directory back to only thing things that exist in
# version control system
mrproper: distclean
rm -f @srcdir@/tls.tcl.h
rm -f @srcdir@/configure @srcdir@/config.sub @srcdir@/config.guess @srcdir@/install-sh
rm -f @srcdir@/aclocal.m4
rm -rf @srcdir@/aclocal @srcdir@/autom4te.cache
.PHONY: all install clean distclean mrproper