Artifact [8756dc63ab]
Bounty program for improvements to Tcl and certain Tcl packages.

Artifact 8756dc63ab321f021b2e30785043f0981bb1d42d:


CC = @[email protected]
AR = @[email protected]
RANLIB = @[email protected]
CFLAGS = @[email protected] @[email protected]
CPPFLAGS = @[email protected] [email protected]@ -I. @[email protected] @[email protected]
LDFLAGS = @[email protected] @[email protected]
LIBS = @[email protected]
INSTALL = @[email protected]
PACKAGE_VERSION = @[email protected]
TCL_PACKAGE_PATH = @[email protected]
PACKAGE_INSTALL_DIR = $(TCL_PACKAGE_PATH)/tcltls$(PACKAGE_VERSION)

all: @[email protected]

# The shared object target
[email protected]@: tls.o tlsBIO.o tlsIO.o tlsX509.o
	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o [email protected]@ 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: @[email protected]/tls.c @[email protected]/tlsInt.h @[email protected]/tclOpts.h @[email protected]/tls.tcl.h dh_params.h
tlsBIO.o: @[email protected]/tlsBIO.c @[email protected]/tlsInt.h
tlsIO.o: @[email protected]/tlsIO.c @[email protected]/tlsInt.h
tlsX509.o: @[email protected]/tlsX509.c @[email protected]/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
@[email protected]/tls.tcl.h: @[email protected]/tls.tcl
	xxd -i < '@[email protected]/tls.tcl' > '@[email protected]/tls.tcl.h.new'
	mv '@[email protected]/tls.tcl.h.new' '@[email protected]/tls.tcl.h'

# Create default DH parameters
dh_params.h: @[email protected]/gen_dh_params
	@[email protected]/gen_dh_params @[email protected] > 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 "[email protected]" -c "$<"

# Install the extension
install: @[email protected] pkgIndex.tcl
	$(INSTALL) -d '$(DESTDIR)$(PACKAGE_INSTALL_DIR)'
	$(INSTALL) -t '$(DESTDIR)$(PACKAGE_INSTALL_DIR)' @[email protected] 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 [email protected]@
	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 @[email protected]/tls.tcl.h
	rm -f @[email protected]/configure @[email protected]/config.sub @[email protected]/config.guess @[email protected]/install-sh
	rm -f @[email protected]/aclocal.m4
	rm -rf @[email protected]/autom4te.cache

.PHONY: all install clean distclean mrproper