Makefile.in 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. #
  2. # DO NOT EDIT THIS FILE
  3. #
  4. #
  5. SHELL = @SHELL@
  6. top_srcdir = @top_srcdir@
  7. srcdir = @srcdir@
  8. VPATH = @srcdir@
  9. @SET_MAKE@
  10. CCDEPMODE = @CCDEPMODE@
  11. BINEXEC = wraith@EXEEXT@
  12. STATICMAKEFILES = lib/Makefile src/Makefile Makefile
  13. CONFIGFILES = build/config.cache build/config.log build/config.status src/config.h src/buildinfo.h
  14. DISTROFILES = README.md LICENSE build doc scripts lib Makefile.in build.sh configure src BSDmakefile
  15. EXCLUDES = $(CONFIGFILES) $(STATICMAKEFILES)
  16. COMMIT_FULL := $(shell git log -1 --pretty=format:%H HEAD)
  17. COMMIT_SHORT := $(shell git log -1 --pretty=format:%h HEAD)
  18. BRANCH := $(shell git branch --no-color | grep "^*" | sed -e 's/^\* //')
  19. BUILDTS := $(shell git log -1 --pretty=format:%ct HEAD)
  20. VERSION := $(shell git describe --candidates=2)
  21. DISTRIB = wraith-$(VERSION)
  22. HELPFILE = doc/help.txt
  23. # defaults
  24. CXX = @CXX@
  25. CC = @CC@
  26. LD_DYNAMIC = @CXX@
  27. LD_STATIC = @CXX@ @STATIC@
  28. LD_DEBUG = @CXX@
  29. STRIP = @STRIP@
  30. DIFF = @DIFF@
  31. #LIBS = @LIBS@
  32. LIBS = @LIBS@
  33. INCLUDES = @TCL_INCLUDES@ @SSL_INCLUDES@
  34. DEBCXXFLAGS = -DDEBUG -fno-inline -g3 -ggdb3 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wshadow -Wpointer-arith @GCC3DEB@ @GCC4DEB@ @DEBCXXFLAGS@
  35. DEBLDFLAGS= @DEBLDFLAGS@
  36. CFLGS = @GCC3_CFLAGS@
  37. CXXFLAGS = @CXXFLAGS@ $(CFLGS) @GCC3_CXXFLAGS@ -fno-rtti
  38. MAKEFLAGS = -s
  39. MAKE_STATIC = $(MAKE) 'MAKE=$(MAKE)' 'CXX=$(CXX)' 'LD=$(LD_STATIC)' 'INCLUDES=$(INCLUDES)' \
  40. 'CCDEPMODE=$(CCDEPMODE)' 'BRANCH=$(BRANCH)' 'COMMIT=$(COMMIT_SHORT)' 'BUILDTS=$(BUILDTS)' 'VERSION=$(VERSION)' \
  41. 'STRIP=$(STRIP)' 'CXXFLAGS=$(CXXFLAGS)' 'CFLGS=$(CFLGS) -DBIN_TYPE_STATIC' \
  42. 'LIBS=$(LIBS)' 'EGGEXEC=$(BINEXEC)' 'EGGBUILD=(wraith)'
  43. MAKE_DYNAMIC = $(MAKE) 'MAKE=$(MAKE)' 'CXX=$(CXX)' 'CC=$(CC)' 'LD=$(LD_DYNAMIC)' 'INCLUDES=$(INCLUDES)' \
  44. 'CCDEPMODE=$(CCDEPMODE)' 'BRANCH=$(BRANCH)' 'COMMIT=$(COMMIT_SHORT)' 'BUILDTS=$(BUILDTS)' 'VERSION=$(VERSION)' \
  45. 'STRIP=$(STRIP)' 'CXXFLAGS=$(CXXFLAGS)' 'CFLGS=$(CFLGS) -DBIN_TYPE_DYNAMIC' \
  46. 'LIBS=$(LIBS)' 'EGGEXEC=$(BINEXEC)' 'EGGBUILD=(wraith)'
  47. MAKE_DEBUG = $(MAKE) 'MAKE=$(MAKE)' 'CXX=$(CXX)' 'CC=$(CC)' 'LD=$(LD_DEBUG) -g' 'INCLUDES=$(INCLUDES)' \
  48. 'CCDEPMODE=$(CCDEPMODE)' 'BRANCH=$(BRANCH)' 'COMMIT=$(COMMIT_SHORT)' 'BUILDTS=$(BUILDTS)' 'VERSION=$(VERSION)' \
  49. 'STRIP=touch' 'CXXFLAGS=$(CXXFLAGS) $(DEBCXXFLAGS)' 'CFLGS=$(CFLGS) $(DEBCXXFLAGS) -DBIN_TYPE_DYNAMIC' \
  50. 'DEBLDFLAGS=$(DEBLDFLAGS)' 'LIBS=$(LIBS)' 'EGGEXEC=$(BINEXEC)' 'EGGBUILD=(debug)'
  51. MAKE_UTILS = $(MAKE) 'MAKE=$(MAKE)' 'CXX=$(CXX)' 'CC=$(CC)' 'STRIP=touch' 'INCLUDES=$(INCLUDES)' \
  52. 'CCDEPMODE=$(CCDEPMODE)' 'DEBLDFLAGS=$(DEBLDFLAGS)' \
  53. 'CXXFLAGS=$(CXXFLAGS) $(DEBCXXFLAGS)' 'CFLGS=$(CFLGS) $(DEBCXXFLAGS)' 'LIBS=$(LIBS)' 'LD=$(LD_DEBUG) -g'
  54. .PHONY: checkclean.static checkclean.dynamic checkclean.debug lib wraith dwraith lib.debug debug test general sorthelp sort indent tar distrib distclean clean cleanutils test all dynamic static tags libdefs
  55. all: dynamic
  56. test:
  57. cleanutils:
  58. @rm -f src/sorthelp@EXEEXT@
  59. clean: cleanutils
  60. +@cd src && $(MAKE) clean
  61. -+@cd lib && $(MAKE) clean
  62. @rm -f src/.defs/*.stamp
  63. @rm -f $(BINEXEC) build/stamp.* *~ src/*~ configure.temp .mangled stamp.*
  64. @rm -f ts@EXEEXT@
  65. distclean: clean
  66. @rm -rf *-$(VERSION)/ autom4te.cache/ autoscan.log configure.scan
  67. @rm -rf src/.deps/ src/compat/.deps/ src/strucutres/.deps/ src/mod/*.mod/.deps/ src/crypto/.deps src/.defs/
  68. -+@cd lib && $(MAKE) distclean
  69. @rm -f $(STATICMAKEFILES) $(CONFIGFILES) config.h config.log config.status
  70. distrib: clean
  71. @rm -rf $(DISTRIB)/
  72. -+@cd lib && $(MAKE) distclean
  73. @mkdir $(DISTRIB) && cp -R $(DISTROFILES) $(DISTRIB)
  74. @rm -rf `find $(DISTRIB)/ \( -name '*~' -o -name '*#' -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' -o -name '.gitignore' -o -name '.*.swp' \) -type f -print`
  75. @rm -rf `find $(DISTRIB)/ \( -name '.git' -o -name '.deps' \) -type d -print`
  76. @for s in $(EXCLUDES); do \
  77. rm -rf $(DISTRIB)/$$s; \
  78. done;
  79. @sed \
  80. -e 's/^COMMIT_FULL .*/COMMIT_FULL = $(COMMIT_FULL)/' \
  81. -e 's/^COMMIT_SHORT .*/COMMIT_SHORT = $(COMMIT_SHORT)/' \
  82. -e 's/^BRANCH .*/BRANCH = $(BRANCH)/' \
  83. -e 's/^BUILDTS .*/BUILDTS = $(BUILDTS)/' \
  84. -e 's/^VERSION .*/VERSION = $(VERSION)/' \
  85. $(DISTRIB)/Makefile.in > Makefile.in.tmp && mv Makefile.in.tmp $(DISTRIB)/Makefile.in
  86. @sed -e 's/GIT_REQUIRED=1/GIT_REQUIRED=0/' configure > $(DISTRIB)/configure
  87. # @for s in `find $(DISTRIB)/src/ -name '*.h' -or -name '*.c'`; do mangle -rnw $$s > /dev/null 2>&1; done
  88. tags:
  89. @which cscope >/dev/null 2>&1 && cscope -Rbq || :
  90. @which ctags >/dev/null 2>&1 && ctags -R || :
  91. tar: distrib
  92. tar -czvf $(DISTRIB).tar.gz $(DISTRIB)/
  93. ls -al $(DISTRIB).tar.gz
  94. # rm -rf $(DISTRIB)/
  95. # cd ../ && rm -rf distrib/
  96. indent:
  97. @ifiles="`find src -name '*.h' -or -name '*.c'`"; \
  98. for s in $$ifiles; \
  99. do \
  100. INDENT_PROFILE=private/indent.pro indent $$s; \
  101. done
  102. sort: sorthelp
  103. @(if test "x`tail -n 1 $(HELPFILE)`" != "x::end"; then \
  104. echo "::end" >> $(HELPFILE); \
  105. fi)
  106. # @(sed $(HELPFILE) -e "s/^$$/ /" > help~ && mv -f help~ $(HELPFILE)) || rm -f help~
  107. @(sed -r -e :a -e 's/^$$/ /' -e '$$!N;s/^ \n:/:/;ta' -e 'P;D' $(HELPFILE) > help~ && mv -f help~ $(HELPFILE)) || rm -f help~
  108. @cp -f $(HELPFILE) help.txt~
  109. @(src/sorthelp@EXEEXT@ $(HELPFILE) $(HELPFILE) || (cp -f help.txt~ $(HELPFILE); echo "Sort failed, restoring backup."))
  110. @rm -f help.txt~
  111. sorthelp: src/sorthelp.cc
  112. +@cd src && ${MAKE_UTILS} sorthelp
  113. libdefs: src/.defs/libcrypto_post.h src/.defs/libssl_post.h src/.defs/libtcl_post.h \
  114. src/.defs/libcrypto_pre.h src/.defs/libssl_pre.h src/.defs/libtcl_pre.h \
  115. src/.defs/libcrypto_exports src/.defs/libssl_exports src/.defs/libtcl_exports
  116. src/.defs/libcrypto_post.h src/.defs/libcrypto_pre.h src/.defs/libcrypto_exports: src/.defs/libcrypto_gen.stamp
  117. src/.defs/libcrypto_gen.stamp: src/libcrypto.cc \
  118. src/generate_defs.sh src/generate_symbol.sh src/dl.h
  119. @CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" INCLUDES="$(INCLUDES)" \
  120. SED="sed" src/generate_defs.sh src/libcrypto.cc || exit 1
  121. @touch $@
  122. src/.defs/libssl_post.h src/.defs/libssl_pre.h src/.defs/libssl_exports: src/.defs/libssl_gen.stamp
  123. src/.defs/libssl_gen.stamp: src/libssl.cc \
  124. src/generate_defs.sh src/generate_symbol.sh src/dl.h
  125. @CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" INCLUDES="$(INCLUDES)" \
  126. SED="sed" src/generate_defs.sh src/libssl.cc || exit 1
  127. @touch $@
  128. src/.defs/libtcl_post.h src/.defs/libtcl_pre.h src/.defs/libtcl_exports: src/.defs/libtcl_gen.stamp
  129. src/.defs/libtcl_gen.stamp: src/libtcl.cc \
  130. src/generate_defs.sh src/generate_symbol.sh src/dl.h
  131. @CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" INCLUDES="$(INCLUDES)" \
  132. SED="sed" src/generate_defs.sh src/libtcl.cc || exit 1
  133. @touch $@
  134. src/.defs/exports: Makefile \
  135. src/.defs/libcrypto_gen.stamp src/.defs/libssl_gen.stamp src/.defs/libtcl_gen.stamp
  136. @echo "Generating $@"
  137. @{ \
  138. echo "{"; \
  139. echo "bfd_exports_stub;"; \
  140. cat src/.defs/*_exports; \
  141. echo "};"; \
  142. } > $@.tmp
  143. @if ! cmp -s $@.tmp $@; then \
  144. mv -f $@.tmp $@; \
  145. else \
  146. rm -f $@.tmp; \
  147. touch $@; \
  148. fi
  149. general: libdefs src/.defs/exports
  150. .NOTPARALLEL: checkclean.static checkclean.dynamic checkclean.debug
  151. checkclean.static:
  152. @(if test -f build/stamp.dynamic -o -f build/stamp.debug; then \
  153. echo "[*] Cleaning up alternate build"; \
  154. $(MAKE) MAKEFLAGS=-s clean; \
  155. fi)
  156. @touch build/stamp.static
  157. checkclean.dynamic:
  158. @(if test -f build/stamp.static -o -f build/stamp.debug; then \
  159. echo "[*] Cleaning up alternate build"; \
  160. $(MAKE) MAKEFLAGS=-s clean; \
  161. fi)
  162. @touch build/stamp.dynamic
  163. checkclean.debug:
  164. @(if test -f build/stamp.static -o -f build/stamp.dynamic; then \
  165. echo "[*] Cleaning up alternate build"; \
  166. $(MAKE) MAKEFLAGS=-s clean; \
  167. fi)
  168. @touch build/stamp.debug
  169. lib:
  170. +@cd lib && $(MAKE)
  171. dynamic: checkclean.dynamic lib general
  172. @echo ""
  173. @echo "Making dynamic binary"
  174. @echo ""
  175. +@cd src && $(MAKE_DYNAMIC) ../$(BINEXEC)
  176. static: checkclean.static lib general
  177. @echo ""
  178. @echo "Making static binary"
  179. @echo ""
  180. +@cd src && $(MAKE_STATIC) ../$(BINEXEC)
  181. dwraith: debug
  182. lib.debug:
  183. +@cd lib && $(MAKE) debug
  184. debug: checkclean.debug lib.debug general
  185. @echo ""
  186. @echo "Making debug binary"
  187. @echo ""
  188. +@cd src && $(MAKE_DEBUG) ../$(BINEXEC)
  189. #safety hash