73 lines
2.9 KiB
Makefile
73 lines
2.9 KiB
Makefile
# build the Linksys pppoecd
|
|
|
|
# Note that this patches the linksys pppd before patching pppoecd.
|
|
# The pppd patch changes the pathnames that pppoecd will use.
|
|
# In an attempt to avoid conflicts the marker file is called
|
|
# .patched-pppoecd in the pppd directory.
|
|
|
|
PPPD_DIR=$(BUILD_DIR)/WRT54GS/release/src/router/ppp/pppd
|
|
PPPD_PATCH_DIR=$(OPENWRT_IPK_DIR)/pppoecd
|
|
|
|
PPPOECD_DIR=$(BUILD_DIR)/WRT54GS/release/src/router/ppp/pppoecd
|
|
PPPOECD_IPK_DIR=$(OPENWRT_IPK_DIR)/pppoecd
|
|
PPPOECD_IPK_BUILD_DIR=$(BUILD_DIR)/pppoecd-1.0
|
|
PPPOECD_PACKAGE=$(BUILD_DIR)/pppoecd_1.0_mipsel.ipk
|
|
PPPOECD_BIN=$(TARGET_DIR)/sbin/pppoecd
|
|
PPPOECD_IPK_BIN=$(PPPOECD_IPK_BUILD_DIR)/sbin/pppoecd
|
|
|
|
# patch pppd for the openwrt compatible path names
|
|
$(PPPD_DIR)/.patched-pppoecd: $(BUILD_DIR)/WRT54GS/.source
|
|
cat $(PPPD_PATCH_DIR)/pppoecd-pathnames.patch | patch -d $(PPPD_DIR)
|
|
touch $(PPPD_DIR)/.patched-pppoecd
|
|
|
|
# patch the pppoecd itself for GCC3.x compatibility and to move pppoecd to /sbin
|
|
$(PPPOECD_DIR)/.patched: $(PPPD_DIR)/.patched-pppoecd
|
|
cat $(PPPOECD_IPK_DIR)/pppoecd.patch | patch -d $(PPPOECD_DIR)
|
|
touch $(PPPOECD_DIR)/.patched
|
|
|
|
# build the pppoecd binary for the ipk version
|
|
$(PPPOECD_IPK_BIN): $(PPPOECD_DIR)/.patched
|
|
mkdir -p $(PPPOECD_IPK_BUILD_DIR)/etc/ppp
|
|
cp $(PPPOECD_IPK_DIR)/root/etc/ppp/ip-up $(PPPOECD_IPK_BUILD_DIR)/etc/ppp/ip-up
|
|
chmod a+x $(PPPOECD_IPK_BUILD_DIR)/etc/ppp/ip-up
|
|
$(MAKE) -C $(PPPOECD_DIR) CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld \
|
|
SRCBASE=$(OPENWRT_SRCBASE) INSTALLDIR=$(PPPOECD_IPK_BUILD_DIR) LIBDIR=$(UCLIBC_DIR)/lib \
|
|
STRIP="$(STRIP)" \
|
|
install
|
|
|
|
# setup ipkg control files
|
|
$(PPPOECD_IPK_BUILD_DIR)/CONTROL/control:
|
|
mkdir -p $(PPPOECD_IPK_BUILD_DIR)/CONTROL
|
|
cp $(PPPOECD_IPK_DIR)/CONTROL/prerm $(PPPOECD_IPK_BUILD_DIR)/CONTROL/prerm
|
|
chmod a+x $(PPPOECD_IPK_BUILD_DIR)/CONTROL/prerm
|
|
cp $(PPPOECD_IPK_DIR)/CONTROL/postrm $(PPPOECD_IPK_BUILD_DIR)/CONTROL/postrm
|
|
chmod a+x $(PPPOECD_IPK_BUILD_DIR)/CONTROL/postrm
|
|
cp $(PPPOECD_IPK_DIR)/CONTROL/conffiles $(PPPOECD_IPK_BUILD_DIR)/CONTROL/conffiles
|
|
cp $(PPPOECD_IPK_DIR)/CONTROL/control $(PPPOECD_IPK_BUILD_DIR)/CONTROL/control
|
|
|
|
# build the ipk package
|
|
$(PPPOECD_PACKAGE): $(PPPOECD_IPK_BIN) $(PPPOECD_IPK_BUILD_DIR)/CONTROL/control
|
|
cd $(BUILD_DIR); $(IPKG_BUILD) $(PPPOECD_IPK_BUILD_DIR)
|
|
|
|
# main target for building the ipk version
|
|
pppoecd-ipk: $(PPPOECD_PACKAGE)
|
|
|
|
# the embedded binary
|
|
$(PPPOECD_BIN): $(PPPOECD_DIR)/.patched
|
|
mkdir -p $(TARGET_DIR)/etc/ppp
|
|
cp $(PPPOECD_IPK_DIR)/root/etc/ppp/ip-up $(TARGET_DIR)/etc/ppp/ip-up
|
|
chmod a+x $(TARGET_DIR)/etc/ppp/ip-up
|
|
$(MAKE) -C $(PPPOECD_DIR) CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld \
|
|
SRCBASE=$(OPENWRT_SRCBASE) INSTALLDIR=$(TARGET_DIR) LIBDIR=$(UCLIBC_DIR)/lib \
|
|
STRIP="$(STRIP)" \
|
|
install
|
|
|
|
# main target for building the embedded version
|
|
pppoecd: $(PPPOECD_BIN)
|
|
|
|
pppoecd-clean:
|
|
-$(MAKE) -C $(PPPOECD_DIR) clean
|
|
rm -f $(TARGET_DIR)/usr/sbin/pppoecd
|
|
rm -rf $(PPPOECD_IPK_BUILD_DIR)
|
|
rm -f $(PPPOECD_PACKAGE)
|