update gmediaserver to 0.12.0 - should build fine against libupnp 1.3.1 now
[openwrt/svn-archive/archive.git] / net / peerguardian / Makefile
index 8b2d2d788f24e93298c256cf173e4d5a9329e58b..d871052c703b77167170ba672791881537eedb60 100644 (file)
@@ -1,3 +1,4 @@
+#
 # Copyright (C) 2006 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
@@ -10,23 +11,26 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=peerguardian
 PKG_VERSION:=1.5beta
 PKG_RELEASE:=1
-PKG_MD5SUM:=0fb2bc5501b031604fc56eec3bd35fa4
 
-PKG_SOURCE_URL:=@SF/peerguardian
 PKG_SOURCE:=pglinux-$(PKG_VERSION).tar.gz
-PKG_BUILD_DIR:=$(BUILD_DIR)/pglinux-$(PKG_VERSION)
+PKG_SOURCE_URL:=@SF/peerguardian
+PKG_MD5SUM:=0fb2bc5501b031604fc56eec3bd35fa4
 PKG_CAT:=zcat
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/pglinux-$(PKG_VERSION)
+
+PKG_BUILDDEP:=iptables
 
 include $(INCLUDE_DIR)/package.mk
 
 define Package/peerguardian
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=@BROKEN +libpthread +libncurses +iptables
+  DEPENDS:= +libpthread +libncurses
   TITLE:=PeerGuardian for Linux
-  DESCRIPTION:=PeerGuardian helps protect your privacy by blocking many ranges\\\
-       of aggressive IPs while you use P2P.\\\
+  DESCRIPTION:=\
+       PeerGuardian helps protect your privacy by blocking many ranges \\\
+       of aggressive IPs while you use P2P.
   URL:=http://phoenixlabs.org/
 endef
 
@@ -35,13 +39,31 @@ define Package/peerguardian/conffiles
 /etc/p2p.p2b.p2p
 endef
 
+# commas are interpreted by the $(call ...) macro, so define an intermediate variable holding our settings
+PKG_CONFIGURE_LIBS:=-Wl,-Bdynamic,-luClibc++,-Bstatic,-lstdc++,-Bdynamic,-lm,-lc
+
+define Build/Configure
+       $(call Build/Configure/Default, \
+               , \
+               CXXFLAGS="$$$$CXXFLAGS $$$$CPPFLAGS -fno-builtin -fno-rtti" \
+               LIBS="$(PKG_CONFIGURE_LIBS)" \
+       )
+endef
+
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               CXXLD="$(TARGET_CC)"
+endef
+
 define Package/peerguardian/install
-       install -d -m0755 $(1)/usr/sbin $(1)/etc/init.d
-       install -m0755 $(PKG_BUILD_DIR)/peerguardnf $(1)/usr/sbin/
-       install -m0755 $(PKG_BUILD_DIR)/pgtext $(1)/usr/sbin/
-       install -m0644 $(PKG_BUILD_DIR)/PG.conf $(1)/etc/
-       install -m0644 $(PKG_BUILD_DIR)/p2p.p2b.p2p $(1)/etc/
-       install -m0644 files/peerguardian.init $(1)/etc/init.d/peerguardian
+       $(INSTALL_DIR) $(1)/etc
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/PG.conf $(1)/etc/
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/p2p.p2b.p2p $(1)/etc/
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/peerguardnf $(1)/usr/sbin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/pgtext $(1)/usr/sbin/
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_DATA) ./files/peerguardian.init $(1)/etc/init.d/peerguardian
 endef
 
 $(eval $(call BuildPackage,peerguardian))