Uniformize package Makefile, Build in a separate directory so that configure wont find libpcap and link against libpcap.a

SVN-Revision: 644
This commit is contained in:
Nicolas Thill 2005-04-14 06:21:21 +00:00
parent df6d409610
commit 7753ebe1e5
2 changed files with 99 additions and 62 deletions

View file

@ -7,66 +7,82 @@ PKG_VERSION:=2.1a11
PKG_RELEASE:=1
PKG_MD5SUM:=9ecd00db892737431b0e524f3e52e19e
PKG_SOURCE_URL:=http://nbd.vd-s.ath.cx/openwrt
PKG_SOURCE_URL:= \
http://nbd.vd-s.ath.cx/openwrt \
http://nthill.free.fr/openwrt/sources/$(PKG_NAME)/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_CAT:=zcat
PKG_IPK:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
PKG_IPK_DIR:=$(PKG_BUILD_DIR)/ipkg
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION)
IPKG_ARPWATCH:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
IDIR_ARPWATCH:=$(PKG_BUILD_DIR)/ipkg/$(PKG_NAME)
INFO_ARPWATCH:=$(IPKG_STATE_DIR)/info/$(PKG_NAME).list
$(DL_DIR)/$(PKG_SOURCE):
$(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE) $(PKG_MD5SUM) $(PKG_SOURCE_URL)
$(PKG_BUILD_DIR)/.unpacked: $(DL_DIR)/$(PKG_SOURCE)
$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $(PKG_BUILD_DIR)/.unpacked
$(PKG_BUILD_DIR)/.prepared: $(DL_DIR)/$(PKG_SOURCE)
mkdir -p $(BUILD_DIR)/$(PKG_NAME)
$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR)/$(PKG_NAME) $(TAR_OPTIONS) -
touch $(PKG_BUILD_DIR)/.prepared
$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.unpacked
$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
(cd $(PKG_BUILD_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--program-prefix="" \
--program-suffix="" \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--datadir=/usr/share \
--includedir=/usr/include \
--infodir=/usr/share/info \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
--mandir=/usr/share/man \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
$(DISABLE_NLS) \
$(DISABLE_LARGEFILE) \
);
touch $(PKG_BUILD_DIR)/.configured
$(PKG_BUILD_DIR)/$(PKG_NAME): $(PKG_BUILD_DIR)/.configured
$(MAKE) CC=$(TARGET_CC) ARPDIR=/etc/arpwatch -C $(PKG_BUILD_DIR)
$(MAKE) -C $(PKG_BUILD_DIR) \
ARPDIR=/etc/arpwatch \
CCOPT="$(TARGET_CFLAGS)" \
INCLS="-I. -I$(STAGING_DIR)/usr/include" \
LIBS="-L$(STAGING_DIR)/usr/lib -lpcap" \
$(PKG_IPK): $(PKG_BUILD_DIR)/$(PKG_NAME)
$(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_IPK_DIR) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
cp arpwatch.conffiles $(PKG_IPK_DIR)/CONTROL/conffiles
mkdir -p $(PKG_IPK_DIR)/usr/sbin
cp $(PKG_BUILD_DIR)/arpwatch $(PKG_IPK_DIR)/usr/sbin/
cp $(PKG_BUILD_DIR)/arpsnmp $(PKG_IPK_DIR)/usr/sbin/
$(STRIP) $(PKG_IPK_DIR)/usr/sbin/*
mkdir -p $(PKG_IPK_DIR)/etc/arpwatch
cp $(PKG_BUILD_DIR)/arp.dat $(PKG_IPK_DIR)/etc/arpwatch/
$(IPKG_ARPWATCH): $(PKG_BUILD_DIR)/$(PKG_NAME)
$(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_ARPWATCH) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
cp arpwatch.conffiles $(IDIR_ARPWATCH)/CONTROL/conffiles
mkdir -p $(IDIR_ARPWATCH)/usr/sbin
cp $(PKG_BUILD_DIR)/arpwatch $(IDIR_ARPWATCH)/usr/sbin/
cp $(PKG_BUILD_DIR)/arpsnmp $(IDIR_ARPWATCH)/usr/sbin/
$(STRIP) $(IDIR_ARPWATCH)/usr/sbin/*
mkdir -p $(IDIR_ARPWATCH)/etc/arpwatch
cp $(PKG_BUILD_DIR)/arp.dat $(IDIR_ARPWATCH)/etc/arpwatch/
mkdir -p $(PACKAGE_DIR)
$(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR)
$(IPKG_BUILD) $(IDIR_ARPWATCH) $(PACKAGE_DIR)
$(IPKG_STATE_DIR)/info/$(PKG_NAME).list: $(PKG_IPK)
$(IPKG) install $(PKG_IPK)
$(INFO_ARPWATCH): $(IPKG_ARPWATCH)
$(IPKG) install $(IPKG_ARPWATCH)
source: $(DL_DIR)/$(PKG_SOURCE)
prepare: $(PKG_BUILD_DIR)/.unpacked
compile: $(PKG_IPK)
install: $(IPKG_STATE_DIR)/info/$(PKG_NAME).list
prepare: $(PKG_BUILD_DIR)/.prepared
compile: $(IPKG_ARPWATCH)
install: $(INFO_ARPWATCH)
clean:
rm -rf $(PKG_BUILD_DIR)
rm -f $(PKG_IPK)
rm -rf $(PKG_BUILD_DIR) $(IPKG_ARPWATCH)

View file

@ -7,60 +7,81 @@ PKG_VERSION:=3.8.3
PKG_RELEASE:=1
PKG_MD5SUM:=30645001f4b97019677cad88d3811904
PKG_SOURCE_URL:=http://www.tcpdump.org/release
PKG_SOURCE_URL:= \
http://www.tcpdump.org/release \
http://nthill.free.fr/openwrt/sources/$(PKG_NAME)/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_CAT:=zcat
PKG_IPK:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
PKG_IPK_DIR:=$(PKG_BUILD_DIR)/ipkg
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION)
IPKG_TCPDUMP:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
IDIR_TCPDUMP:=$(PKG_BUILD_DIR)/ipkg/$(PKG_NAME)
INFO_TCPDUMP:=$(IPKG_STATE_DIR)/info/$(PKG_NAME).list
$(DL_DIR)/$(PKG_SOURCE):
$(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE) $(PKG_MD5SUM) $(PKG_SOURCE_URL)
$(PKG_BUILD_DIR)/.unpacked: $(DL_DIR)/$(PKG_SOURCE)
$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
touch $(PKG_BUILD_DIR)/.unpacked
$(PKG_BUILD_DIR)/.prepared: $(DL_DIR)/$(PKG_SOURCE)
mkdir -p $(BUILD_DIR)/$(PKG_NAME)
$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR)/$(PKG_NAME) $(TAR_OPTIONS) -
touch $(PKG_BUILD_DIR)/.prepared
$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.unpacked
$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
(cd $(PKG_BUILD_DIR); rm -rf config.cache; \
ac_cv_linux_vers=$(LINUX_VERSION) \
BUILD_CC=$(TARGET_CC) HOSTCC=$(HOSTCC) \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
ac_cv_linux_vers=$(LINUX_VERSION) \
td_cv_buggygetaddrinfo="no" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--with-build-cc=$(HOSTCC) \
--prefix=$(STAGING_DIR) \
--libdir=$(STAGING_DIR)/lib \
--includedir=$(STAGING_DIR)/include \
--program-prefix="" \
--program-suffix="" \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--datadir=/usr/share \
--includedir=/usr/include \
--infodir=/usr/share/info \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
--localstatedir=/var \
--mandir=/usr/share/man \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
$(DISABLE_NLS) \
$(DISABLE_LARGEFILE) \
--enable-shared \
--disable-static \
--enable-ipv6 \
--without-crypto \
);
touch $(PKG_BUILD_DIR)/.configured
$(PKG_BUILD_DIR)/$(PKG_NAME): $(PKG_BUILD_DIR)/.configured
$(MAKE) \
LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
LIBS="-lpcap" \
INCLS="-I. -I$(STAGING_DIR)/usr/include" \
-C $(PKG_BUILD_DIR)
$(MAKE) -C $(PKG_BUILD_DIR) \
CCOPT="$(TARGET_CFLAGS)" INCLS="-I. -I$(STAGING_DIR)/usr/include"
$(PKG_IPK): $(PKG_BUILD_DIR)/$(PKG_NAME)
$(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_IPK_DIR) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
mkdir -p $(PKG_IPK_DIR)/usr/sbin
cp $(PKG_BUILD_DIR)/$(PKG_NAME) $(PKG_IPK_DIR)/usr/sbin/
$(STRIP) $(PKG_IPK_DIR)/usr/sbin/*
$(IPKG_TCPDUMP): $(PKG_BUILD_DIR)/$(PKG_NAME)
$(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_TCPDUMP) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
mkdir -p $(IDIR_TCPDUMP)/usr/sbin
cp $(PKG_BUILD_DIR)/$(PKG_NAME) $(IDIR_TCPDUMP)/usr/sbin/
$(STRIP) $(IDIR_TCPDUMP)/usr/sbin/*
mkdir -p $(PACKAGE_DIR)
$(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR)
$(IPKG_BUILD) $(IDIR_TCPDUMP) $(PACKAGE_DIR)
$(IPKG_STATE_DIR)/info/$(PKG_NAME).list: $(PKG_IPK)
$(IPKG) install $(PKG_IPK)
$(INFO_TCPDUMP): $(IPKG_TCPDUMP)
$(IPKG) install $(IPKG_TCPDUMP)
source: $(DL_DIR)/$(PKG_SOURCE)
prepare: $(PKG_BUILD_DIR)/.unpacked
compile: $(PKG_IPK)
install: $(IPKG_STATE_DIR)/info/$(PKG_NAME).list
prepare: $(PKG_BUILD_DIR)/.prepared
compile: $(IPKG_TCPDUMP)
install: $(INFO_TCPDUMP)
clean:
rm -rf $(PKG_BUILD_DIR)
rm -f $(PKG_IPK)
rm -rf $(PKG_BUILD_DIR) $(IPKG_TCPDUMP)