add some fixes for parallel build (does not work with -j4 yet, but it gets most packa...
[openwrt.git] / package / fping / Makefile
1 # $Id$
2
3 include $(TOPDIR)/rules.mk
4
5 PKG_NAME:=fping
6 PKG_VERSION:=2.4b2_to-ipv6
7 PKG_RELEASE:=1
8 PKG_MD5SUM:=3ad516765514249a40d3c5b6caab812a
9
10 PKG_SOURCE_URL:=http://www.fping.com/download/
11 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
12 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
13 PKG_CAT:=zcat
14 PKG_IPK:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
15 PKG_IPK_DIR:=$(PKG_BUILD_DIR)/ipkg
16
17 .NOTPARALLEL:
18
19 $(DL_DIR)/$(PKG_SOURCE):
20         $(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE) $(PKG_MD5SUM) $(PKG_SOURCE_URL)
21
22 $(PKG_BUILD_DIR)/.patched: $(DL_DIR)/$(PKG_SOURCE)
23         $(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
24         $(PATCH) $(PKG_BUILD_DIR) ./patches
25         touch $(PKG_BUILD_DIR)/.patched
26
27 $(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched
28         (cd $(PKG_BUILD_DIR); rm -rf config.cache; \
29                 $(TARGET_CONFIGURE_OPTS) \
30                 CFLAGS="$(TARGET_CFLAGS)" \
31                 ./configure \
32                 --target=$(GNU_TARGET_NAME) \
33                 --host=$(GNU_TARGET_NAME) \
34                 --build=$(GNU_HOST_NAME) \
35                 --prefix=/usr \
36                 --exec-prefix=/usr \
37                 --bindir=/usr/bin \
38                 --sbindir=/usr/sbin \
39                 --libexecdir=/usr/lib \
40                 --sysconfdir=/etc \
41                 --datadir=/usr/share \
42                 --localstatedir=/var \
43                 --mandir=/usr/man \
44                 --infodir=/usr/info \
45                 $(DISABLE_NLS) \
46                 $(DISABLE_LARGEFILE) \
47         );
48         touch $(PKG_BUILD_DIR)/.configured
49
50 $(PKG_BUILD_DIR)/$(PKG_NAME)4: $(PKG_BUILD_DIR)/.configured
51         $(MAKE) -j1 CC=$(TARGET_CC) CFLAGS="$(TARGET_CFLAGS)" -C $(PKG_BUILD_DIR) clean $(PKG_NAME)
52         mv $(PKG_BUILD_DIR)/$(PKG_NAME) $(PKG_BUILD_DIR)/$(PKG_NAME)4
53
54 $(PKG_BUILD_DIR)/$(PKG_NAME)6: $(PKG_BUILD_DIR)/.configured
55         $(MAKE) -j1 CC=$(TARGET_CC) CFLAGS="$(TARGET_CFLAGS) -DIPV6=1" -C $(PKG_BUILD_DIR) clean $(PKG_NAME)
56         mv $(PKG_BUILD_DIR)/$(PKG_NAME) $(PKG_BUILD_DIR)/$(PKG_NAME)6
57
58 $(PKG_IPK): $(PKG_BUILD_DIR)/$(PKG_NAME)4 $(PKG_BUILD_DIR)/$(PKG_NAME)6
59         $(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_IPK_DIR) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
60         mkdir -p $(PKG_IPK_DIR)/usr/bin
61         cp $(PKG_BUILD_DIR)/$(PKG_NAME)4 $(PKG_IPK_DIR)/usr/bin/$(PKG_NAME)
62         cp $(PKG_BUILD_DIR)/$(PKG_NAME)6 $(PKG_IPK_DIR)/usr/bin/
63         $(STRIP) $(PKG_IPK_DIR)/usr/bin/*
64         mkdir -p $(PACKAGE_DIR)
65         $(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR)
66
67 $(IPKG_STATE_DIR)/info/$(PKG_NAME).list: $(PKG_IPK)
68         $(IPKG) install $(PKG_IPK)
69
70 source: $(DL_DIR)/$(PKG_SOURCE)
71 prepare: $(PKG_BUILD_DIR)/.patched
72 compile: $(PKG_IPK)
73 install: $(IPKG_STATE_DIR)/info/$(PKG_NAME).list
74
75 clean:
76         rm -rf $(PKG_BUILD_DIR)
77         rm -f $(PKG_IPK)