Makefile 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. #
  2. # OpenSSL/crypto/Makefile
  3. #
  4. DIR= crypto
  5. TOP= ..
  6. CC= cc
  7. INCLUDE= -I. -I$(TOP) -I../include $(ZLIB_INCLUDE)
  8. # INCLUDES targets sudbirs!
  9. INCLUDES= -I.. -I../.. -I../asn1 -I../evp -I../../include $(ZLIB_INCLUDE)
  10. CFLAG= -g
  11. MAKEDEPPROG= makedepend
  12. MAKEDEPEND= $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
  13. MAKEFILE= Makefile
  14. RM= rm -f
  15. AR= ar r
  16. RECURSIVE_MAKE= [ -n "$(SDIRS)" ] && for i in $(SDIRS) ; do \
  17. (cd $$i && echo "making $$target in $(DIR)/$$i..." && \
  18. $(MAKE) -e TOP=../.. DIR=$$i INCLUDES='$(INCLUDES)' $$target ) || exit 1; \
  19. done;
  20. PEX_LIBS=
  21. EX_LIBS=
  22. CFLAGS= $(INCLUDE) $(CFLAG)
  23. ASFLAGS= $(INCLUDE) $(ASFLAG)
  24. AFLAGS=$(ASFLAGS)
  25. CPUID_OBJ=mem_clr.o
  26. LIBS=
  27. GENERAL=Makefile README crypto-lib.com install.com
  28. TEST=constant_time_test.c
  29. LIB= $(TOP)/libcrypto.a
  30. SHARED_LIB= libcrypto$(SHLIB_EXT)
  31. LIBSRC= cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c
  32. LIBOBJ= cryptlib.o mem.o mem_dbg.o cversion.o ex_data.o cpt_err.o ebcdic.o uid.o o_time.o o_str.o o_dir.o $(CPUID_OBJ)
  33. SRC= $(LIBSRC)
  34. EXHEADER= crypto.h opensslv.h opensslconf.h ebcdic.h symhacks.h \
  35. ossl_typ.h
  36. HEADER= cryptlib.h buildinf.h md32_common.h o_time.h o_str.h o_dir.h \
  37. constant_time_locl.h $(EXHEADER)
  38. ALL= $(GENERAL) $(SRC) $(HEADER)
  39. top:
  40. @(cd ..; $(MAKE) DIRS=$(DIR) all)
  41. all: shared
  42. buildinf.h: ../Makefile
  43. $(PERL) $(TOP)/util/mkbuildinf.pl "$(CC) $(CFLAGS)" "$(PLATFORM)" >buildinf.h
  44. x86cpuid.s: x86cpuid.pl perlasm/x86asm.pl
  45. $(PERL) x86cpuid.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@
  46. applink.o: $(TOP)/ms/applink.c
  47. $(CC) $(CFLAGS) -c -o $@ $(TOP)/ms/applink.c
  48. uplink.o: $(TOP)/ms/uplink.c applink.o
  49. $(CC) $(CFLAGS) -c -o $@ $(TOP)/ms/uplink.c
  50. uplink-cof.s: $(TOP)/ms/uplink.pl
  51. $(PERL) $(TOP)/ms/uplink.pl coff > $@
  52. x86_64cpuid.s: x86_64cpuid.pl
  53. $(PERL) x86_64cpuid.pl $(PERLASM_SCHEME) > $@
  54. ia64cpuid.s: ia64cpuid.S
  55. $(CC) $(CFLAGS) -E ia64cpuid.S > $@
  56. ppccpuid.s: ppccpuid.pl; $(PERL) ppccpuid.pl $(PERLASM_SCHEME) $@
  57. alphacpuid.s: alphacpuid.pl
  58. $(PERL) $< | $(CC) -E - | tee $@ > /dev/null
  59. testapps:
  60. [ -z "$(THIS)" ] || ( if echo $(SDIRS) | fgrep ' des '; \
  61. then cd des && $(MAKE) -e des; fi )
  62. [ -z "$(THIS)" ] || ( cd pkcs7 && $(MAKE) -e testapps );
  63. @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
  64. subdirs:
  65. @target=all; $(RECURSIVE_MAKE)
  66. files:
  67. $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
  68. @target=files; $(RECURSIVE_MAKE)
  69. links:
  70. @$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
  71. @$(PERL) $(TOP)/util/mklink.pl ../test $(TEST)
  72. @$(PERL) $(TOP)/util/mklink.pl ../apps $(APPS)
  73. @target=links; $(RECURSIVE_MAKE)
  74. # lib: $(LIB): are splitted to avoid end-less loop
  75. lib: $(LIB)
  76. @touch lib
  77. $(LIB): $(LIBOBJ)
  78. $(AR) $(LIB) $(LIBOBJ)
  79. $(RANLIB) $(LIB) || echo Never mind.
  80. shared: buildinf.h lib subdirs
  81. if [ -n "$(SHARED_LIBS)" ]; then \
  82. (cd ..; $(MAKE) $(SHARED_LIB)); \
  83. fi
  84. libs:
  85. @target=lib; $(RECURSIVE_MAKE)
  86. install:
  87. @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
  88. @headerlist="$(EXHEADER)"; for i in $$headerlist ;\
  89. do \
  90. (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
  91. chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
  92. done;
  93. @target=install; $(RECURSIVE_MAKE)
  94. lint:
  95. @target=lint; $(RECURSIVE_MAKE)
  96. update: local_depend
  97. @[ -z "$(THIS)" ] || (set -e; target=update; $(RECURSIVE_MAKE) )
  98. @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
  99. depend: local_depend
  100. @[ -z "$(THIS)" ] || (set -e; target=depend; $(RECURSIVE_MAKE) )
  101. @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
  102. local_depend:
  103. @[ -z "$(THIS)" -o -f buildinf.h ] || touch buildinf.h # fake buildinf.h if it does not exist
  104. @[ -z "$(THIS)" ] || $(MAKEDEPEND) -- $(CFLAG) $(INCLUDE) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
  105. @[ -z "$(THIS)" -o -s buildinf.h ] || rm buildinf.h
  106. clean:
  107. rm -f buildinf.h *.s *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
  108. @target=clean; $(RECURSIVE_MAKE)
  109. dclean:
  110. $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
  111. mv -f Makefile.new $(MAKEFILE)
  112. rm -f opensslconf.h
  113. @target=dclean; $(RECURSIVE_MAKE)
  114. # DO NOT DELETE THIS LINE -- make depend depends on it.
  115. cpt_err.o: ../include/openssl/bio.h ../include/openssl/crypto.h
  116. cpt_err.o: ../include/openssl/e_os2.h ../include/openssl/err.h
  117. cpt_err.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h
  118. cpt_err.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
  119. cpt_err.o: ../include/openssl/safestack.h ../include/openssl/stack.h
  120. cpt_err.o: ../include/openssl/symhacks.h cpt_err.c
  121. cryptlib.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
  122. cryptlib.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
  123. cryptlib.o: ../include/openssl/err.h ../include/openssl/lhash.h
  124. cryptlib.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
  125. cryptlib.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
  126. cryptlib.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.c
  127. cryptlib.o: cryptlib.h
  128. cversion.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
  129. cversion.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
  130. cversion.o: ../include/openssl/err.h ../include/openssl/lhash.h
  131. cversion.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
  132. cversion.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
  133. cversion.o: ../include/openssl/stack.h ../include/openssl/symhacks.h buildinf.h
  134. cversion.o: cryptlib.h cversion.c
  135. ebcdic.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h ebcdic.c
  136. ex_data.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
  137. ex_data.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
  138. ex_data.o: ../include/openssl/err.h ../include/openssl/lhash.h
  139. ex_data.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
  140. ex_data.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
  141. ex_data.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
  142. ex_data.o: ex_data.c
  143. mem.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
  144. mem.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
  145. mem.o: ../include/openssl/err.h ../include/openssl/lhash.h
  146. mem.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
  147. mem.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
  148. mem.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
  149. mem.o: mem.c
  150. mem_clr.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
  151. mem_clr.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
  152. mem_clr.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
  153. mem_clr.o: ../include/openssl/stack.h ../include/openssl/symhacks.h mem_clr.c
  154. mem_dbg.o: ../e_os.h ../include/openssl/bio.h ../include/openssl/buffer.h
  155. mem_dbg.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
  156. mem_dbg.o: ../include/openssl/err.h ../include/openssl/lhash.h
  157. mem_dbg.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
  158. mem_dbg.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
  159. mem_dbg.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
  160. mem_dbg.o: mem_dbg.c
  161. o_dir.o: ../e_os.h ../include/openssl/e_os2.h ../include/openssl/opensslconf.h
  162. o_dir.o: LPdir_unix.c o_dir.c o_dir.h
  163. o_str.o: ../e_os.h ../include/openssl/e_os2.h ../include/openssl/opensslconf.h
  164. o_str.o: o_str.c o_str.h
  165. o_time.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h o_time.c
  166. o_time.o: o_time.h
  167. uid.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
  168. uid.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
  169. uid.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
  170. uid.o: ../include/openssl/stack.h ../include/openssl/symhacks.h uid.c