Makefile 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. COREPATH=../../src
  2. include $(COREPATH)/Makefile.defs
  3. include $(COREPATH)/config.mak
  4. ifeq ($(basedir),)
  5. kamctltmpdir = /tmp
  6. else
  7. kamctltmpdir = $(basedir)
  8. endif
  9. all:
  10. @echo "No compilation needed for kamctl"
  11. install-if-newer: install
  12. install: install-cfg install-bin install-man install-modules
  13. install-cfg: $(cfg_prefix)/$(cfg_dir)
  14. # kamctl config
  15. $(INSTALL_TOUCH) $(cfg_prefix)/$(cfg_dir)/kamctlrc.sample
  16. $(INSTALL_CFG) kamctlrc \
  17. $(cfg_prefix)/$(cfg_dir)/kamctlrc.sample
  18. if [ ! -f $(cfg_prefix)/$(cfg_dir)/kamctlrc ]; then \
  19. mv -f $(cfg_prefix)/$(cfg_dir)/kamctlrc.sample \
  20. $(cfg_prefix)/$(cfg_dir)/kamctlrc; \
  21. fi
  22. install-bin: $(bin_prefix)/$(bin_dir)
  23. cat kamctl | \
  24. sed -e "s#/usr/local/sbin#$(bin_target)#g" | \
  25. sed -e "s#/usr/local/lib/kamailio#$(lib_target)#g" | \
  26. sed -e "s#/usr/local/etc/kamailio#$(cfg_target)#g" >$(kamctltmpdir)/kamctl
  27. $(INSTALL_TOUCH) $(bin_prefix)/$(bin_dir)/kamctl
  28. $(INSTALL_BIN) $(kamctltmpdir)/kamctl $(bin_prefix)/$(bin_dir)
  29. rm -fr $(kamctltmpdir)/kamctl
  30. sed -e "s#/usr/local/sbin#$(bin_target)#g" \
  31. < kamctl.base > $(kamctltmpdir)/kamctl.base
  32. mkdir -p $(modules_prefix)/$(lib_dir)/kamctl
  33. $(INSTALL_TOUCH) \
  34. $(modules_prefix)/$(lib_dir)/kamctl
  35. $(INSTALL_CFG) $(kamctltmpdir)/kamctl.base \
  36. $(modules_prefix)/$(lib_dir)/kamctl/kamctl.base
  37. rm -fr $(kamctltmpdir)/kamctl.base
  38. sed -e "s#/usr/local#$(bin_target)#g" \
  39. < kamctl.ctlbase > $(kamctltmpdir)/kamctl.ctlbase
  40. $(INSTALL_CFG) $(kamctltmpdir)/kamctl.ctlbase \
  41. $(modules_prefix)/$(lib_dir)/kamctl/kamctl.ctlbase
  42. rm -fr $(kamctltmpdir)/kamctl.ctlbase
  43. sed -e "s#/usr/local#$(bin_target)#g" \
  44. < kamctl.rpcfifo > $(kamctltmpdir)/kamctl.rpcfifo
  45. $(INSTALL_CFG) $(kamctltmpdir)/kamctl.rpcfifo \
  46. $(modules_prefix)/$(lib_dir)/kamctl/kamctl.rpcfifo
  47. rm -fr $(kamctltmpdir)/kamctl.rpcfifo
  48. sed -e "s#/usr/local#$(bin_target)#g" \
  49. < kamctl.ser > $(kamctltmpdir)/kamctl.ser
  50. $(INSTALL_CFG) $(kamctltmpdir)/kamctl.ser \
  51. $(modules_prefix)/$(lib_dir)/kamctl/kamctl.ser
  52. rm -fr $(kamctltmpdir)/kamctl.ser
  53. sed -e "s#/usr/local#$(bin_target)#g" \
  54. < kamctl.sqlbase > $(kamctltmpdir)/kamctl.sqlbase
  55. $(INSTALL_CFG) $(kamctltmpdir)/kamctl.sqlbase \
  56. $(modules_prefix)/$(lib_dir)/kamctl/kamctl.sqlbase
  57. rm -fr $(kamctltmpdir)/kamctl.sqlbase
  58. # install db setup base script
  59. sed -e "s#/usr/local/sbin#$(bin_target)#g" \
  60. -e "s#/usr/local/etc/kamailio#$(cfg_target)#g" \
  61. -e "s#/usr/local/share/kamailio#$(data_target)#g" \
  62. < kamdbctl.base > $(kamctltmpdir)/kamdbctl.base
  63. $(INSTALL_CFG) $(kamctltmpdir)/kamdbctl.base \
  64. $(modules_prefix)/$(lib_dir)/kamctl/kamdbctl.base
  65. rm -fr $(kamctltmpdir)/kamdbctl.base
  66. cat kamdbctl | \
  67. sed -e "s#/usr/local/sbin#$(bin_target)#g" | \
  68. sed -e "s#/usr/local/lib/kamailio#$(lib_target)#g" | \
  69. sed -e "s#/usr/local/etc/kamailio#$(cfg_target)#g" >$(kamctltmpdir)/kamdbctl
  70. $(INSTALL_TOUCH) $(bin_prefix)/$(bin_dir)/kamdbctl
  71. $(INSTALL_BIN) $(kamctltmpdir)/kamdbctl $(bin_prefix)/$(bin_dir)
  72. rm -fr $(kamctltmpdir)/kamdbctl
  73. install-man: $(man_prefix)/$(man_dir)/man8 $(man_prefix)/$(man_dir)/man5
  74. sed -e "s#/etc/$(NAME)/$(NAME)\.cfg#$(cfg_target)$(NAME).cfg#g" \
  75. -e "s#/usr/sbin/#$(bin_target)#g" \
  76. -e "s#/usr/lib/$(NAME)/modules/#$(modules_target)#g" \
  77. -e "s#/usr/share/doc/$(NAME)/#$(doc_target)#g" \
  78. < kamctl.8 > $(man_prefix)/$(man_dir)/man8/kamctl.8
  79. chmod 644 $(man_prefix)/$(man_dir)/man8/kamctl.8
  80. sed -e "s#/etc/$(NAME)/$(NAME)\.cfg#$(cfg_target)$(NAME).cfg#g" \
  81. -e "s#/usr/sbin/#$(bin_target)#g" \
  82. -e "s#/usr/lib/$(NAME)/modules/#$(modules_target)#g" \
  83. -e "s#/usr/share/doc/$(NAME)/#$(doc_target)#g" \
  84. < kamdbctl.8 > $(man_prefix)/$(man_dir)/man8/kamdbctl.8
  85. chmod 644 $(man_prefix)/$(man_dir)/man8/kamdbctl.8
  86. # MYSQLON?=yes
  87. install-modules: $(bin_prefix)/$(bin_dir)
  88. # install MySQL stuff
  89. if [ "$(MYSQLON)" = "yes" ]; then \
  90. mkdir -p $(modules_prefix)/$(lib_dir)/kamctl ; \
  91. sed -e "s#/usr/local/sbin#$(bin_target)#g" \
  92. < kamctl.mysql > $(kamctltmpdir)/kamctl.mysql ; \
  93. $(INSTALL_CFG) $(kamctltmpdir)/kamctl.mysql \
  94. $(modules_prefix)/$(lib_dir)/kamctl/kamctl.mysql ; \
  95. rm -fr $(kamctltmpdir)/kamctl.mysql ; \
  96. sed -e "s#/usr/local/share/kamailio#$(data_target)#g" \
  97. < kamdbctl.mysql > $(kamctltmpdir)/kamdbctl.mysql ; \
  98. $(INSTALL_TOUCH) $(modules_prefix)/$(lib_dir)/kamctl/kamdbctl.mysql ; \
  99. $(INSTALL_CFG) $(kamctltmpdir)/kamdbctl.mysql $(modules_prefix)/$(lib_dir)/kamctl/ ; \
  100. rm -fr $(kamctltmpdir)/kamdbctl.mysql ; \
  101. mkdir -p $(data_prefix)/$(data_dir)/mysql ; \
  102. for FILE in $(wildcard mysql/*) ; do \
  103. if [ -f $$FILE ] ; then \
  104. $(INSTALL_TOUCH) $$FILE \
  105. $(data_prefix)/$(data_dir)/mysql/`basename "$$FILE"` ; \
  106. $(INSTALL_CFG) $$FILE \
  107. $(data_prefix)/$(data_dir)/mysql/`basename "$$FILE"` ; \
  108. fi ;\
  109. done ; \
  110. fi
  111. # install PostgreSQL stuff
  112. if [ "$(PGSQLON)" = "yes" ]; then \
  113. mkdir -p $(modules_prefix)/$(lib_dir)/kamctl ; \
  114. sed -e "s#/usr/local/sbin#$(bin_target)#g" \
  115. < kamctl.pgsql > $(kamctltmpdir)/kamctl.pgsql ; \
  116. $(INSTALL_CFG) $(kamctltmpdir)/kamctl.pgsql \
  117. $(modules_prefix)/$(lib_dir)/kamctl/kamctl.pgsql ; \
  118. rm -fr $(kamctltmpdir)/kamctl.pgsql ; \
  119. sed -e "s#/usr/local/share/kamailio#$(data_target)#g" \
  120. < kamdbctl.pgsql > $(kamctltmpdir)/kamdbctl.pgsql ; \
  121. $(INSTALL_TOUCH) $(modules_prefix)/$(lib_dir)/kamctl/kamdbctl.pgsql ; \
  122. $(INSTALL_CFG) $(kamctltmpdir)/kamdbctl.pgsql $(modules_prefix)/$(lib_dir)/kamctl/ ; \
  123. rm -fr $(kamctltmpdir)/kamdbctl.pgsql ; \
  124. mkdir -p $(data_prefix)/$(data_dir)/postgres ; \
  125. for FILE in $(wildcard postgres/*) ; do \
  126. if [ -f $$FILE ] ; then \
  127. $(INSTALL_TOUCH) $$FILE \
  128. $(data_prefix)/$(data_dir)/postgres/`basename "$$FILE"` ; \
  129. $(INSTALL_CFG) $$FILE \
  130. $(data_prefix)/$(data_dir)/postgres/`basename "$$FILE"` ; \
  131. fi ;\
  132. done ; \
  133. fi
  134. # install Oracle stuff
  135. if [ "$(ORACLEON)" = "yes" ]; then \
  136. mkdir -p $(modules_prefix)/$(lib_dir)/kamctl ; \
  137. sed -e "s#/usr/local/sbin#$(bin_target)#g" \
  138. < kamctl.oracle > $(kamctltmpdir)/kamctl.oracle ; \
  139. $(INSTALL_CFG) $(kamctltmpdir)/kamctl.oracle \
  140. $(modules_prefix)/$(lib_dir)/kamctl/kamctl.oracle ; \
  141. rm -fr $(kamctltmpdir)/kamctl.oracle ; \
  142. sed -e "s#/usr/local/share/kamailio#$(data_target)#g" \
  143. < kamdbctl.oracle > $(kamctltmpdir)/kamdbctl.oracle ; \
  144. $(INSTALL_TOUCH) $(modules_prefix)/$(lib_dir)/kamctl/kamdbctl.oracle ; \
  145. $(INSTALL_CFG) $(kamctltmpdir)/kamdbctl.oracle $(modules_prefix)/$(lib_dir)/kamctl/ ; \
  146. rm -fr $(kamctltmpdir)/kamdbctl.oracle ; \
  147. sed -e "s#/usr/local/share/kamailio#$(data_target)#g" \
  148. < kamdbfunc.oracle > $(kamctltmpdir)/kamdbfunc.oracle ; \
  149. $(INSTALL_TOUCH) $(modules_prefix)/$(lib_dir)/kamctl/kamdbfunc.oracle ; \
  150. $(INSTALL_CFG) $(kamctltmpdir)/kamdbfunc.oracle $(modules_prefix)/$(lib_dir)/kamctl/ ; \
  151. rm -fr $(kamctltmpdir)/kamdbfunc.oracle ; \
  152. mkdir -p $(data_prefix)/$(data_dir)/oracle ; \
  153. for FILE in $(wildcard oracle/*) ; do \
  154. if [ -f $$FILE ] ; then \
  155. $(INSTALL_TOUCH) $$FILE \
  156. $(data_prefix)/$(data_dir)/oracle/`basename "$$FILE"` ; \
  157. $(INSTALL_CFG) $$FILE \
  158. $(data_prefix)/$(data_dir)/oracle/`basename "$$FILE"` ; \
  159. fi ;\
  160. done ; \
  161. mkdir -p $(data_prefix)/$(data_dir)/oracle/inc ; \
  162. for FILE in $(wildcard oracle/inc/*) ; do \
  163. if [ -f $$FILE ] ; then \
  164. $(INSTALL_TOUCH) $$FILE \
  165. $(data_prefix)/$(data_dir)/oracle/inc/`basename "$$FILE"` ; \
  166. $(INSTALL_CFG) $$FILE \
  167. $(data_prefix)/$(data_dir)/oracle/inc/`basename "$$FILE"` ; \
  168. fi ;\
  169. done ; \
  170. mkdir -p $(data_prefix)/$(data_dir)/oracle/admin ; \
  171. for FILE in $(wildcard oracle/admin/*) ; do \
  172. if [ -f $$FILE ] ; then \
  173. $(INSTALL_TOUCH) $$FILE \
  174. $(data_prefix)/$(data_dir)/oracle/admin/`basename "$$FILE"` ; \
  175. $(INSTALL_CFG) $$FILE \
  176. $(data_prefix)/$(data_dir)/oracle/admin/`basename "$$FILE"` ; \
  177. fi ;\
  178. done ; \
  179. $(MAKE) -C ../db_oracle/ ; \
  180. $(INSTALL_BIN) ../db_oracle/kamailio_orasel $(bin_prefix)/$(bin_dir) ; \
  181. fi
  182. # install Berkeley database stuff
  183. if [ "$(BERKELEYDBON)" = "yes" ]; then \
  184. mkdir -p $(modules_prefix)/$(lib_dir)/kamctl ; \
  185. sed -e "s#/usr/local/share/kamailio/#$(data_target)#g" \
  186. < kamctl.db_berkeley > $(kamctltmpdir)/kamctl.db_berkeley ; \
  187. $(INSTALL_CFG) $(kamctltmpdir)/kamctl.db_berkeley \
  188. $(modules_prefix)/$(lib_dir)/kamctl/kamctl.db_berkeley ; \
  189. rm -fr $(kamctltmpdir)/kamctl.db_berkeley ; \
  190. sed -e "s#/usr/local/share/kamailio#$(data_target)#g" \
  191. < kamdbctl.db_berkeley > $(kamctltmpdir)/kamdbctl.db_berkeley ; \
  192. $(INSTALL_TOUCH) $(modules_prefix)/$(lib_dir)/kamctl/kamdbctl.db_berkeley ; \
  193. $(INSTALL_CFG) $(kamctltmpdir)/kamdbctl.db_berkeley $(modules_prefix)/$(lib_dir)/kamctl/ ; \
  194. rm -fr $(kamctltmpdir)/kamdbctl.db_berkeley ; \
  195. mkdir -p $(data_prefix)/$(data_dir)/db_berkeley/kamailio ; \
  196. for FILE in $(wildcard db_berkeley/kamailio/*) ; do \
  197. if [ -f $$FILE ] ; then \
  198. $(INSTALL_TOUCH) $$FILE \
  199. $(data_prefix)/$(data_dir)/db_berkeley/kamailio/`basename "$$FILE"` ; \
  200. $(INSTALL_CFG) $$FILE \
  201. $(data_prefix)/$(data_dir)/db_berkeley/kamailio/`basename "$$FILE"` ; \
  202. fi ;\
  203. done ; \
  204. $(MAKE) -C ../db_berkeley/ ; \
  205. $(INSTALL_BIN) ../db_berkeley/kambdb_recover $(bin_prefix)/$(bin_dir) ; \
  206. fi
  207. # install dbtext stuff
  208. if [ "$(DBTEXTON)" = "yes" ]; then \
  209. mkdir -p $(modules_prefix)/$(lib_dir)/kamctl ; \
  210. sed -e "s#/usr/local/share/kamailio/#$(data_target)#g" \
  211. < kamctl.dbtext > $(kamctltmpdir)/kamctl.dbtext ; \
  212. $(INSTALL_CFG) $(kamctltmpdir)/kamctl.dbtext \
  213. $(modules_prefix)/$(lib_dir)/kamctl/kamctl.dbtext ; \
  214. rm -fr $(kamctltmpdir)/kamctl.dbtext ; \
  215. sed -e "s#/usr/local/share/kamailio#$(data_target)#g" \
  216. < kamdbctl.dbtext > $(kamctltmpdir)/kamdbctl.dbtext ; \
  217. $(INSTALL_TOUCH) $(modules_prefix)/$(lib_dir)/kamctl/kamdbctl.dbtext ; \
  218. $(INSTALL_CFG) $(kamctltmpdir)/kamdbctl.dbtext $(modules_prefix)/$(lib_dir)/kamctl/ ; \
  219. rm -fr $(kamctltmpdir)/kamdbctl.dbtext ; \
  220. mkdir -p $(modules_prefix)/$(lib_dir)/kamctl/dbtextdb ; \
  221. $(INSTALL_TOUCH) $(modules_prefix)/$(lib_dir)/kamctl/dbtextdb/dbtextdb.py ; \
  222. $(INSTALL_BIN) dbtextdb/dbtextdb.py $(modules_prefix)/$(lib_dir)/kamctl/dbtextdb/ ; \
  223. mkdir -p $(data_prefix)/$(data_dir)/dbtext/kamailio ; \
  224. for FILE in $(wildcard dbtext/kamailio/*) ; do \
  225. if [ -f $$FILE ] ; then \
  226. $(INSTALL_TOUCH) $$FILE \
  227. $(data_prefix)/$(data_dir)/dbtext/kamailio/`basename "$$FILE"` ; \
  228. $(INSTALL_CFG) $$FILE \
  229. $(data_prefix)/$(data_dir)/dbtext/kamailio/`basename "$$FILE"` ; \
  230. fi ;\
  231. done ;\
  232. fi
  233. # install sqlite stuff
  234. if [ "$(SQLITEON)" = "yes" ]; then \
  235. mkdir -p $(modules_prefix)/$(lib_dir)/kamctl ; \
  236. sed -e "s#/usr/local/sbin#$(bin_target)#g" \
  237. < kamctl.sqlite > $(kamctltmpdir)/kamctl.sqlite ; \
  238. $(INSTALL_CFG) $(kamctltmpdir)/kamctl.sqlite \
  239. $(modules_prefix)/$(lib_dir)/kamctl/kamctl.sqlite ; \
  240. rm -fr $(kamctltmpdir)/kamctl.sqlite ; \
  241. sed -e "s#/usr/local/share/kamailio#$(data_target)#g" \
  242. < kamdbctl.sqlite > $(kamctltmpdir)/kamdbctl.sqlite ; \
  243. $(INSTALL_TOUCH) $(modules_prefix)/$(lib_dir)/kamctl/kamdbctl.sqlite ; \
  244. $(INSTALL_CFG) $(kamctltmpdir)/kamdbctl.sqlite $(modules_prefix)/$(lib_dir)/kamctl/ ; \
  245. rm -fr $(kamctltmpdir)/kamdbctl.sqlite ; \
  246. mkdir -p $(data_prefix)/$(data_dir)/db_sqlite ; \
  247. for FILE in $(wildcard db_sqlite/*) ; do \
  248. if [ -f $$FILE ] ; then \
  249. $(INSTALL_TOUCH) $$FILE \
  250. $(data_prefix)/$(data_dir)/db_sqlite/`basename "$$FILE"` ; \
  251. $(INSTALL_CFG) $$FILE \
  252. $(data_prefix)/$(data_dir)/db_sqlite/`basename "$$FILE"` ; \
  253. fi ;\
  254. done ; \
  255. fi
  256. # install Redis stuff
  257. if [ "$(REDISON)" = "yes" ]; then \
  258. mkdir -p $(data_prefix)/$(data_dir)/db_redis/kamailio ; \
  259. for FILE in $(wildcard db_redis/kamailio/*) ; do \
  260. if [ -f $$FILE ] ; then \
  261. $(INSTALL_TOUCH) $$FILE \
  262. $(data_prefix)/$(data_dir)/db_redis/kamailio/`basename "$$FILE"` ; \
  263. $(INSTALL_CFG) $$FILE \
  264. $(data_prefix)/$(data_dir)/db_redis/kamailio/`basename "$$FILE"` ; \
  265. fi ;\
  266. done ; \
  267. fi
  268. $(cfg_prefix)/$(cfg_dir):
  269. mkdir -p $(cfg_prefix)/$(cfg_dir)
  270. $(bin_prefix)/$(bin_dir):
  271. mkdir -p $(bin_prefix)/$(bin_dir)
  272. $(man_prefix)/$(man_dir)/man8:
  273. mkdir -p $(man_prefix)/$(man_dir)/man8
  274. $(man_prefix)/$(man_dir)/man5:
  275. mkdir -p $(man_prefix)/$(man_dir)/man5