# To compile on SunOS: add "-lsocket -lnsl" to LDFLAGS # To compile on MinGW: add "-lws2_32" to LDFLAGS or define WINDOWS in your env # To compile with PKCS11: add "-lpkcs11-helper" to LDFLAGS CFLAGS += -I../include -D_FILE_OFFSET_BITS=64 -Wall -W -Wdeclaration-after-statement OFLAGS = -O2 LDFLAGS += -L../library -lpolarssl $(SYS_LDFLAGS) ifdef DEBUG CFLAGS += -g3 endif ifdef WINDOWS LDFLAGS += -lws2_32 endif # Zlib shared library extensions: ifdef ZLIB LDFLAGS += -lz endif APPS = aes/aescrypt2 aes/crypt_and_hash \ hash/hello hash/generic_sum \ hash/md5sum hash/sha1sum \ hash/sha2sum pkey/dh_client \ pkey/dh_genprime pkey/dh_server \ pkey/gen_key \ pkey/key_app pkey/key_app_writer \ pkey/mpi_demo pkey/pk_decrypt \ pkey/pk_encrypt pkey/pk_sign \ pkey/pk_verify pkey/rsa_genkey \ pkey/rsa_decrypt pkey/rsa_encrypt \ pkey/rsa_sign pkey/rsa_verify \ pkey/rsa_sign_pss pkey/rsa_verify_pss \ ssl/dtls_client ssl/dtls_server \ ssl/ssl_client1 ssl/ssl_client2 \ ssl/ssl_server ssl/ssl_server2 \ ssl/ssl_fork_server \ ssl/ssl_mail_client random/gen_entropy \ random/gen_random_havege \ random/gen_random_ctr_drbg \ test/ssl_cert_test test/benchmark \ test/selftest test/ssl_test \ test/udp_proxy \ util/pem2der util/strerror \ x509/cert_app x509/crl_app \ x509/cert_req ifdef OPENSSL APPS += test/o_p_test endif ifdef PTHREAD APPS += ssl/ssl_pthread_server endif .SILENT: all: $(APPS) aes/aescrypt2: aes/aescrypt2.c ../library/libpolarssl.a echo " CC aes/aescrypt2.c" $(CC) $(CFLAGS) $(OFLAGS) aes/aescrypt2.c $(LDFLAGS) -o $@ aes/crypt_and_hash: aes/crypt_and_hash.c ../library/libpolarssl.a echo " CC aes/crypt_and_hash.c" $(CC) $(CFLAGS) $(OFLAGS) aes/crypt_and_hash.c $(LDFLAGS) -o $@ hash/hello: hash/hello.c ../library/libpolarssl.a echo " CC hash/hello.c" $(CC) $(CFLAGS) $(OFLAGS) hash/hello.c $(LDFLAGS) -o $@ hash/generic_sum: hash/generic_sum.c ../library/libpolarssl.a echo " CC hash/generic_sum.c" $(CC) $(CFLAGS) $(OFLAGS) hash/generic_sum.c $(LDFLAGS) -o $@ hash/md5sum: hash/md5sum.c ../library/libpolarssl.a echo " CC hash/md5sum.c" $(CC) $(CFLAGS) $(OFLAGS) hash/md5sum.c $(LDFLAGS) -o $@ hash/sha1sum: hash/sha1sum.c ../library/libpolarssl.a echo " CC hash/sha1sum.c" $(CC) $(CFLAGS) $(OFLAGS) hash/sha1sum.c $(LDFLAGS) -o $@ hash/sha2sum: hash/sha2sum.c ../library/libpolarssl.a echo " CC hash/sha2sum.c" $(CC) $(CFLAGS) $(OFLAGS) hash/sha2sum.c $(LDFLAGS) -o $@ pkey/dh_client: pkey/dh_client.c ../library/libpolarssl.a echo " CC pkey/dh_client.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/dh_client.c $(LDFLAGS) -o $@ pkey/dh_genprime: pkey/dh_genprime.c ../library/libpolarssl.a echo " CC pkey/dh_genprime.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/dh_genprime.c $(LDFLAGS) -o $@ pkey/dh_server: pkey/dh_server.c ../library/libpolarssl.a echo " CC pkey/dh_server.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/dh_server.c $(LDFLAGS) -o $@ pkey/ecdsa: pkey/ecdsa.c ../library/libpolarssl.a echo " CC pkey/ecdsa.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/ecdsa.c $(LDFLAGS) -o $@ pkey/gen_key: pkey/gen_key.c ../library/libpolarssl.a echo " CC pkey/gen_key.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/gen_key.c $(LDFLAGS) -o $@ pkey/key_app: pkey/key_app.c ../library/libpolarssl.a echo " CC pkey/key_app.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/key_app.c $(LDFLAGS) -o $@ pkey/key_app_writer: pkey/key_app_writer.c ../library/libpolarssl.a echo " CC pkey/key_app_writer.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/key_app_writer.c $(LDFLAGS) -o $@ pkey/mpi_demo: pkey/mpi_demo.c ../library/libpolarssl.a echo " CC pkey/mpi_demo.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/mpi_demo.c $(LDFLAGS) -o $@ pkey/pk_decrypt: pkey/pk_decrypt.c ../library/libpolarssl.a echo " CC pkey/pk_decrypt.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/pk_decrypt.c $(LDFLAGS) -o $@ pkey/pk_encrypt: pkey/pk_encrypt.c ../library/libpolarssl.a echo " CC pkey/pk_encrypt.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/pk_encrypt.c $(LDFLAGS) -o $@ pkey/pk_sign: pkey/pk_sign.c ../library/libpolarssl.a echo " CC pkey/pk_sign.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/pk_sign.c $(LDFLAGS) -o $@ pkey/pk_verify: pkey/pk_verify.c ../library/libpolarssl.a echo " CC pkey/pk_verify.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/pk_verify.c $(LDFLAGS) -o $@ pkey/rsa_genkey: pkey/rsa_genkey.c ../library/libpolarssl.a echo " CC pkey/rsa_genkey.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/rsa_genkey.c $(LDFLAGS) -o $@ pkey/rsa_sign: pkey/rsa_sign.c ../library/libpolarssl.a echo " CC pkey/rsa_sign.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/rsa_sign.c $(LDFLAGS) -o $@ pkey/rsa_verify: pkey/rsa_verify.c ../library/libpolarssl.a echo " CC pkey/rsa_verify.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/rsa_verify.c $(LDFLAGS) -o $@ pkey/rsa_sign_pss: pkey/rsa_sign_pss.c ../library/libpolarssl.a echo " CC pkey/rsa_sign_pss.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/rsa_sign_pss.c $(LDFLAGS) -o $@ pkey/rsa_verify_pss: pkey/rsa_verify_pss.c ../library/libpolarssl.a echo " CC pkey/rsa_verify_pss.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/rsa_verify_pss.c $(LDFLAGS) -o $@ pkey/rsa_decrypt: pkey/rsa_decrypt.c ../library/libpolarssl.a echo " CC pkey/rsa_decrypt.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/rsa_decrypt.c $(LDFLAGS) -o $@ pkey/rsa_encrypt: pkey/rsa_encrypt.c ../library/libpolarssl.a echo " CC pkey/rsa_encrypt.c" $(CC) $(CFLAGS) $(OFLAGS) pkey/rsa_encrypt.c $(LDFLAGS) -o $@ random/gen_entropy: random/gen_entropy.c ../library/libpolarssl.a echo " CC random/gen_entropy.c" $(CC) $(CFLAGS) $(OFLAGS) random/gen_entropy.c $(LDFLAGS) -o $@ random/gen_random_havege: random/gen_random_havege.c ../library/libpolarssl.a echo " CC random/gen_random_havege.c" $(CC) $(CFLAGS) $(OFLAGS) random/gen_random_havege.c $(LDFLAGS) -o $@ random/gen_random_ctr_drbg: random/gen_random_ctr_drbg.c ../library/libpolarssl.a echo " CC random/gen_random_ctr_drbg.c" $(CC) $(CFLAGS) $(OFLAGS) random/gen_random_ctr_drbg.c $(LDFLAGS) -o $@ ssl/dtls_client: ssl/dtls_client.c ../library/libpolarssl.a echo " CC ssl/dtls_client.c" $(CC) $(CFLAGS) $(OFLAGS) ssl/dtls_client.c $(LDFLAGS) -o $@ ssl/dtls_server: ssl/dtls_server.c ../library/libpolarssl.a echo " CC ssl/dtls_server.c" $(CC) $(CFLAGS) $(OFLAGS) ssl/dtls_server.c $(LDFLAGS) -o $@ ssl/ssl_client1: ssl/ssl_client1.c ../library/libpolarssl.a echo " CC ssl/ssl_client1.c" $(CC) $(CFLAGS) $(OFLAGS) ssl/ssl_client1.c $(LDFLAGS) -o $@ ssl/ssl_client2: ssl/ssl_client2.c ../library/libpolarssl.a echo " CC ssl/ssl_client2.c" $(CC) $(CFLAGS) $(OFLAGS) ssl/ssl_client2.c $(LDFLAGS) -o $@ ssl/ssl_server: ssl/ssl_server.c ../library/libpolarssl.a echo " CC ssl/ssl_server.c" $(CC) $(CFLAGS) $(OFLAGS) ssl/ssl_server.c $(LDFLAGS) -o $@ ssl/ssl_server2: ssl/ssl_server2.c ../library/libpolarssl.a echo " CC ssl/ssl_server2.c" $(CC) $(CFLAGS) $(OFLAGS) ssl/ssl_server2.c $(LDFLAGS) -o $@ ssl/ssl_fork_server: ssl/ssl_fork_server.c ../library/libpolarssl.a echo " CC ssl/ssl_fork_server.c" $(CC) $(CFLAGS) $(OFLAGS) ssl/ssl_fork_server.c $(LDFLAGS) -o $@ ssl/ssl_pthread_server: ssl/ssl_pthread_server.c ../library/libpolarssl.a echo " CC ssl/ssl_pthread_server.c" $(CC) $(CFLAGS) $(OFLAGS) ssl/ssl_pthread_server.c $(LDFLAGS) -o $@ -lpthread ssl/ssl_mail_client: ssl/ssl_mail_client.c ../library/libpolarssl.a echo " CC ssl/ssl_mail_client.c" $(CC) $(CFLAGS) $(OFLAGS) ssl/ssl_mail_client.c $(LDFLAGS) -o $@ test/ssl_cert_test: test/ssl_cert_test.c ../library/libpolarssl.a echo " CC test/ssl_cert_test.c" $(CC) $(CFLAGS) $(OFLAGS) test/ssl_cert_test.c $(LDFLAGS) -o $@ test/benchmark: test/benchmark.c ../library/libpolarssl.a echo " CC test/benchmark.c" $(CC) $(CFLAGS) $(OFLAGS) test/benchmark.c $(LDFLAGS) -o $@ test/selftest: test/selftest.c ../library/libpolarssl.a echo " CC test/selftest.c" $(CC) $(CFLAGS) $(OFLAGS) test/selftest.c $(LDFLAGS) -o $@ test/ssl_test: test/ssl_test.c ../library/libpolarssl.a echo " CC test/ssl_test.c" $(CC) $(CFLAGS) $(OFLAGS) test/ssl_test.c $(LDFLAGS) -o $@ test/udp_proxy: test/udp_proxy.c ../library/libpolarssl.a echo " CC test/udp_proxy.c" $(CC) $(CFLAGS) $(OFLAGS) test/udp_proxy.c $(LDFLAGS) -o $@ test/o_p_test: test/o_p_test.c ../library/libpolarssl.a echo " CC test/o_p_test.c" $(CC) $(CFLAGS) $(OFLAGS) test/o_p_test.c $(LDFLAGS) -o $@ -lssl -lcrypto util/pem2der: util/pem2der.c ../library/libpolarssl.a echo " CC util/pem2der.c" $(CC) $(CFLAGS) $(OFLAGS) util/pem2der.c $(LDFLAGS) -o $@ util/strerror: util/strerror.c ../library/libpolarssl.a echo " CC util/strerror.c" $(CC) $(CFLAGS) $(OFLAGS) util/strerror.c $(LDFLAGS) -o $@ x509/cert_app: x509/cert_app.c ../library/libpolarssl.a echo " CC x509/cert_app.c" $(CC) $(CFLAGS) $(OFLAGS) x509/cert_app.c $(LDFLAGS) -o $@ x509/crl_app: x509/crl_app.c ../library/libpolarssl.a echo " CC x509/crl_app.c" $(CC) $(CFLAGS) $(OFLAGS) x509/crl_app.c $(LDFLAGS) -o $@ x509/cert_req: x509/cert_req.c ../library/libpolarssl.a echo " CC x509/cert_req.c" $(CC) $(CFLAGS) $(OFLAGS) x509/cert_req.c $(LDFLAGS) -o $@ clean: ifndef WINDOWS rm -f $(APPS) endif ifdef WINDOWS del /S /Q /F *.o *.exe endif list: echo $(APPS)