Paul Bakker | 5121ce5 | 2009-01-03 21:22:43 +0000 | [diff] [blame] | 1 | |
Paul Bakker | ad7eca2 | 2010-03-24 06:46:47 +0000 | [diff] [blame] | 2 | # Also see "include/polarssl/config.h" |
Paul Bakker | 5121ce5 | 2009-01-03 21:22:43 +0000 | [diff] [blame] | 3 | |
Paul Bakker | 62f88dc | 2012-05-10 21:26:28 +0000 | [diff] [blame] | 4 | # To compile on MinGW: add "-lws2_32" to LDFLAGS or define WINDOWS in your |
5 | # environment | ||||
6 | # | ||||
Paul Bakker | 46eb138 | 2011-01-30 17:10:13 +0000 | [diff] [blame] | 7 | CFLAGS += -I../include -D_FILE_OFFSET_BITS=64 -Wall -W -Wdeclaration-after-statement |
Paul Bakker | f1ab0ec | 2012-10-23 12:12:53 +0000 | [diff] [blame] | 8 | OFLAGS = -O2 |
Paul Bakker | 5121ce5 | 2009-01-03 21:22:43 +0000 | [diff] [blame] | 9 | |
Paul Bakker | c7ffd36 | 2012-04-05 12:08:29 +0000 | [diff] [blame] | 10 | ifdef DEBUG |
11 | CFLAGS += -g3 | ||||
12 | endif | ||||
13 | |||||
Paul Bakker | ad7eca2 | 2010-03-24 06:46:47 +0000 | [diff] [blame] | 14 | # MicroBlaze specific options: |
15 | # CFLAGS += -mno-xl-soft-mul -mxl-barrel-shift | ||||
Paul Bakker | 5121ce5 | 2009-01-03 21:22:43 +0000 | [diff] [blame] | 16 | |
Paul Bakker | ad7eca2 | 2010-03-24 06:46:47 +0000 | [diff] [blame] | 17 | # To compile on Plan9: |
18 | # CFLAGS += -D_BSD_EXTENSION | ||||
Paul Bakker | 5121ce5 | 2009-01-03 21:22:43 +0000 | [diff] [blame] | 19 | |
Paul Bakker | ad7eca2 | 2010-03-24 06:46:47 +0000 | [diff] [blame] | 20 | # To compile as a shared library: |
Paul Bakker | 9a73632 | 2012-11-14 12:39:52 +0000 | [diff] [blame] | 21 | ifdef SHARED |
Manuel Pégourié-Gonnard | 3cfb345 | 2015-02-13 13:34:08 +0000 | [diff] [blame] | 22 | # all code is position-indep with mingw, avoid warning about useless flag |
23 | ifndef WINDOWS | ||||
Paul Bakker | 9a73632 | 2012-11-14 12:39:52 +0000 | [diff] [blame] | 24 | CFLAGS += -fPIC |
25 | endif | ||||
Manuel Pégourié-Gonnard | 3cfb345 | 2015-02-13 13:34:08 +0000 | [diff] [blame] | 26 | endif |
Paul Bakker | 5121ce5 | 2009-01-03 21:22:43 +0000 | [diff] [blame] | 27 | |
Alon Bar-Lev | 18ba0cc | 2015-02-14 01:04:58 +0200 | [diff] [blame] | 28 | SOEXT=so.8 |
Paul Bakker | 33aac37 | 2011-08-13 11:47:41 +0000 | [diff] [blame] | 29 | |
Alon Bar-Lev | 18ba0cc | 2015-02-14 01:04:58 +0200 | [diff] [blame] | 30 | DLEXT=so |
Paul Bakker | ad7eca2 | 2010-03-24 06:46:47 +0000 | [diff] [blame] | 31 | # OSX shared library extension: |
32 | # DLEXT=dylib | ||||
Paul Bakker | 5121ce5 | 2009-01-03 21:22:43 +0000 | [diff] [blame] | 33 | |
Alon Bar-Lev | 18ba0cc | 2015-02-14 01:04:58 +0200 | [diff] [blame] | 34 | # |
35 | # if we running on Windows build | ||||
36 | # for Windows | ||||
37 | # | ||||
Paul Bakker | cd5b529 | 2012-05-10 20:49:10 +0000 | [diff] [blame] | 38 | ifdef WINDOWS |
Alon Bar-Lev | 18ba0cc | 2015-02-14 01:04:58 +0200 | [diff] [blame] | 39 | WINDOWS_BUILD=1 |
40 | endif | ||||
41 | |||||
42 | # Windows shared library extension: | ||||
43 | ifdef WINDOWS_BUILD | ||||
Paul Bakker | cd5b529 | 2012-05-10 20:49:10 +0000 | [diff] [blame] | 44 | DLEXT=dll |
Paul Bakker | 62f88dc | 2012-05-10 21:26:28 +0000 | [diff] [blame] | 45 | LDFLAGS += -lws2_32 |
Paul Bakker | cd5b529 | 2012-05-10 20:49:10 +0000 | [diff] [blame] | 46 | endif |
Paul Bakker | a585beb | 2011-06-21 08:59:44 +0000 | [diff] [blame] | 47 | |
Manuel Pégourié-Gonnard | 92ac76f | 2013-12-16 17:12:53 +0100 | [diff] [blame] | 48 | OBJS= aes.o aesni.o arc4.o \ |
49 | asn1parse.o \ | ||||
Paul Bakker | a9379c0 | 2012-07-04 11:02:11 +0000 | [diff] [blame] | 50 | asn1write.o base64.o bignum.o \ |
Manuel Pégourié-Gonnard | a6916fa | 2014-05-02 15:17:29 +0200 | [diff] [blame] | 51 | blowfish.o camellia.o ccm.o \ |
Paul Bakker | 0e04d0e | 2011-11-27 14:46:59 +0000 | [diff] [blame] | 52 | certs.o cipher.o cipher_wrap.o \ |
Paul Bakker | 6083fd2 | 2011-12-03 21:45:14 +0000 | [diff] [blame] | 53 | ctr_drbg.o debug.o des.o \ |
Paul Bakker | d589a0d | 2013-03-13 16:30:17 +0100 | [diff] [blame] | 54 | dhm.o ecdh.o ecdsa.o \ |
Manuel Pégourié-Gonnard | 32b04c1 | 2013-12-02 15:49:09 +0100 | [diff] [blame] | 55 | ecp.o ecp_curves.o \ |
Paul Bakker | a95919b | 2013-01-16 17:00:05 +0100 | [diff] [blame] | 56 | entropy.o entropy_poll.o \ |
Paul Bakker | 89e80c9 | 2012-03-20 13:50:09 +0000 | [diff] [blame] | 57 | error.o gcm.o havege.o \ |
Manuel Pégourié-Gonnard | 490bdf3 | 2014-01-27 14:03:10 +0100 | [diff] [blame] | 58 | hmac_drbg.o \ |
Paul Bakker | 6083fd2 | 2011-12-03 21:45:14 +0000 | [diff] [blame] | 59 | md.o md_wrap.o md2.o \ |
Paul Bakker | defc0ca | 2014-02-04 17:30:24 +0100 | [diff] [blame] | 60 | md4.o md5.o \ |
Paul Bakker | b076314 | 2013-11-05 11:27:12 +0100 | [diff] [blame] | 61 | memory_buffer_alloc.o net.o \ |
Paul Bakker | c70b982 | 2013-04-07 22:00:46 +0200 | [diff] [blame] | 62 | oid.o \ |
Paul Bakker | f518b16 | 2012-08-23 13:03:18 +0000 | [diff] [blame] | 63 | padlock.o pbkdf2.o pem.o \ |
Paul Bakker | b0c19a4 | 2013-06-24 19:26:38 +0200 | [diff] [blame] | 64 | pkcs5.o pkcs11.o pkcs12.o \ |
Paul Bakker | 1a7550a | 2013-09-15 13:01:22 +0200 | [diff] [blame] | 65 | pk.o pk_wrap.o pkparse.o \ |
Paul Bakker | 747a83a | 2014-02-01 22:50:07 +0100 | [diff] [blame] | 66 | pkwrite.o platform.o ripemd160.o \ |
Paul Bakker | d2681d8 | 2013-06-30 14:49:12 +0200 | [diff] [blame] | 67 | rsa.o sha1.o sha256.o \ |
68 | sha512.o ssl_cache.o ssl_cli.o \ | ||||
Manuel Pégourié-Gonnard | 232edd4 | 2014-07-23 16:56:27 +0200 | [diff] [blame] | 69 | ssl_cookie.o \ |
Paul Bakker | 68884e3 | 2013-01-07 18:20:04 +0100 | [diff] [blame] | 70 | ssl_srv.o ssl_ciphersuites.o \ |
Paul Bakker | 2466d93 | 2013-09-28 14:40:38 +0200 | [diff] [blame] | 71 | ssl_tls.o threading.o timing.o \ |
Paul Bakker | 0f90d7d | 2014-04-30 11:49:44 +0200 | [diff] [blame] | 72 | version.o version_features.o \ |
Paul Bakker | 9556d3d | 2013-09-18 13:50:13 +0200 | [diff] [blame] | 73 | x509.o x509_create.o \ |
74 | x509_crl.o x509_crt.o x509_csr.o \ | ||||
75 | x509write_crt.o x509write_csr.o \ | ||||
76 | xtea.o | ||||
Paul Bakker | 5121ce5 | 2009-01-03 21:22:43 +0000 | [diff] [blame] | 77 | |
Paul Bakker | ad7eca2 | 2010-03-24 06:46:47 +0000 | [diff] [blame] | 78 | .SILENT: |
Paul Bakker | 5121ce5 | 2009-01-03 21:22:43 +0000 | [diff] [blame] | 79 | |
Paul Bakker | 9a73632 | 2012-11-14 12:39:52 +0000 | [diff] [blame] | 80 | ifndef SHARED |
Paul Bakker | 3783d6d | 2011-07-13 11:25:36 +0000 | [diff] [blame] | 81 | all: static |
Paul Bakker | 9a73632 | 2012-11-14 12:39:52 +0000 | [diff] [blame] | 82 | else |
Manuel Pégourié-Gonnard | 04a81d5 | 2015-01-27 11:24:05 +0100 | [diff] [blame] | 83 | all: shared static |
Paul Bakker | 9a73632 | 2012-11-14 12:39:52 +0000 | [diff] [blame] | 84 | endif |
Paul Bakker | 5121ce5 | 2009-01-03 21:22:43 +0000 | [diff] [blame] | 85 | |
Paul Bakker | ad7eca2 | 2010-03-24 06:46:47 +0000 | [diff] [blame] | 86 | static: libpolarssl.a |
Paul Bakker | 5121ce5 | 2009-01-03 21:22:43 +0000 | [diff] [blame] | 87 | |
Alon Bar-Lev | 18ba0cc | 2015-02-14 01:04:58 +0200 | [diff] [blame] | 88 | shared: libpolarssl.$(DLEXT) |
Paul Bakker | 5121ce5 | 2009-01-03 21:22:43 +0000 | [diff] [blame] | 89 | |
Manuel Pégourié-Gonnard | c26a092 | 2015-01-23 12:51:33 +0000 | [diff] [blame] | 90 | libpolarssl.a: libmbedtls.a |
91 | echo " LN $@ -> $?" | ||||
92 | ifndef WINDOWS | ||||
93 | ln -sf $? $@ | ||||
94 | else | ||||
95 | copy /y /b $? $@ | ||||
96 | endif | ||||
97 | |||||
98 | libmbedtls.a: $(OBJS) | ||||
Paul Bakker | ad7eca2 | 2010-03-24 06:46:47 +0000 | [diff] [blame] | 99 | echo " AR $@" |
Manuel Pégourié-Gonnard | fba22fd | 2015-02-11 14:24:47 +0000 | [diff] [blame] | 100 | $(AR) rc $@ $(OBJS) |
Paul Bakker | ad7eca2 | 2010-03-24 06:46:47 +0000 | [diff] [blame] | 101 | echo " RL $@" |
Paul Bakker | a585beb | 2011-06-21 08:59:44 +0000 | [diff] [blame] | 102 | $(AR) s $@ |
Paul Bakker | 5121ce5 | 2009-01-03 21:22:43 +0000 | [diff] [blame] | 103 | |
Alon Bar-Lev | 18ba0cc | 2015-02-14 01:04:58 +0200 | [diff] [blame] | 104 | libpolarssl.$(DLEXT): libmbedtls.$(DLEXT) |
Manuel Pégourié-Gonnard | 145422f | 2015-01-26 18:26:10 +0100 | [diff] [blame] | 105 | echo " LN $@ -> $?" |
106 | ifndef WINDOWS | ||||
107 | ln -sf $? $@ | ||||
108 | else | ||||
109 | copy /y /b $? $@ | ||||
110 | endif | ||||
Alon Bar-Lev | 18ba0cc | 2015-02-14 01:04:58 +0200 | [diff] [blame] | 111 | ifdef WINDOWS_BUILD |
112 | ifndef WINDOWS | ||||
113 | ln -sf $?.a $@.a | ||||
114 | else | ||||
115 | copy /y /b $?.a $@.a | ||||
116 | endif | ||||
117 | endif | ||||
Manuel Pégourié-Gonnard | 145422f | 2015-01-26 18:26:10 +0100 | [diff] [blame] | 118 | |
Alon Bar-Lev | 18ba0cc | 2015-02-14 01:04:58 +0200 | [diff] [blame] | 119 | libmbedtls.$(SOEXT): $(OBJS) |
Paul Bakker | ad7eca2 | 2010-03-24 06:46:47 +0000 | [diff] [blame] | 120 | echo " LD $@" |
Alon Bar-Lev | 18ba0cc | 2015-02-14 01:04:58 +0200 | [diff] [blame] | 121 | $(CC) ${LDFLAGS} -shared -Wl,-soname,$@ -o $@ $(OBJS) |
Paul Bakker | 5121ce5 | 2009-01-03 21:22:43 +0000 | [diff] [blame] | 122 | |
Alon Bar-Lev | 18ba0cc | 2015-02-14 01:04:58 +0200 | [diff] [blame] | 123 | libmbedtls.so: libmbedtls.$(SOEXT) |
124 | echo " LN $@ -> libmbedtls.$(SOEXT)" | ||||
125 | ln -sf libmbedtls.$(SOEXT) $@ | ||||
Paul Bakker | b076314 | 2013-11-05 11:27:12 +0100 | [diff] [blame] | 126 | |
Manuel Pégourié-Gonnard | 145422f | 2015-01-26 18:26:10 +0100 | [diff] [blame] | 127 | libmbedtls.dylib: $(OBJS) |
Paul Bakker | ad7eca2 | 2010-03-24 06:46:47 +0000 | [diff] [blame] | 128 | echo " LD $@" |
Paul Bakker | 46eb138 | 2011-01-30 17:10:13 +0000 | [diff] [blame] | 129 | $(CC) ${LDFLAGS} -dynamiclib -o $@ $(OBJS) |
Paul Bakker | 5121ce5 | 2009-01-03 21:22:43 +0000 | [diff] [blame] | 130 | |
Manuel Pégourié-Gonnard | 145422f | 2015-01-26 18:26:10 +0100 | [diff] [blame] | 131 | libmbedtls.dll: $(OBJS) |
Paul Bakker | b076314 | 2013-11-05 11:27:12 +0100 | [diff] [blame] | 132 | echo " LD $@" |
Alon Bar-Lev | 18ba0cc | 2015-02-14 01:04:58 +0200 | [diff] [blame] | 133 | $(CC) -shared -Wl,-soname,$@ -Wl,--out-implib,$@.a -o $@ $(OBJS) -lws2_32 -lwinmm -lgdi32 |
Paul Bakker | a585beb | 2011-06-21 08:59:44 +0000 | [diff] [blame] | 134 | |
Paul Bakker | ad7eca2 | 2010-03-24 06:46:47 +0000 | [diff] [blame] | 135 | .c.o: |
Paul Bakker | 96d42da | 2012-04-05 13:22:07 +0000 | [diff] [blame] | 136 | echo " CC $<" |
Paul Bakker | ad7eca2 | 2010-03-24 06:46:47 +0000 | [diff] [blame] | 137 | $(CC) $(CFLAGS) $(OFLAGS) -c $< |
Paul Bakker | 5121ce5 | 2009-01-03 21:22:43 +0000 | [diff] [blame] | 138 | |
139 | clean: | ||||
Paul Bakker | 62f88dc | 2012-05-10 21:26:28 +0000 | [diff] [blame] | 140 | ifndef WINDOWS |
Manuel Pégourié-Gonnard | c26a092 | 2015-01-23 12:51:33 +0000 | [diff] [blame] | 141 | rm -f *.o libpolarssl.* libmbedtls.* |
Paul Bakker | 62f88dc | 2012-05-10 21:26:28 +0000 | [diff] [blame] | 142 | endif |
143 | ifdef WINDOWS | ||||
Manuel Pégourié-Gonnard | c26a092 | 2015-01-23 12:51:33 +0000 | [diff] [blame] | 144 | del /Q /F *.o libpolarssl.* libmbedtls.* |
Paul Bakker | 62f88dc | 2012-05-10 21:26:28 +0000 | [diff] [blame] | 145 | endif |