replace lots of manual install commands with INSTALL_* variables
[openwrt/svn-archive/archive.git] / net / snort-wireless / Makefile
1 #
2 # Copyright (C) 2006 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # $Id$
8
9 include $(TOPDIR)/rules.mk
10
11 PKG_NAME:=snort-wireless
12 PKG_VERSION:=2.4.3-alpha04
13 PKG_RELEASE:=1
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16 PKG_SOURCE_URL:=http://www.snort-wireless.org/files/
17 PKG_MD5SUM:=1aa699ae279bf7a1140cf6cca02f9999
18 PKG_CAT:=zcat
19
20 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
21 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
22
23 include $(INCLUDE_DIR)/package.mk
24
25 define Package/snort-wireless/Default
26 SUBMENU:=snort-wireless (Ligthweight Network Intrusion Detection System)
27 SECTION:=net
28 CATEGORY:=Network
29 DEPENDS:=+libnet0 +libpcap +libpcre
30 TITLE:=Ligthweight Network Intrusion Detection System
31 URL:=http://www.snort-wireless.org/
32 endef
33
34 define Package/snort-wireless
35 $(call Package/snort-wireless/Default)
36 endef
37
38 define Package/snort-wireless-mysql
39 $(call Package/snort-wireless/Default)
40 DEPENDS+= +libmysqlclient
41 TITLE+= (MySQL)
42 endef
43
44 define Package/snort-wireless-pgsql
45 $(call Package/snort-wireless/Default)
46 DEPENDS+= +libpq
47 TITLE+= (PostgreSQL)
48 endef
49
50
51 ifneq ($(SDK),)
52 CONFIG_PACKAGE_snort-wireless:=m
53 CONFIG_PACKAGE_snort-wireless-mysql:=m
54 CONFIG_PACKAGE_snort-wireless-pgsql:=m
55 endif
56
57 define Compile/Template
58
59 $(PKG_BUILD_DIR)/snort-wireless-$(1): $(PKG_BUILD_DIR)/.configured
60 touch -r $(PKG_BUILD_DIR)/Makefile.am $(PKG_BUILD_DIR)/configure.in
61 touch -r $(PKG_BUILD_DIR)/Makefile.in $(PKG_BUILD_DIR)/configure
62 -$(MAKE) -C $(PKG_BUILD_DIR) distclean
63 $(call Build/Configure/Default, \
64 --enable-flexresp \
65 --with-libnet-includes="$(STAGING_DIR)/usr/lib/libnet-1.0.x/include" \
66 --with-libnet-libraries="$(STAGING_DIR)/usr/lib/libnet-1.0.x/lib" \
67 --with-libpcap-includes="$(STAGING_DIR)/usr/include" \
68 --with-libpcap-libraries="$(STAGING_DIR)/usr/lib" \
69 --with-libpcre-includes="$(STAGING_DIR)/usr/include" \
70 --with-libpcre-libraries="$(STAGING_DIR)/usr/lib" \
71 $(2) \
72 , \
73 CPPFLAGS="$$$$CPPFLAGS -I$(STAGING_DIR)/usr/include/mysql" \
74 LDFLAGS="$$$$LDFLAGS -L$(STAGING_DIR)/usr/lib/mysql" \
75 PATH="$(STAGING_DIR)/usr/lib/libnet-1.0.x/bin:$$$$PATH" \
76 $(3) \
77 );
78 $(MAKE) -C $(PKG_BUILD_DIR) \
79 extra_incl="" \
80 all
81 mv $(PKG_BUILD_DIR)/src/snort $(PKG_BUILD_DIR)/snort-wireless-$(1)
82
83 $(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/snort-wireless-$(1)
84
85 endef
86
87
88 define Install/Template
89
90 define Package/$(1)/conffiles
91 /etc/default/snort
92 /etc/snort/snort.conf
93 /etc/snort/threshold.conf
94 endef
95
96 define Package/$(1)/install
97 $(INSTALL_DIR) $$(1)/usr/sbin
98 $(INSTALL_BIN) $(PKG_BUILD_DIR)/snort-wireless-$(2) $$(1)/usr/sbin/snort
99 $(INSTALL_DIR) $$(1)/etc/snort
100 $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/snort.conf $$(1)/etc/snort/
101 $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/classification.config $$(1)/etc/snort/
102 $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/gen-msg.map $$(1)/etc/snort/
103 $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/reference.config $$(1)/etc/snort/
104 $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/sid-msg.map $$(1)/etc/snort/
105 $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/threshold.conf $$(1)/etc/snort/
106 $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/unicode.map $$(1)/etc/snort/
107 $(INSTALL_DIR) $$(1)/etc/default
108 $(INSTALL_DATA) ./files/snort-wireless.default $$(1)/etc/default/snort
109 $(INSTALL_DIR) $$(1)/etc/init.d
110 $(INSTALL_BIN) ./files/snort-wireless.init $$(1)/etc/init.d/snort
111 endef
112
113 endef
114
115
116 ifneq ($(CONFIG_PACKAGE_snort-wireless),)
117 $(eval $(call Compile/Template,basic, \
118 --without-mysql \
119 --without-postgresql \
120 ))
121 $(eval $(call Install/Template,snort-wireless,basic))
122 endif
123 ifneq ($(CONFIG_PACKAGE_snort-wireless-mysql),)
124 $(eval $(call Compile/Template,mysql, \
125 --with-mysql="$(STAGING_DIR)/usr" \
126 --without-postgresql \
127 ))
128 $(eval $(call Install/Template,snort-wireless-mysql,mysql))
129 endif
130 ifneq ($(CONFIG_PACKAGE_snort-wireless-pgsql),)
131 $(eval $(call Compile/Template,pgsql, \
132 --without-mysql \
133 --with-postgresql="$(STAGING_DIR)/usr" \
134 ))
135 $(eval $(call Install/Template,snort-wireless-pgsql,pgsql))
136 endif
137
138 define Build/Configure
139 endef
140
141 define Build/Compile
142 endef
143
144 $(eval $(call BuildPackage,snort-wireless))
145 $(eval $(call BuildPackage,snort-wireless-mysql))
146 $(eval $(call BuildPackage,snort-wireless-pgsql))