[uClibc].mk files
Dan Cardamore
dan.cardamore at officeserver.ca
Sat May 24 16:51:11 UTC 2003
Attached are several .mk files I was working on. I'm done with uclibc
for a while and rather than just have them sit on my drive I'll share
them with the list even though they are not tested very well, and in
some .mk cases they need some kludges done around them.
dcron.mk -- cron daemon.
gmp.mk -- GNU Math library for freeswan (not very well done)
ipsec.mk -- Half-way done. Some makefiles still point back to GCC
rather than uclibc's toolchain.
iptraf.mk -- Works. I think some of the paths may not work well since
I get lock file problems. This was only tested in a chroot.
nano.mk -- Works if you modify the configure file to not 'exit 1;' on
a cross_compile test. If you don't want to modify the
configure file then just change the URL's at the top to
point to version 1.09 of nano instead of 1.28 and it will
work without any modifications.
ntpclient.mk -- network time protocol. Can't remember how well it
works.
rppppoe.mk -- PPPOE client. This .mk file doesn't work well at all.
Requires the latest 2.4.2 pppd daemon.
shorewall.mk -- Works well with latest shorewall firewall script.
flash.mk -- Flash menuing system. Works well.
zebra.mk -- Routing daemon. I think this one works well but it wasn't
tested heavily. IPv6 daemons are not installed.
Dan
--
Dan Cardamore dan.cardamore at officeserver.ca
Cell: (613)355-8048 http://www.officeserver.ca
-------------- next part --------------
#############################################################
#
# dcron
#
#############################################################
DCRON_SOURCE:=dcron-2.3.3.tar.gz
DCRON_SITE:=http://freshmeat.net/redir/dcron/1903/url_tgz/
DCRON_DIR:=$(BUILD_DIR)/dcron-2.3.3
DCRON_CAT:=zcat
DCRON_BINARY:=dcron
DCRON_TARGET_BINARY:=/sbin/dcron
$(DL_DIR)/$(DCRON_SOURCE):
$(WGET) -P $(DL_DIR) $(DCRON_SITE)/$(DCRON_SOURCE)
dcron-source: $(DL_DIR)/$(DCRON_SOURCE)
$(DCRON_DIR)/.unpacked: $(DL_DIR)/$(DCRON_SOURCE)
$(DCRON_CAT) $(DL_DIR)/$(DCRON_SOURCE) | tar -C $(BUILD_DIR) -xvf -
touch $(DCRON_DIR)/.unpacked
perl -i -p -e "s,gcc,$(STAGING_DIR)/bin/i386-uclibc-gcc,;" $(DCRON_DIR)/Makefile
$(DCRON_DIR)/.configured: $(DCRON_DIR)/.unpacked
touch $(DCRON_DIR)/.configured
$(DCRON_DIR)/$(DCRON_BINARY): $(DCRON_DIR)/.configured
$(MAKE) -C $(DCRON_DIR)
# This stuff is needed to work around GNU make deficiencies
dcron-target_binary: $(DCRON_DIR)/$(DCRON_BINARY)
cp -au $(DCRON_DIR)/crond $(TARGET_DIR)/usr/bin/
cp -au $(DCRON_DIR)/crontab $(TARGET_DIR)/usr/bin/
mkdir -p $(TARGET_DIR)/var/spool/cron/crontabs
dcron: uclibc dcron-target_binary
dcron-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(DCRON_DIR) uninstall
-$(MAKE) -C $(DCRON_DIR) clean
dcron-dirclean:
rm -rf $(DCRON_DIR)
-------------- next part --------------
#############################################################
#
# flash
#
#############################################################
FLASH_SOURCE:=flash-0.9.5.tar.gz
FLASH_SITE:=http://www.netsoc.ucd.ie/flash/
FLASH_DIR:=$(BUILD_DIR)/flash-0.9.5
FLASH_CAT:=zcat
FLASH_BINARY:=flash
FLASH_TARGET_BINARY:=/usr/bin/flash
$(DL_DIR)/$(FLASH_SOURCE):
$(WGET) -P $(DL_DIR) $(FLASH_SITE)/$(FLASH_SOURCE)
flash-source: $(DL_DIR)/$(FLASH_SOURCE)
$(FLASH_DIR)/.unpacked: $(DL_DIR)/$(FLASH_SOURCE)
$(FLASH_CAT) $(DL_DIR)/$(FLASH_SOURCE) | tar -C $(BUILD_DIR) -xvf -
touch $(FLASH_DIR)/.unpacked
perl -i -p -e "s/cannot check getpgrp if cross compiling\" 1>&2; exit 1;/cannot check getpgrp if cross compiling\" 1>&2;/g;" $(FLASH_DIR)/configure
$(FLASH_DIR)/.configured: $(FLASH_DIR)/.unpacked
(cd $(FLASH_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--datadir=/usr/share \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
--disable-nls \
--disable-perl-regexp \
--without-included-regex \
);
touch $(FLASH_DIR)/.configured
$(FLASH_DIR)/$(FLASH_BINARY): $(FLASH_DIR)/.configured
$(MAKE) -C $(FLASH_DIR)
# This stuff is needed to work around GNU make deficiencies
flash-target_binary: $(FLASH_DIR)/$(FLASH_BINARY)
cp -au $(FLASH_DIR)/flash $(TARGET_DIR)/usr/bin/
cp -au $(FLASH_DIR)/sample-config/* $(TARGET_DIR)/usr/lib/flash
flash: uclibc flash-target_binary
flash-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(FLASH_DIR) uninstall
-$(MAKE) -C $(FLASH_DIR) clean
flash-dirclean:
rm -rf $(FLASH_DIR)
-------------- next part --------------
#############################################################
#
# gmp
#
#############################################################
GMP_SOURCE:=gmp-4.1.2.tar.gz
GMP_SITE:=ftp://mirrors.kernel.org/gnu/gmp/
GMP_DIR:=$(BUILD_DIR)/gmp-4.1.2
GMP_CAT:=zcat
GMP_BINARY:=libgmp.la
$(DL_DIR)/$(GMP_SOURCE):
$(WGET) -P $(DL_DIR) $(GMP_SITE)/$(GMP_SOURCE)
gmp-source: $(DL_DIR)/$(GMP_SOURCE)
$(GMP_DIR)/.unpacked: $(DL_DIR)/$(GMP_SOURCE)
$(GMP_CAT) $(DL_DIR)/$(GMP_SOURCE) | tar -C $(BUILD_DIR) -xvf -
touch $(GMP_DIR)/.unpacked
$(GMP_DIR)/.configured: $(GMP_DIR)/.unpacked
(cd $(GMP_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--datadir=/usr/share \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
--disable-nls \
--enable-shared \
);
touch $(GMP_DIR)/.configured
$(GMP_DIR)/.libs/$(GMP_BINARY): $(GMP_DIR)/.configured
$(MAKE) CC=$(TARGET_CC) -C $(GMP_DIR)
$(STAGING_DIR)/lib/$(GMP_BINARY): $(GMP_DIR)/.libs/$(GMP_BINARY)
$(MAKE) CC=$(TARGET_CC) prefix=$(STAGING_DIR) -C $(GMP_DIR) install
$(TARGET_DIR)/lib/$(GMP_BINARY): $(STAGING_DIR)/lib/$(GMP_BINARY)
cp -a $(GMP_DIR)/gmp.h $(TARGET_DIR)/usr/include/
cp -a $(GMP_DIR)/longlong.h $(TARGET_DIR)/usr/include/
cp -a $(GMP_DIR)/mpfrxx.h $(TARGET_DIR)/usr/include/
cp -a $(GMP_DIR)/mp.h $(TARGET_DIR)/usr/include/
cp -a $(GMP_DIR)/gmpxx.h $(TARGET_DIR)/usr/include/
cp -a $(GMP_DIR)/gmp-impl.h $(TARGET_DIR)/usr/include/
cp -a $(GMP_DIR)/libgmp.la $(TARGET_DIR)/lib/
gmp: uclibc $(TARGET_DIR)/lib/$(GMP_BINARY)
gmp-clean:
rm -f $(TARGET_DIR)/lib/$(GMP_BINARY)
-$(MAKE) -C $(GMP_DIR) clean
gmp-dirclean:
rm -rf $(GMP_DIR)
-------------- next part --------------
#############################################################
#
# ipsec
#
# To get this to work you'll need to make sure that the
# makefiles pick up the uclibc 'cc' binary. These makefiles
# are hardcoded to run cc rather than $(CC) and I didn't feel
# like making a patch for them.
#
# So, go into your $(STAGING_DIR)/bin and create a link from your
# arch's uclibc gcc to $(STAGING_DIR)/bin/cc. Then set your path
# to look in that directory first.
#############################################################
IPSEC_SOURCE:=super-freeswan-1.99.7.tar.gz
IPSEC_SITE:=http://download.freeswan.ca/super-freeswan/
IPSEC_DIR:=$(BUILD_DIR)/super-freeswan-1.99.7
IPSEC_CAT:=zcat
IPSEC_BINARY:=ipsec
IPSEC_TARGET_BINARY:=/usr/local/lib/ipsec
# these get read by superfreeswan's Makefile.inc
KERNELSRC=$(BUILD_DIR)/linux/
DESTDIR=$(TARGET_DIR)
$(DL_DIR)/$(IPSEC_SOURCE):
$(WGET) -P $(DL_DIR) $(IPSEC_SITE)/$(IPSEC_SOURCE)
ipsec-source: $(DL_DIR)/$(IPSEC_SOURCE)
$(IPSEC_DIR)/.unpacked: $(DL_DIR)/$(IPSEC_SOURCE)
$(IPSEC_CAT) $(DL_DIR)/$(IPSEC_SOURCE) | tar -C $(BUILD_DIR) -xvf -
touch $(IPSEC_DIR)/.unpacked
$(IPSEC_DIR)/.configured: $(IPSEC_DIR)/.unpacked
touch $(IPSEC_DIR)/.configured
$(IPSEC_DIR)/$(IPSEC_BINARY): $(IPSEC_DIR)/.configured
touch $(IPSEC_DIR)/.configured
# This stuff is needed to work around GNU make deficiencies
ipsec-target_binary: $(IPSEC_DIR)/$(IPSEC_BINARY)
DESTDIR=$(DESTDIR) \
KERNELSRC=$(KERNELSRC) \
$(MAKE) -C $(IPSEC_DIR) oldgo
ipsec: uclibc ipsec-target_binary
ipsec-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(IPSEC_DIR) uninstall
-$(MAKE) -C $(IPSEC_DIR) clean
ipsec-dirclean:
rm -rf $(IPSEC_DIR)
-------------- next part --------------
#############################################################
#
# iptraf
#
#############################################################
IPTRAF_SOURCE:=iptraf-2.7.0.tar.gz
IPTRAF_SITE:=ftp://ftp.cebu.mozcom.com/pub/linux/net/
IPTRAF_DIR:=$(BUILD_DIR)/iptraf-2.7.0
IPTRAF_CAT:=zcat
IPTRAF_BINARY:=iptraf
IPTRAF_TARGET_BINARY:=/usr/bin/iptraf
$(DL_DIR)/$(IPTRAF_SOURCE):
$(WGET) -P $(DL_DIR) $(IPTRAF_SITE)/$(IPTRAF_SOURCE)
iptraf-source: $(DL_DIR)/$(IPTRAF_SOURCE)
$(IPTRAF_DIR)/.unpacked: $(DL_DIR)/$(IPTRAF_SOURCE)
$(IPTRAF_CAT) $(DL_DIR)/$(IPTRAF_SOURCE) | tar -C $(BUILD_DIR) -xvf -
touch $(IPTRAF_DIR)/.unpacked
perl -i -p -e "s/^CC.*=.*gcc//;" $(IPTRAF_DIR)/src/Makefile
perl -i -p -e "s/^CC.*=.*gcc//;" $(IPTRAF_DIR)/support/Makefile
perl -i -p -e 's,gcc,$(STAGING_DIR)/bin/i386-uclibc-gcc,;' $(IPTRAF_DIR)/support/Makefile
$(IPTRAF_DIR)/.configured: $(IPTRAF_DIR)/.unpacked
touch $(IPTRAF_DIR)/.configured
$(IPTRAF_DIR)/$(IPTRAF_BINARY): $(IPTRAF_DIR)/.configured
WORKDIR=/var/local/iptraf \
LOGDIR=/var/log/iptraf \
EXECDIR=/usr/bin \
CC=$(STAGING_DIR)/bin/i386-uclibc-gcc \
$(MAKE) -C $(IPTRAF_DIR)/src all
# This stuff is needed to work around GNU make deficiencies
iptraf-target_binary: $(IPTRAF_DIR)/$(IPTRAF_BINARY)
mkdir -p $(TARGET_DIR)/var/log/iptraf
mkdir -p $(TARGET_DIR)/var/run/iptraf
mkdir -p $(TARGET_DIR)/var/local/iptraf
cp -au $(IPTRAF_DIR)/src/iptraf $(TARGET_DIR)/usr/bin/
cp -au $(IPTRAF_DIR)/src/rvnamed $(TARGET_DIR)/usr/bin/
iptraf: uclibc iptraf-target_binary
iptraf-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(IPTRAF_DIR) uninstall
-$(MAKE) -C $(IPTRAF_DIR) clean
iptraf-dirclean:
rm -rf $(IPTRAF_DIR)
-------------- next part --------------
#############################################################
#
# nano
#
#############################################################
NANO_SOURCE:=nano-1.2.1.tar.gz
NANO_SITE:=http://www.nano-editor.org/dist/v1.2/
NANO_DIR:=$(BUILD_DIR)/nano-1.2.1
NANO_CAT:=zcat
NANO_BINARY:=nano
NANO_TARGET_BINARY:=/usr/bin/nano
$(DL_DIR)/$(NANO_SOURCE):
$(WGET) -P $(DL_DIR) $(NANO_SITE)/$(NANO_SOURCE)
nano-source: $(DL_DIR)/$(NANO_SOURCE)
$(NANO_DIR)/.unpacked: $(DL_DIR)/$(NANO_SOURCE)
$(NANO_CAT) $(DL_DIR)/$(NANO_SOURCE) | tar -C $(BUILD_DIR) -xvf -
touch $(NANO_DIR)/.unpacked
$(NANO_DIR)/.configured: $(NANO_DIR)/.unpacked
(cd $(NANO_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--includedir=$(STAGING_DIR)/include \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--enable-nanorc \
--datadir=/usr/share \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
--disable-nls \
--disable-perl-regexp \
--without-included-regex \
);
touch $(NANO_DIR)/.configured
$(NANO_DIR)/$(NANO_BINARY): $(NANO_DIR)/.configured
$(MAKE) -C $(NANO_DIR)
# This stuff is needed to work around GNU make deficiencies
nano-target_binary: $(NANO_DIR)/$(NANO_BINARY)
cp -au $(NANO_DIR)/nano $(TARGET_DIR)/usr/bin/
cp -au $(NANO_DIR)/nanorc.sample $(TARGET_DIR)/etc/nanorc
nano: uclibc nano-target_binary
nano-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(NANO_DIR) uninstall
-$(MAKE) -C $(NANO_DIR) clean
nano-dirclean:
rm -rf $(NANO_DIR)
-------------- next part --------------
#############################################################
#
# ntpclient
#
#############################################################
NTPCLIENT_SOURCE:=ntpclient_2000_345.tar.gz
NTPCLIENT_SITE:=http://doolittle.faludi.com/ntpclient/
NTPCLIENT_DIR:=$(BUILD_DIR)/ntpclient
NTPCLIENT_CAT:=zcat
NTPCLIENT_BINARY:=ntpclient
NTPCLIENT_TARGET_BINARY:=/sbin/ntpclient
$(DL_DIR)/$(NTPCLIENT_SOURCE):
$(WGET) -P $(DL_DIR) $(NTPCLIENT_SITE)/$(NTPCLIENT_SOURCE)
ntpclient-source: $(DL_DIR)/$(NTPCLIENT_SOURCE)
$(NTPCLIENT_DIR)/.unpacked: $(DL_DIR)/$(NTPCLIENT_SOURCE)
$(NTPCLIENT_CAT) $(DL_DIR)/$(NTPCLIENT_SOURCE) | tar -C $(BUILD_DIR) -xvf -
touch $(NTPCLIENT_DIR)/.unpacked
$(NTPCLIENT_DIR)/.configured: $(NTPCLIENT_DIR)/.unpacked
touch $(NTPCLIENT_DIR)/.configured
$(NTPCLIENT_DIR)/$(NTPCLIENT_BINARY): $(NTPCLIENT_DIR)/.configured
CC=$(STAGING_DIR)/bin/i386-uclibc-gcc $(MAKE) -C $(NTPCLIENT_DIR)
# This stuff is needed to work around GNU make deficiencies
ntpclient-target_binary: $(NTPCLIENT_DIR)/$(NTPCLIENT_BINARY)
cp -au $(NTPCLIENT_DIR)/ntpclient $(TARGET_DIR)/sbin/
cp -au $(NTPCLIENT_DIR)/envelope $(TARGET_DIR)/sbin/
ntpclient: uclibc ntpclient-target_binary
ntpclient-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(NTPCLIENT_DIR) uninstall
-$(MAKE) -C $(NTPCLIENT_DIR) clean
ntpclient-dirclean:
rm -rf $(NTPCLIENT_DIR)
-------------- next part --------------
#############################################################
#
# rppppoe
#
#############################################################
RPPPPOE_SOURCE:=rp-pppoe-3.5.tar.gz
RPPPPOE_SITE:=http://www.roaringpenguin.com/pppoe/
RPPPPOE_DIR:=$(BUILD_DIR)/rp-pppoe-3.5
RPPPPOE_CAT:=zcat
RPPPPOE_BINARY:=rppppoe
RPPPPOE_TARGET_BINARY:=/usr/bin/rppppoe
$(DL_DIR)/$(RPPPPOE_SOURCE):
$(WGET) -P $(DL_DIR) $(RPPPPOE_SITE)/$(RPPPPOE_SOURCE)
rppppoe-source: $(DL_DIR)/$(RPPPPOE_SOURCE)
$(RPPPPOE_DIR)/.unpacked: $(DL_DIR)/$(RPPPPOE_SOURCE)
$(RPPPPOE_CAT) $(DL_DIR)/$(RPPPPOE_SOURCE) | tar -C $(BUILD_DIR) -xvf -
touch $(RPPPPOE_DIR)/.unpacked
$(RPPPPOE_DIR)/.configured: $(RPPPPOE_DIR)/.unpacked
(cd $(RPPPPOE_DIR)/src; rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--datadir=/usr/share \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
--disable-nls \
--disable-perl-regexp \
--without-included-regex \
);
cd $(RPPPPOE_DIR)
touch $(RPPPPOE_DIR)/.configured
$(RPPPPOE_DIR)/$(RPPPPOE_BINARY): $(RPPPPOE_DIR)/.configured
$(MAKE) -C $(RPPPPOE_DIR)
# This stuff is needed to work around GNU make deficiencies
rppppoe-target_binary: $(RPPPPOE_DIR)/$(RPPPPOE_BINARY)
cp -au $(RPPPPOE_DIR)/rppppoe $(TARGET_DIR)/usr/bin/
cp -au $(RPPPPOE_DIR)/sample-config $(TARGET_DIR)/usr/lib/rppppoe
rppppoe: uclibc rppppoe-target_binary
rppppoe-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(RPPPPOE_DIR) uninstall
-$(MAKE) -C $(RPPPPOE_DIR) clean
rppppoe-dirclean:
rm -rf $(RPPPPOE_DIR)
-------------- next part --------------
#############################################################
#
# shorewall
#
#############################################################
SHOREWALL_SOURCE:=shorewall-1.4.3a.tgz
SHOREWALL_SITE:=http://slovakia.shorewall.net/pub/shorewall/
SHOREWALL_DIR:=$(BUILD_DIR)/shorewall-1.4.3a
SHOREWALL_CAT:=zcat
SHOREWALL_BINARY:=shorewall
SHOREWALL_TARGET_BINARY:=/sbin/shorewall
$(DL_DIR)/$(SHOREWALL_SOURCE):
$(WGET) -P $(DL_DIR) $(SHOREWALL_SITE)/$(SHOREWALL_SOURCE)
shorewall-source: $(DL_DIR)/$(SHOREWALL_SOURCE)
$(SHOREWALL_DIR)/.unpacked: $(DL_DIR)/$(SHOREWALL_SOURCE)
$(SHOREWALL_CAT) $(DL_DIR)/$(SHOREWALL_SOURCE) | tar -C $(BUILD_DIR) -xvf -
touch $(SHOREWALL_DIR)/.unpacked
$(SHOREWALL_DIR)/.configured: $(SHOREWALL_DIR)/.unpacked
touch $(SHOREWALL_DIR)/.configured
$(SHOREWALL_DIR)/$(SHOREWALL_BINARY): $(SHOREWALL_DIR)/.configured
# This stuff is needed to work around GNU make deficiencies
shorewall-target_binary: $(SHOREWALL_DIR)/$(SHOREWALL_BINARY)
mkdir -p $(TARGET_DIR)/etc/shorewall
mkdir -p $(TARGET_DIR)/usr/share/shorewall
mkdir -p $(TARGET_DIR)/var/lib/shorewall
cp -au $(SHOREWALL_DIR)/shorewall $(TARGET_DIR)/sbin/
cp -au $(SHOREWALL_DIR)/functions $(TARGET_DIR)/usr/share/shorewall/
cp -au $(SHOREWALL_DIR)/firewall $(TARGET_DIR)/usr/share/shorewall/
echo "1.4.3" > $(TARGET_DIR)/usr/share/shorewall/version
cp -au $(SHOREWALL_DIR)/shorewall.conf $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/zones $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/functions $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/common.def $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/policy $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/interfaces $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/hosts $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/rules $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/nat $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/params $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/proxyarp $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/routestopped $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/maclist $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/masq $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/modules $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/tcrules $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/tos $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/tunnels $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/blacklist $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/rfc1918 $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/init $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/start $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/stop $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/stopped $(TARGET_DIR)/etc/shorewall/
cp -au $(SHOREWALL_DIR)/ecn $(TARGET_DIR)/etc/shorewall/
shorewall: uclibc shorewall-target_binary
shorewall-clean:
shorewall-dirclean:
rm -rf $(SHOREWALL_DIR)
-------------- next part --------------
#############################################################
#
# zebra
#
#############################################################
ZEBRA_SOURCE:=zebra-0.93b.tar.gz
ZEBRA_SITE:=ftp://ftp.zebra.org/pub/zebra
ZEBRA_DIR:=$(BUILD_DIR)/zebra-0.93b
ZEBRA_CAT:=zcat
ZEBRA_BINARY:=zebra
ZEBRA_TARGET_BINARY:=/usr/bin/zebra
$(DL_DIR)/$(ZEBRA_SOURCE):
$(WGET) -P $(DL_DIR) $(ZEBRA_SITE)/$(ZEBRA_SOURCE)
zebra-source: $(DL_DIR)/$(ZEBRA_SOURCE)
$(ZEBRA_DIR)/.unpacked: $(DL_DIR)/$(ZEBRA_SOURCE)
$(ZEBRA_CAT) $(DL_DIR)/$(ZEBRA_SOURCE) | tar -C $(BUILD_DIR) -xvf -
touch $(ZEBRA_DIR)/.unpacked
$(ZEBRA_DIR)/.configured: $(ZEBRA_DIR)/.unpacked
(cd $(ZEBRA_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--datadir=/usr/share \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
--disable-nls \
--disable-perl-regexp \
--without-included-regex \
);
touch $(ZEBRA_DIR)/.configured
$(ZEBRA_DIR)/$(ZEBRA_BINARY): $(ZEBRA_DIR)/.configured
$(MAKE) -C $(ZEBRA_DIR)
# This stuff is needed to work around GNU make deficiencies
zebra-target_binary: $(ZEBRA_DIR)/$(ZEBRA_BINARY)
cp -au $(ZEBRA_DIR)/zebra/zebra $(TARGET_DIR)/usr/sbin/
cp -au $(ZEBRA_DIR)/zebra/zebra.conf.sample $(TARGET_DIR)/etc/zebra.conf
cp -au $(ZEBRA_DIR)/bgpd/bgpd $(TARGET_DIR)/usr/sbin/
cp -au $(ZEBRA_DIR)/bgpd/bgpd.conf.sample $(TARGET_DIR)/etc/bgpd.conf
cp -au $(ZEBRA_DIR)/ospfd/ospfd $(TARGET_DIR)/usr/sbin/
cp -au $(ZEBRA_DIR)/ospfd/ospfd.conf.sample $(TARGET_DIR)/etc/ospfd.conf
cp -au $(ZEBRA_DIR)/ripd/ripd $(TARGET_DIR)/usr/sbin/
cp -au $(ZEBRA_DIR)/ripd/ripd.conf.sample $(TARGET_DIR)/etc/ripd.conf
zebra: uclibc zebra-target_binary
zebra-clean:
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(ZEBRA_DIR) uninstall
-$(MAKE) -C $(ZEBRA_DIR) clean
zebra-dirclean:
rm -rf $(ZEBRA_DIR)
More information about the uClibc
mailing list