modules.awk 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458
  1. #
  2. # BEGIN COPYRIGHT BLOCK
  3. # This Program is free software; you can redistribute it and/or modify it under
  4. # the terms of the GNU General Public License as published by the Free Software
  5. # Foundation; version 2 of the License.
  6. #
  7. # This Program is distributed in the hope that it will be useful, but WITHOUT
  8. # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  9. # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
  10. #
  11. # You should have received a copy of the GNU General Public License along with
  12. # this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
  13. # Place, Suite 330, Boston, MA 02111-1307 USA.
  14. #
  15. # In addition, as a special exception, Red Hat, Inc. gives You the additional
  16. # right to link the code of this Program with code not covered under the GNU
  17. # General Public License ("Non-GPL Code") and to distribute linked combinations
  18. # including the two, subject to the limitations in this paragraph. Non-GPL Code
  19. # permitted under this exception must only link to the code of this Program
  20. # through those well defined interfaces identified in the file named EXCEPTION
  21. # found in the source code files (the "Approved Interfaces"). The files of
  22. # Non-GPL Code may instantiate templates or use macros or inline functions from
  23. # the Approved Interfaces without causing the resulting work to be covered by
  24. # the GNU General Public License. Only Red Hat, Inc. may make changes or
  25. # additions to the list of Approved Interfaces. You must obey the GNU General
  26. # Public License in all respects for all of the Program code and other code used
  27. # in conjunction with the Program except the Non-GPL Code covered by this
  28. # exception. If you modify this file, you may extend this exception to your
  29. # version of the file, but you are not obligated to do so. If you do not wish to
  30. # do so, delete this exception statement from your version.
  31. #
  32. #
  33. # Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
  34. # Copyright (C) 2005 Red Hat, Inc.
  35. # All rights reserved.
  36. # END COPYRIGHT BLOCK
  37. #
  38. # modules.mk: defines rules for each module that any part of the systems
  39. # will require in dependency lists.
  40. #
  41. # The current module will not be defined, you must have set the variable
  42. # MODULE before this file is included.
  43. NS_LIBDIR=$(BUILD_ROOT)/lib
  44. MCOM_LIBDIR=$(BUILD_ROOT)/lib
  45. HTTPD=$(BUILD_ROOT)/httpd
  46. PROXY=$(BUILD_ROOT)/proxy
  47. BATMAN=$(BUILD_ROOT)/batman
  48. MAIL=$(BUILD_ROOT)/mailserv2
  49. NEWS=$(BUILD_ROOT)/news
  50. CMS=$(BUILD_ROOT)/species
  51. ROGUE=$(BUILD_ROOT)/lw/rogue
  52. # ------------------------------- Modules --------------------------------
  53. ifneq ($(MODULE), LibRegex)
  54. LIBREGEX=regex
  55. LIBRARY regex $(NS_LIBDIR)/libregex
  56. endif
  57. ifneq ($(MODULE), LibBase)
  58. BASE=base $(LIBSI18N)
  59. BASE_SSL=base-ssl
  60. LIBRARY base $(NS_LIBDIR)/base
  61. endif
  62. ifneq ($(MODULE), LibAccess)
  63. LIBACCESS=access $(BASE) $(LIBSI18N)
  64. LIBRARY libaccess $(NS_LIBDIR)/libaccess
  65. endif
  66. ifneq ($(MODULE), LibLdapUtil)
  67. LIBLDAPU=ldapu $(BASE)
  68. LIBRARY libldapu $(NS_LIBDIR)/ldaputil
  69. endif
  70. ifneq ($(MODULE), LibHttpDaemon)
  71. HTTPDAEMON=httpdaemon
  72. HTTPDAEMON_SSL=httpdaemon-ssl
  73. LIBRARY libhttpdaemon $(NS_LIBDIR)/httpdaemon
  74. endif
  75. ifneq ($(MODULE), LibFrame)
  76. FRAME=frame $(BASE)
  77. FRAME_SSL=frame-ssl $(BASE_SSL)
  78. LIBRARY frame $(NS_LIBDIR)/frame
  79. endif
  80. ifneq ($(MODULE), LibProxy)
  81. LIBPROXY=libproxy
  82. LIBPROXY_SSL=libproxy-ssl
  83. LIBRARY libproxy $(NS_LIBDIR)/libproxy
  84. endif
  85. ifneq ($(MODULE), LibSNMP)
  86. LIBSNMP=libsnmp
  87. LIBSNMP_SSL=libsnmp-ssl
  88. LIBRARY libsnmp $(NS_LIBDIR)/libsnmp
  89. endif
  90. ifneq ($(MODULE), LibSAFs)
  91. SAFS=safs
  92. SAFS_SSL=safs-ssl
  93. LIBRARY safs $(NS_LIBDIR)/safs
  94. endif
  95. ifneq ($(MODULE), LibAR)
  96. LIBARES=ares
  97. LIBRARY libares
  98. endif
  99. ifneq ($(MODULE), CGIUtils)
  100. CGIUTILS=cgiutils
  101. LIBRARY cgiutils $(NS_LIBDIR)/cgiutils
  102. endif
  103. ifneq ($(MODULE), LibAdmin)
  104. LIBADMIN=admin
  105. LIBRARY admin $(NS_LIBDIR)/libadmin
  106. endif
  107. ifneq ($(MODULE), LibAdminUtil)
  108. #LIBADMINUTIL=adminutil
  109. LIBRARY adminutil $(NS_LIBDIR)/libadminutil
  110. endif
  111. ifneq ($(MODULE), LibCrypt)
  112. LIBCRYPT=crypt
  113. LIBRARY crypt $(NS_LIBDIR)/libcrypt
  114. endif
  115. ifneq ($(MODULE), LibMessages)
  116. LIBMESSAGES=messages
  117. LIBRARY messages $(NS_LIBDIR)/libmessages
  118. endif
  119. ifneq ($(MODULE), LibNSCore)
  120. LIBNSCORE=nscore
  121. LIBRARY nscore $(NS_LIBDIR)/libnscore
  122. endif
  123. ifneq ($(MODULE), LibMsgDisp)
  124. LIBNSCORE=msgdisp
  125. LIBRARY msgdisp $(NS_LIBDIR)/libmsgdisp
  126. endif
  127. ifneq ($(MODULE), LibMetaData)
  128. LIBNSCORE=metadata
  129. LIBRARY metadata $(NS_LIBDIR)/libmetadata
  130. endif
  131. ifneq ($(MODULE), LibIr)
  132. LIBNSCORE=ir
  133. LIBRARY ir $(NS_LIBDIR)/libir
  134. endif
  135. ifneq ($(MODULE), LibDocLdr)
  136. LIBNSCORE=docldr
  137. LIBRARY docldr $(NS_LIBDIR)/libdocldr
  138. endif
  139. ifneq ($(MODULE), LibVLdr)
  140. LIBNSCORE=vldr
  141. LIBRARY vldr $(NS_LIBDIR)/libvldr
  142. endif
  143. ifneq ($(MODULE), LibsI18N)
  144. LIBSI18N=si18n
  145. LIBRARY si18n $(NS_LIBDIR)/libsi18n
  146. endif
  147. ifneq ($(MODULE), LibINN)
  148. LIBINN=inn
  149. LIBRARY inn $(NS_LIBDIR)/libinn
  150. endif
  151. #ifeq ($(ARCH), WINNT)
  152. #ifneq ($(MODULE), LibNSPR)
  153. #ifeq ($(DEBUG), purify)
  154. #LIBNSPR=$(NSCP_DISTDIR)/lib/$(NSPR_BASENAME).$(LIB_SUFFIX)
  155. #else
  156. #LIBNSPR=$(NSCP_DISTDIR)/lib/$(NSPR_BASENAME).$(LIB_SUFFIX)
  157. #endif
  158. #NSPRDIR=nspr20
  159. #DISTLIB libnspr $(BUILD_ROOT)/$(NSPRDIR)
  160. #endif
  161. #else
  162. #ifneq ($(MODULE), LibNSPR)
  163. #ifeq ($(DEBUG), purify)
  164. #LIBNSPR=$(NSCP_DISTDIR)/lib/purelibnspr.$(LIB_SUFFIX)
  165. #SHLIBNSPR=$(NSCP_DISTDIR)/lib/purelibnspr$(DLL_PRESUF).$(DLL_SUFFIX)
  166. #else
  167. #LIBNSPR=$(NSCP_DISTDIR)/lib/$(NSPR_BASENAME).$(LIB_SUFFIX)
  168. #SHLIBNSPR=$(NSCP_DISTDIR)/lib/$(NSPR_BASENAME)$(DLL_PRESUF).$(DLL_SUFFIX)
  169. #endif
  170. #NSPRDIR=nspr20
  171. #DISTLIB libnspr $(BUILD_ROOT)/$(NSPRDIR)
  172. #endif
  173. #endif
  174. #
  175. #ifneq ($(MODULE), LibSSLio)
  176. #LIBSSLIO=$(NSCP_DISTDIR)/lib/libsslio.$(LIB_SUFFIX)
  177. #DISTLIB libsslio $(BUILD_ROOT)/$(NSPRDIR)/lib/sslio libsslio
  178. #endif
  179. ifneq ($(MODULE), LibDirMon)
  180. LIBDIRMON=$(NSCP_DISTDIR)/lib/libdirmon.$(LIB_SUFFIX)
  181. #DISTLIB libdirmon $(BUILD_ROOT)/$(NSPRDIR)/lib/dirmon libdirmon
  182. DISTLIB libdirmon $(BUILD_ROOT)/nspr20/lib/dirmon libdirmon
  183. endif
  184. #LibAres and LibPRstrm are from NSPR20 BIN release
  185. #ifneq ($(MODULE), LibAres)
  186. #LIBARES=$(NSCP_DISTDIR)/lib/libares.$(LIB_SUFFIX)
  187. #DISTLIB libares $(BUILD_ROOT)/$(NSPRDIR)/lib/arlib libares
  188. #endif
  189. #ifneq ($(MODULE), LibPRstrm)
  190. #LIBPRSTRMS=$(NSCP_DISTDIR)/lib/libprstrms.$(LIB_SUFFIX)
  191. #DISTLIB libprstrms $(BUILD_ROOT)/$(NSPRDIR)/lib/prstreams libprstrms
  192. #endif
  193. #ifneq ($(MODULE), LibXP)
  194. #LIBXP=$(MCOM_LIBDIR)/xp/$(NSOBJDIR_NAME)/libxp.$(LIB_SUFFIX)
  195. #DISTLIB libxp $(MCOM_LIBDIR)/xp libnspr
  196. #DISTLIB libxp $(MCOM_LIBDIR)/xp
  197. #endif
  198. #ifneq ($(MODULE), LibDBM)
  199. #LIBDBM=$(MCOM_LIBDIR)/libdbm/$(NSOBJDIR_NAME)/libdbm.$(LIB_SUFFIX)
  200. #DISTLIB libdbm $(MCOM_LIBDIR)/libdbm libnspr
  201. #endif
  202. ifneq ($(MODULE), LibNT)
  203. LIBNT=$(MCOM_LIBDIR)/libnt/$(NSOBJDIR_NAME)/libnt.$(LIB_SUFFIX)
  204. DISTLIB libnt $(MCOM_LIBDIR)/libnt
  205. endif
  206. #ifneq ($(MODULE), LibSecurity)
  207. #ifeq ($(SECURITY), domestic)
  208. #WHICHA=us
  209. #else
  210. #WHICHA=export
  211. #endif
  212. #LIBSEC=$(MCOM_LIBDIR)/libsec/$(NSOBJDIR_NAME)/libsec-$(WHICHA).$(LIB_SUFFIX) $(LIBDBM) $(LIBXP)
  213. #LIBSECNAME=libsec-$(WHICHA)
  214. #libsec: $(LIBSECNAME)
  215. #DISTLIB libsec-$(WHICHA) $(MCOM_LIBDIR)/libsec libnspr libdbm libxp
  216. #endif
  217. ifdef FORTEZZA
  218. ifeq ($(ARCH), WINNT)
  219. LIBSEC += $(MCOM_LIBDIR)/../dist/$(NSOBJDIR_NAME)/lib/tssp32.lib
  220. else
  221. FORTEZZA_DRIVER = $(MCOM_LIBDIR)/../dist/$(NSOBJDIR_NAME)/lib/libci.a
  222. endif
  223. LIBSEC += $(FORTEZZA_DRIVER)
  224. endif
  225. ifneq ($(MODULE), LibNet)
  226. LIBNET=$(MCOM_LIBDIR)/libnet/$(NSOBJDIR_NAME)/libnet.$(LIB_SUFFIX)
  227. DISTLIB libnet.$(LIB_SUFFIX) $(MCOM_LIBDIR)/libnet
  228. endif
  229. ifneq ($(MODULE), LibCS)
  230. LIBCS=libcs
  231. LIBRARY libcs $(NS_LIBDIR)/libcs
  232. endif
  233. ifneq ($(MODULE), LibRobotAPI)
  234. LIBROBOTAPI=librobotapi
  235. LIBRARY librobotapi $(BATMAN)/rds/api
  236. endif
  237. ifneq ($(MODULE), httpdAdminHTML)
  238. MODULE httpd-adm-html $(HTTPD)/newadmin/html
  239. endif
  240. ifneq ($(MODULE), httpdAdminIcons)
  241. MODULE httpd-adm-icons $(HTTPD)/newadmin/icons
  242. endif
  243. ifeq ($(ARCH), WINNT)
  244. ifneq ($(MODULE), httpdAdminBin)
  245. # the admin binaries link with the Server DLL
  246. MODULE httpd-adm-bin $(HTTPD)/newadmin/src
  247. endif
  248. endif
  249. ifneq ($(MODULE), httpdAdminBin)
  250. ifneq ($(ARCH), WINNT)
  251. MODULE httpd-adm-bin $(HTTPD)/newadmin/src
  252. endif
  253. endif
  254. ifneq ($(MODULE), httpdInstall)
  255. MODULE httpd-inst $(HTTPD)/newinst
  256. endif
  257. ifneq ($(MODULE), httpdBinary)
  258. MODULE httpd-bin $(HTTPD)/src
  259. endif
  260. ifneq ($(MODULE), httpdExtrasDatabase)
  261. MODULE httpd-extra-db libxp
  262. endif
  263. ifneq ($(MODULE), httpSubagtBinary)
  264. MODULE http-subagt-bin $(HTTPD)/plugins/snmp
  265. endif
  266. ifneq ($(MODULE), proxyExtras)
  267. MODULE proxy-extra libxp
  268. endif
  269. ifneq ($(MODULE), proxyAdminHTML)
  270. MODULE proxy-adm-html $(PROXY)/newadmin/html
  271. endif
  272. ifneq ($(MODULE), proxyAdminIcons)
  273. MODULE proxy-adm-icons $(PROXY)/newadmin/icons
  274. endif
  275. ifneq ($(MODULE), proxyAdminBin)
  276. MODULE proxy-adm-bin $(PROXY)/newadmin/src
  277. endif
  278. ifneq ($(MODULE), proxyInstallHTML)
  279. MODULE proxy-inst-html $(PROXY)/newinst/html
  280. endif
  281. ifneq ($(MODULE), proxyInstallBin)
  282. MODULE proxy-inst-bin $(PROXY)/newinst/src
  283. endif
  284. ifneq ($(MODULE), proxyBinary)
  285. MODULE proxy-bin $(PROXY)/src
  286. endif
  287. ifneq ($(MODULE), admservBinary)
  288. MODULE admin-server $(BUILD_ROOT)/admserv libnspr frame safs libsnmp libadmin libadminutil libsec-$(WHICHA)
  289. endif
  290. ifneq ($(MODULE), mailServer)
  291. MODULE mail-server $(BUILD_ROOT)/mailserv2/code libnspr
  292. endif
  293. ifneq ($(MODULE), mailAdmin)
  294. MODULE mail-admin $(BUILD_ROOT)/mailserv2/admin libnspr frame libsec-$(WHICHA) admin
  295. endif
  296. ifneq ($(MODULE), mailInstall)
  297. MODULE mail-inst $(BUILD_ROOT)/mailserv2/install libnspr cgiutils regex frame
  298. endif
  299. ifneq ($(MODULE), nnrpdBinary)
  300. MODULE news-nnrpd $(BUILD_ROOT)/news/nnrpd libnspr inn base libsec-$(WHICHA)
  301. endif
  302. ifneq ($(MODULE), inndBinary)
  303. MODULE news-innd $(BUILD_ROOT)/news/innd libnspr inn base libsec-$(WHICHA)
  304. endif
  305. ifneq ($(MODULE), innBackEnds)
  306. MODULE news-backends $(BUILD_ROOT)/news/backends libnspr inn base libsec-$(WHICHA)
  307. endif
  308. ifneq ($(MODULE), innExpire)
  309. MODULE news-expire $(BUILD_ROOT)/news/expire libnspr inn
  310. endif
  311. ifneq ($(MODULE), innFrontEnds)
  312. MODULE news-frontends $(BUILD_ROOT)/news/frontends libnspr inn
  313. endif
  314. ifneq ($(MODULE), innInstall)
  315. MODULE news-install $(BUILD_ROOT)/news/newinst libnspr inn admin base
  316. endif
  317. ifneq ($(MODULE), innAdmin)
  318. MODULE news-admin $(BUILD_ROOT)/news/admin libnspr inn admin base
  319. endif
  320. ifneq ($(MODULE), innSiteFiles)
  321. MODULE news-site $(BUILD_ROOT)/news/site libnspr inn
  322. endif
  323. ifneq ($(MODULE), batmanDS)
  324. MODULE batman-ds $(BATMAN)/ds libcs
  325. endif
  326. ifneq ($(MODULE), batmanClient)
  327. MODULE batman-client $(BATMAN)/client libcs
  328. endif
  329. ifneq ($(MODULE), batmanRDS)
  330. MODULE batman-rds $(BATMAN)/rds libnspr libcs regex libxp libdbm libnet.$(LIB_SUFFIX) libsec-$(WHICHA) base frame
  331. endif
  332. ifneq ($(MODULE), batmanMiniRDS)
  333. MODULE batman-minirds $(BATMAN)/minirds
  334. endif
  335. ifneq ($(MODULE), batmanDBA)
  336. MODULE batman-dba $(BATMAN)/dba libcs libdbm
  337. endif
  338. ifneq ($(MODULE), batmanTaxonomy)
  339. MODULE batman-taxonomy $(BATMAN)/tax libcs
  340. endif
  341. ifneq ($(MODULE), httpd-extras)
  342. MODULE httpd-extras $(HTTPD)/extras
  343. endif
  344. ifneq ($(MODULE), httpd-mc-icons)
  345. MODULE httpd-mc-icons $(BUILD_ROOT)/mc-icons
  346. endif
  347. ifneq ($(MODULE), cms-rogue)
  348. MODULE cms-rogue $(ROGUE)
  349. endif
  350. ifneq ($(MODULE), cms-cert)
  351. MODULE cms-cert $(BUILD_ROOT)/certsvc
  352. endif
  353. ifneq ($(MODULE), ns-config)
  354. MODULE ns-config $(BUILD_ROOT)/config
  355. endif
  356. # httpd-bin first so the dll gets built
  357. ifeq ($(ARCH), WINNT)
  358. PACKAGE httpd httpd-adm-bin httpd-adm-html httpd-adm-icons httpd-inst
  359. else
  360. PACKAGE httpd httpd-bin
  361. endif
  362. PACKAGE proxy proxy-bin proxy-adm-html proxy-adm-bin proxy-adm-icons proxy-inst-html proxy-inst-bin
  363. PACKAGE mail mail-server mail-admin mail-inst
  364. PACKAGE news news-backends news-expire news-frontends news-innd news-install news-admin news-nnrpd news-site
  365. PACKAGE admserv admin-server
  366. PACKAGE batman batman-rds batman-minirds batman-ds batman-client batman-taxonomy
  367. PACKAGE cms-httpd httpd-adm-bin httpd-adm-html httpd-adm-icons httpd-mc-icons httpd-extras httpd-inst
  368. # base frame admin libaccess cgiutils
  369. PACKAGE cms-server ns-config libnspr libdbm libsec-$(WHICHA) libxp cms-rogue cms-cert