############################################################################### # This file is part of the IPCop Firewall. # # # # IPCop is free software; you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation; either version 2 of the License, or # # (at your option) any later version. # # # # IPCop is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with IPCop; if not, write to the Free Software # # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # # # Makefiles are based on LFSMake, which is # # Copyright (C) 2002 Rod Roard # # # ############################################################################### ############################################################################### # Definitions ############################################################################### include Config VER = 0.9.28 THISAPP = uClibc-$(VER) DL_FILE = $(THISAPP).tar.bz2 DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) ############################################################################### # Top-level Rules ############################################################################### objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) $(DL_FILE)_MD5 = 1ada58d919a82561061e4741fb6abd29 install : $(TARGET) check : $(patsubst %,$(DIR_CHK)/%,$(objects)) download :$(patsubst %,$(DIR_DL)/%,$(objects)) md5 : $(subst %,%_MD5,$(objects)) ############################################################################### # Downloading, checking, md5sum ############################################################################### $(patsubst %,$(DIR_CHK)/%,$(objects)) : @$(CHECK) $(patsubst %,$(DIR_DL)/%,$(objects)) : @$(LOAD) $(subst %,%_MD5,$(objects)) : @$(MD5) ############################################################################### # Installation Details ############################################################################### $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) @rm -rf /opt/$(MACHINE)-uClibc @mkdir -p $(DIR_APP) cd $(DIR_APP) && cp -R $(DIR_SRC)/src/uClibc/* . cd $(DIR_APP) && sed -e 's/UCLIBC_HAS_THREADS=y/# UCLIBC_HAS_THREADS is not set/' \ -e 's/DO_C99_MATH=y/# DO_C99_MATH is not set/' \ -e 's/LDSO_CACHE_SUPPORT=y/# LDSO_CACHE_SUPPORT is not set/' \ -e 's/UCLIBC_HAS_FTW=y/# UCLIBC_HAS_FTW is not set/' \ -e 's,/usr/src/linux,&-$(KVER),' -i sources/uClibc.config-$(MACHINE) cd $(DIR_APP) && sed -e 's,^LINUX_DIR.*$$,&-$(KVER),' -i make/uclibc.mk -mkdir -p /usr/src/$(THISAPP)/toolchain_build_$(MACHINE)/uClibc_dev/usr ln -fs /usr/include /usr/src/$(THISAPP)/toolchain_build_$(MACHINE)/uClibc_dev/usr/include cd $(DIR_APP) && chmod +x sources/patch-kernel.sh cd $(DIR_APP) && make JLEVEL=$(MAKETUNING) -mkdir -p /install/initrd/bin cd $(DIR_APP)/toolchain_build_$(MACHINE)/$(THISAPP) && make PREFIX=/opt/$(MACHINE)-uClibc install cd $(DIR_APP)/toolchain_build_$(MACHINE)/$(THISAPP) && make RUNTIME_PREFIX=/install/initrd/ install_runtime chmod 755 /install/initrd/lib/libuClibc-$(VER).so rm -f /install/initrd/lib/{libm*,libcrypt*,libutil*,librt*} cp -f /opt/$(MACHINE)-uClibc/lib/libgcc_s.so /lib cp -f /opt/$(MACHINE)-uClibc/lib/ld-uClibc-$(VER).so /lib cp -f /opt/$(MACHINE)-uClibc/lib/libuClibc-$(VER).so /lib cd /lib && ln -sf libgcc_s.so libgcc_s.so.1 cd /lib && ln -sf ld-uClibc-$(VER).so ld-uClibc.so.0 cd /lib && ln -sf libuClibc-$(VER).so libc.so.0 cd /lib && ln -sf libc.so.0 libc.so @rm -rf $(DIR_APP) @$(POSTBUILD)