root/trunk/wifidog/ipkg/rules @ 189

Revision 189, 3.3 KB (checked in by alexcv, 9 years ago)

Modified ipkg/rules to use the main wifidog.conf

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
Line 
1#!/usr/bin/make -f
2
3ifndef BUILDROOT
4        ERR := $(error Please set BUILDROOT to OpenWRT's buildroot)
5endif
6
7ARCH:=mipsel
8
9WIFIDOG_MAJOR_VERSION := $(shell awk -F= '$$1 == "WIFIDOG_MAJOR_VERSION" {print $$2}' configure.in)
10WIFIDOG_MINOR_VERSION := $(shell awk -F= '$$1 == "WIFIDOG_MINOR_VERSION" {print $$2}' configure.in)
11WIFIDOG_MICRO_VERSION := $(shell awk -F= '$$1 == "WIFIDOG_MICRO_VERSION" {print $$2}' configure.in)
12VERSION=$(WIFIDOG_MAJOR_VERSION).$(WIFIDOG_MINOR_VERSION).$(WIFIDOG_MICRO_VERSION)
13
14BUILD_DIR:=$(CURDIR)/ipkg
15TMP_DIR:=$(BUILD_DIR)/tmp
16STAGING_DIR=$(BUILDROOT)/build_$(ARCH)/staging_dir
17IPTABLES_DIR := $(BUILDROOT)/build_$(ARCH)/iptables-1.2.9
18KERNEL_MODULES_DIR := $(BUILDROOT)/build_$(ARCH)/WRT54GS/release/src/linux/linux/modules/lib/modules/2.4.20
19UCLIBC_DIR := $(BUILDROOT)/build_$(ARCH)/uClibc
20
21GNU_TARGET_NAME=$(ARCH)-linux
22TARGET_CROSS=$(STAGING_DIR)/bin/$(ARCH)-linux-uclibc-
23
24CC=$(TARGET_CROSS)gcc
25LD=$(TARGET_CROSS)ld
26AR=$(TARGET_CROSS)ar
27RANLIB=$(TARGET_CROSS)ranlib
28STRIP=$(TARGET_CROSS)strip
29IPKG_BUILD=$(STAGING_DIR)/bin/ipkg-build
30
31all: binary
32
33build: build-wifidog build-iptables
34
35build-wifidog: build-wifidog-stamp
36build-wifidog-stamp:
37        ./autogen.sh BUILDROOT=$(BUILDROOT) --prefix=/usr
38        $(MAKE)
39
40        touch build-wifidog-stamp
41
42build-iptables: build-iptables-stamp
43build-iptables-stamp:
44        sed -i "s/PF_EXT_SLIB:=icmp/PF_EXT_SLIB:=mac icmp/" $(IPTABLES_DIR)/extensions/Makefile
45        CC=$(CC) LD=$(LD) AR=$(AR) RANLIB=$(RANLIB) $(MAKE) -C $(IPTABLES_DIR) KERNEL_DIR=../../linux/linux/
46
47        touch build-iptables-stamp
48         
49clean:
50        -$(MAKE) clean
51        -$(MAKE) distclean
52        $(MAKE) -C $(IPTABLES_DIR) clean
53        rm -rf $(TMP_DIR)
54        rm -f build-wifidog-stamp
55        rm -f build-iptables-stamp
56
57install: build install-wifidog install-iptables install-kernel-modules install-pthread
58        mkdir -p $(TMP_DIR)/etc
59        cp $(CURDIR)/wifidog.conf $(TMP_DIR)/etc
60
61install-wifidog:
62        mkdir -p $(TMP_DIR)/usr/bin
63        cp $(CURDIR)/src/wifidog $(TMP_DIR)/usr/bin
64        $(STRIP) $(TMP_DIR)/usr/bin/wifidog
65
66install-iptables:
67        mkdir -p $(TMP_DIR)/usr/lib/iptables
68        cp $(IPTABLES_DIR)/extensions/libipt_{mac,mark,MARK}.so $(TMP_DIR)/usr/lib/iptables
69
70install-kernel-modules:
71        mkdir -p $(TMP_DIR)/lib/modules/2.4.20/kernel/net/ipv4/netfilter
72        cp $(KERNEL_MODULES_DIR)/kernel/net/ipv4/netfilter/ipt_mac.o $(TMP_DIR)/lib/modules/2.4.20/kernel/net/ipv4/netfilter
73
74install-pthread:
75        mkdir -p $(TMP_DIR)/lib
76        cp $(UCLIBC_DIR)/lib/libpthread*so $(TMP_DIR)/lib
77        cp $(UCLIBC_DIR)/lib/libpthread*so.0 $(TMP_DIR)/lib
78
79binary: build install
80        mkdir -p $(TMP_DIR)/CONTROL
81        echo "Package: wifidog" > $(TMP_DIR)/CONTROL/control
82        echo "Version: $(VERSION)" >> $(TMP_DIR)/CONTROL/control
83        echo "Architecture: $(ARCH)" >> $(TMP_DIR)/CONTROL/control
84        echo "Section: base" >> $(TMP_DIR)/CONTROL/control
85        echo "Maintainer: WiFiDog <wifidog@isf.waglo.com>" >> $(TMP_DIR)/CONTROL/control
86        echo "Priority: optional" >> $(TMP_DIR)/CONTROL/control
87        echo "Description: The WiFiDog project is a complete and embeedable captive portal solution for wireless community groups or individuals who wish to open a free HotSpot while still preventing abuse of their Internet connection." >> $(TMP_DIR)/CONTROL/control
88        echo "Source: http://www.ilesansfil.org/wiki/WiFiDog" >> $(TMP_DIR)/CONTROL/control
89        $(IPKG_BUILD) -c -o root -g root $(TMP_DIR) $(CURDIR)/../
90
91.PHONY: all clean build install binary
92
Note: See TracBrowser for help on using the browser.