You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
2.9 KiB
123 lines
2.9 KiB
# Makefile for easy-tls example application (rudimentary client and server) |
|
# $Id: Makefile,v 1.2 2001/09/18 09:15:40 bodo Exp $ |
|
|
|
SOLARIS_CFLAGS=-Wall -pedantic -g -O2 |
|
SOLARIS_LIBS=-lxnet |
|
|
|
LINUX_CFLAGS=-Wall -pedantic -g -O2 |
|
LINUX_LIBS= |
|
|
|
|
|
auto-all: |
|
case `uname -s` in \ |
|
SunOS) echo Using SunOS configuration; \ |
|
make SYSCFLAGS="$(SOLARIS_CFLAGS)" SYSLIBS="$(SOLARIS_LIBS)" all;; \ |
|
Linux) echo Using Linux configuration; \ |
|
make SYSCFLAGS="$(LINUX_CFLAGS)" SYSLIBS="$(LINUX_LIBS)" all;; \ |
|
*) echo "unknown system"; exit 1;; \ |
|
esac |
|
|
|
all: test TAGS |
|
|
|
# For adapting this Makefile to a different system, only the following |
|
# definitions should need customizing: |
|
|
|
OPENSSLDIR=../.. |
|
CC=gcc |
|
|
|
SYSCFLAGS=whatever |
|
SYSLIBS=whatever |
|
|
|
|
|
############################################################################# |
|
# |
|
# SSLeay/OpenSSL imports |
|
# |
|
# OPENSSLDIR (set above) can be either the directory where OpenSSL is |
|
# installed or the directory where it was compiled. |
|
|
|
# We rely on having a new OpenSSL release where include files |
|
# have names like <openssl/ssl.h> (not just <ssl.h>). |
|
OPENSSLINCLUDES=-I$(OPENSSLDIR)/include |
|
|
|
# libcrypto.a and libssl.a are directly in $(OPENSSLDIR) if this is |
|
# the compile directory, or in $(OPENSSLDIR)/lib if we use an installed |
|
# library. With the following definition, we can handle either case. |
|
OPENSSLLIBS=-L$(OPENSSLDIR) -L$(OPENSSLDIR)/lib -lssl -lcrypto |
|
|
|
|
|
############################################################################# |
|
# |
|
# Stuff for handling the source files |
|
# |
|
|
|
SOURCES=easy-tls.c test.c |
|
HEADERS=easy-tls.h test.h |
|
DOCSandEXAMPLESetc=Makefile cert.pem cacerts.pem |
|
EVERYTHING=$(SOURCES) $(HEADERS) $(DOCSandEXAMPLESetc) |
|
|
|
ls: ls-l |
|
ls-l: |
|
ls -l $(EVERYTHING) |
|
# For RCS: |
|
tag: |
|
-rcs -n_`date +%y%m%d`: $(EVERYTHING) |
|
rcs -nMYTAG $(EVERYTHING) |
|
rcs -nMYTAG: $(EVERYTHING) |
|
diff: |
|
-rcsdiff -rMYTAG -u $(EVERYTHING) |
|
today: |
|
-rcsdiff -r_`date +%y%m%d` -u $(EVERYTHING) |
|
ident: |
|
for a in $(EVERYTHING); do ident $$a; done |
|
|
|
# Distribution .tar: |
|
easy-tls.tar.gz: $(EVERYTHING) |
|
tar cvf - $(EVERYTHING) | \ |
|
gzip -9 > easy-tls.tar.gz |
|
|
|
# Working .tar: |
|
tls.tgz: $(EVERYTHING) |
|
tar cfv - `find . -type f -a ! -name '*.tgz' -a ! -name '*.tar.gz'` | \ |
|
gzip -9 > tls.tgz |
|
|
|
# For emacs: |
|
etags: TAGS |
|
TAGS: $(SOURCES) $(HEADERS) |
|
-etags $(SOURCES) $(HEADERS) |
|
|
|
|
|
############################################################################# |
|
# |
|
# Compilation |
|
# |
|
# The following definitions are system dependent (and hence defined |
|
# at the beginning of this Makefile, where they are more easily found): |
|
|
|
### CC=gcc |
|
### SYSCFLAGS=-Wall -pedantic -g -O2 |
|
### SYSLIBS=-lxnet |
|
|
|
EXTRACFLAGS=-DTLS_APP=\"test.h\" |
|
# EXTRACFLAGS=-DTLS_APP=\"test.h\" -DDEBUG_TLS |
|
|
|
# |
|
# The rest shouldn't need to be touched. |
|
# |
|
LDFLAGS=$(SYSLIBS) $(OPENSSLLIBS) |
|
INCLUDES=$(OPENSSLINCLUDES) |
|
CFLAGS=$(SYSCFLAGS) $(EXTRACFLAGS) $(INCLUDES) |
|
|
|
OBJS=easy-tls.o test.o |
|
|
|
clean: |
|
@rm -f test |
|
@rm -f TAGS |
|
@rm -f *.o |
|
@rm -f core |
|
|
|
test: $(OBJS) |
|
$(CC) $(OBJS) $(LDFLAGS) -o test |
|
|
|
test.o: $(HEADERS) |
|
easy-tls.o: $(HEADERS)
|
|
|