Makefile 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. #
  2. # Makefile
  3. #
  4. # The global Makefile for POCO [generated by mkrelease]
  5. #
  6. sinclude config.make
  7. sinclude config.build
  8. ifndef POCO_BASE
  9. $(warning WARNING: POCO_BASE is not defined. Assuming current directory.)
  10. export POCO_BASE=$(shell pwd)
  11. endif
  12. ifndef POCO_PREFIX
  13. export POCO_PREFIX=/usr/local
  14. endif
  15. ifndef POCO_BUILD
  16. export POCO_BUILD=$(POCO_BASE)
  17. endif
  18. .PHONY: poco all libexecs cppunit tests samples cleans clean distclean install
  19. # TESTS and SAMPLES are set in config.make
  20. poco: libexecs $(if $(TESTS),tests) $(if $(SAMPLES),samples)
  21. all: libexecs tests samples
  22. INSTALLDIR = $(DESTDIR)$(POCO_PREFIX)
  23. COMPONENTS = Foundation XML JSON Util Net Crypto NetSSL_OpenSSL Data Data/SQLite Data/ODBC Data/MySQL MongoDB Zip PageCompiler PageCompiler/File2Page CppParser PDF
  24. cppunit:
  25. $(MAKE) -C $(POCO_BASE)/CppUnit
  26. CppUnit-clean:
  27. \$(MAKE) -C \$(POCO_BASE)/CppUnit clean
  28. install: libexecs
  29. mkdir -p $(INSTALLDIR)/include/Poco
  30. mkdir -p $(INSTALLDIR)/lib
  31. mkdir -p $(INSTALLDIR)/bin
  32. for comp in $(COMPONENTS) ; do \
  33. if [ -d "$(POCO_BASE)/$$comp/include" ] ; then \
  34. cp -Rf $(POCO_BASE)/$$comp/include/* $(INSTALLDIR)/include/ ; \
  35. fi ; \
  36. if [ -d "$(POCO_BUILD)/$$comp/bin" ] ; then \
  37. find $(POCO_BUILD)/$$comp/bin -perm -700 -type f -exec cp -f {} $(INSTALLDIR)/bin \; ; \
  38. fi ; \
  39. done
  40. find $(POCO_BUILD)/lib -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/lib \;
  41. find $(POCO_BUILD)/lib -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/lib \;
  42. libexecs = Foundation-libexec XML-libexec JSON-libexec Util-libexec Net-libexec Crypto-libexec NetSSL_OpenSSL-libexec Data-libexec Data/SQLite-libexec Data/ODBC-libexec Data/MySQL-libexec MongoDB-libexec Zip-libexec PageCompiler-libexec PageCompiler/File2Page-libexec CppParser-libexec PDF-libexec
  43. tests = Foundation-tests XML-tests JSON-tests Util-tests Net-tests Crypto-tests NetSSL_OpenSSL-tests Data-tests Data/SQLite-tests Data/ODBC-tests Data/MySQL-tests MongoDB-tests Zip-tests CppParser-tests PDF-tests
  44. samples = Foundation-samples XML-samples JSON-samples Util-samples Net-samples Crypto-samples NetSSL_OpenSSL-samples Data-samples MongoDB-samples Zip-samples PageCompiler-samples PDF-samples
  45. cleans = Foundation-clean XML-clean JSON-clean Util-clean Net-clean Crypto-clean NetSSL_OpenSSL-clean Data-clean Data/SQLite-clean Data/ODBC-clean Data/MySQL-clean MongoDB-clean Zip-clean PageCompiler-clean PageCompiler/File2Page-clean CppParser-clean PDF-clean
  46. .PHONY: $(libexecs)
  47. .PHONY: $(tests)
  48. .PHONY: $(samples)
  49. .PHONY: $(cleans)
  50. libexecs: $(filter-out $(foreach f,$(OMIT),$f%),$(libexecs))
  51. tests: $(filter-out $(foreach f,$(OMIT),$f%),$(tests))
  52. samples: $(filter-out $(foreach f,$(OMIT),$f%),$(samples))
  53. cleans: $(filter-out $(foreach f,$(OMIT),$f%),$(cleans))
  54. Foundation-libexec:
  55. $(MAKE) -C $(POCO_BASE)/Foundation
  56. Foundation-tests: Foundation-libexec cppunit
  57. $(MAKE) -C $(POCO_BASE)/Foundation/testsuite
  58. Foundation-samples: Foundation-libexec
  59. $(MAKE) -C $(POCO_BASE)/Foundation/samples
  60. Foundation-clean:
  61. $(MAKE) -C $(POCO_BASE)/Foundation clean
  62. $(MAKE) -C $(POCO_BASE)/Foundation/testsuite clean
  63. $(MAKE) -C $(POCO_BASE)/Foundation/samples clean
  64. XML-libexec: Foundation-libexec
  65. $(MAKE) -C $(POCO_BASE)/XML
  66. XML-tests: XML-libexec cppunit
  67. $(MAKE) -C $(POCO_BASE)/XML/testsuite
  68. XML-samples: XML-libexec
  69. $(MAKE) -C $(POCO_BASE)/XML/samples
  70. XML-clean:
  71. $(MAKE) -C $(POCO_BASE)/XML clean
  72. $(MAKE) -C $(POCO_BASE)/XML/testsuite clean
  73. $(MAKE) -C $(POCO_BASE)/XML/samples clean
  74. JSON-libexec: Foundation-libexec
  75. $(MAKE) -C $(POCO_BASE)/JSON
  76. JSON-tests: JSON-libexec cppunit
  77. $(MAKE) -C $(POCO_BASE)/JSON/testsuite
  78. JSON-samples: JSON-libexec
  79. $(MAKE) -C $(POCO_BASE)/JSON/samples
  80. JSON-clean:
  81. $(MAKE) -C $(POCO_BASE)/JSON clean
  82. $(MAKE) -C $(POCO_BASE)/JSON/testsuite clean
  83. $(MAKE) -C $(POCO_BASE)/JSON/samples clean
  84. Util-libexec: Foundation-libexec XML-libexec JSON-libexec
  85. $(MAKE) -C $(POCO_BASE)/Util
  86. Util-tests: Util-libexec cppunit
  87. $(MAKE) -C $(POCO_BASE)/Util/testsuite
  88. Util-samples: Util-libexec
  89. $(MAKE) -C $(POCO_BASE)/Util/samples
  90. Util-clean:
  91. $(MAKE) -C $(POCO_BASE)/Util clean
  92. $(MAKE) -C $(POCO_BASE)/Util/testsuite clean
  93. $(MAKE) -C $(POCO_BASE)/Util/samples clean
  94. Net-libexec: Foundation-libexec
  95. $(MAKE) -C $(POCO_BASE)/Net
  96. Net-tests: Net-libexec cppunit
  97. $(MAKE) -C $(POCO_BASE)/Net/testsuite
  98. Net-samples: Net-libexec Foundation-libexec XML-libexec Util-libexec
  99. $(MAKE) -C $(POCO_BASE)/Net/samples
  100. Net-clean:
  101. $(MAKE) -C $(POCO_BASE)/Net clean
  102. $(MAKE) -C $(POCO_BASE)/Net/testsuite clean
  103. $(MAKE) -C $(POCO_BASE)/Net/samples clean
  104. Crypto-libexec: Foundation-libexec
  105. $(MAKE) -C $(POCO_BASE)/Crypto
  106. Crypto-tests: Crypto-libexec cppunit
  107. $(MAKE) -C $(POCO_BASE)/Crypto/testsuite
  108. Crypto-samples: Crypto-libexec Foundation-libexec Util-libexec
  109. $(MAKE) -C $(POCO_BASE)/Crypto/samples
  110. Crypto-clean:
  111. $(MAKE) -C $(POCO_BASE)/Crypto clean
  112. $(MAKE) -C $(POCO_BASE)/Crypto/testsuite clean
  113. $(MAKE) -C $(POCO_BASE)/Crypto/samples clean
  114. NetSSL_OpenSSL-libexec: Foundation-libexec Net-libexec Util-libexec Crypto-libexec
  115. $(MAKE) -C $(POCO_BASE)/NetSSL_OpenSSL
  116. NetSSL_OpenSSL-tests: NetSSL_OpenSSL-libexec cppunit
  117. $(MAKE) -C $(POCO_BASE)/NetSSL_OpenSSL/testsuite
  118. NetSSL_OpenSSL-samples: NetSSL_OpenSSL-libexec
  119. $(MAKE) -C $(POCO_BASE)/NetSSL_OpenSSL/samples
  120. NetSSL_OpenSSL-clean:
  121. $(MAKE) -C $(POCO_BASE)/NetSSL_OpenSSL clean
  122. $(MAKE) -C $(POCO_BASE)/NetSSL_OpenSSL/testsuite clean
  123. $(MAKE) -C $(POCO_BASE)/NetSSL_OpenSSL/samples clean
  124. Data-libexec: Foundation-libexec
  125. $(MAKE) -C $(POCO_BASE)/Data
  126. Data-tests: Data-libexec cppunit
  127. $(MAKE) -C $(POCO_BASE)/Data/testsuite
  128. Data-samples: Data-libexec Data-libexec Data/SQLite-libexec
  129. $(MAKE) -C $(POCO_BASE)/Data/samples
  130. Data-clean:
  131. $(MAKE) -C $(POCO_BASE)/Data clean
  132. $(MAKE) -C $(POCO_BASE)/Data/testsuite clean
  133. $(MAKE) -C $(POCO_BASE)/Data/samples clean
  134. Data/SQLite-libexec: Foundation-libexec Data-libexec
  135. $(MAKE) -C $(POCO_BASE)/Data/SQLite
  136. Data/SQLite-tests: Data/SQLite-libexec cppunit
  137. $(MAKE) -C $(POCO_BASE)/Data/SQLite/testsuite
  138. Data/SQLite-clean:
  139. $(MAKE) -C $(POCO_BASE)/Data/SQLite clean
  140. $(MAKE) -C $(POCO_BASE)/Data/SQLite/testsuite clean
  141. Data/ODBC-libexec: Foundation-libexec Data-libexec
  142. $(MAKE) -C $(POCO_BASE)/Data/ODBC
  143. Data/ODBC-tests: Data/ODBC-libexec cppunit
  144. $(MAKE) -C $(POCO_BASE)/Data/ODBC/testsuite
  145. Data/ODBC-clean:
  146. $(MAKE) -C $(POCO_BASE)/Data/ODBC clean
  147. $(MAKE) -C $(POCO_BASE)/Data/ODBC/testsuite clean
  148. Data/MySQL-libexec: Foundation-libexec Data-libexec
  149. $(MAKE) -C $(POCO_BASE)/Data/MySQL
  150. Data/MySQL-tests: Data/MySQL-libexec cppunit
  151. $(MAKE) -C $(POCO_BASE)/Data/MySQL/testsuite
  152. Data/MySQL-clean:
  153. $(MAKE) -C $(POCO_BASE)/Data/MySQL clean
  154. $(MAKE) -C $(POCO_BASE)/Data/MySQL/testsuite clean
  155. MongoDB-libexec: Foundation-libexec Net-libexec
  156. $(MAKE) -C $(POCO_BASE)/MongoDB
  157. MongoDB-tests: MongoDB-libexec cppunit
  158. $(MAKE) -C $(POCO_BASE)/MongoDB/testsuite
  159. MongoDB-samples: MongoDB-libexec
  160. $(MAKE) -C $(POCO_BASE)/MongoDB/samples
  161. MongoDB-clean:
  162. $(MAKE) -C $(POCO_BASE)/MongoDB clean
  163. $(MAKE) -C $(POCO_BASE)/MongoDB/testsuite clean
  164. $(MAKE) -C $(POCO_BASE)/MongoDB/samples clean
  165. Zip-libexec: Foundation-libexec Net-libexec Util-libexec XML-libexec
  166. $(MAKE) -C $(POCO_BASE)/Zip
  167. Zip-tests: Zip-libexec cppunit
  168. $(MAKE) -C $(POCO_BASE)/Zip/testsuite
  169. Zip-samples: Zip-libexec
  170. $(MAKE) -C $(POCO_BASE)/Zip/samples
  171. Zip-clean:
  172. $(MAKE) -C $(POCO_BASE)/Zip clean
  173. $(MAKE) -C $(POCO_BASE)/Zip/testsuite clean
  174. $(MAKE) -C $(POCO_BASE)/Zip/samples clean
  175. PageCompiler-libexec: Net-libexec Util-libexec XML-libexec Foundation-libexec
  176. $(MAKE) -C $(POCO_BASE)/PageCompiler
  177. PageCompiler-samples: PageCompiler-libexec
  178. $(MAKE) -C $(POCO_BASE)/PageCompiler/samples
  179. PageCompiler-clean:
  180. $(MAKE) -C $(POCO_BASE)/PageCompiler clean
  181. $(MAKE) -C $(POCO_BASE)/PageCompiler/samples clean
  182. PageCompiler/File2Page-libexec: Net-libexec Util-libexec XML-libexec Foundation-libexec
  183. $(MAKE) -C $(POCO_BASE)/PageCompiler/File2Page
  184. PageCompiler/File2Page-clean:
  185. $(MAKE) -C $(POCO_BASE)/PageCompiler/File2Page clean
  186. CppParser-libexec: Foundation-libexec
  187. $(MAKE) -C $(POCO_BASE)/CppParser
  188. CppParser-tests: CppParser-libexec cppunit
  189. $(MAKE) -C $(POCO_BASE)/CppParser/testsuite
  190. CppParser-clean:
  191. $(MAKE) -C $(POCO_BASE)/CppParser clean
  192. $(MAKE) -C $(POCO_BASE)/CppParser/testsuite clean
  193. PDF-libexec: Foundation-libexec
  194. $(MAKE) -C $(POCO_BASE)/PDF
  195. PDF-tests: PDF-libexec cppunit
  196. $(MAKE) -C $(POCO_BASE)/PDF/testsuite
  197. PDF-samples: PDF-libexec
  198. $(MAKE) -C $(POCO_BASE)/PDF/samples
  199. PDF-clean:
  200. $(MAKE) -C $(POCO_BASE)/PDF clean
  201. $(MAKE) -C $(POCO_BASE)/PDF/testsuite clean
  202. $(MAKE) -C $(POCO_BASE)/PDF/samples clean
  203. clean: cleans CppUnit-clean
  204. distclean:
  205. rm -rf $(POCO_BUILD)/lib
  206. find $(POCO_BUILD) -name obj -type d -print0 | xargs -0 rm -rf
  207. find $(POCO_BUILD) -name .dep -type d -print0 | xargs -0 rm -rf
  208. find $(POCO_BUILD) -name bin -type d -print0 | xargs -0 rm -rf