############################################################################### # 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) ifeq "$(PASS)" "1" TARGET = $(DIR_INFO)/$(THISAPP)-pass1 else ifeq "$(PASS)" "2" TARGET = $(DIR_INFO)/$(THISAPP)-pass2 else TARGET = $(DIR_INFO)/$(THISAPP)-pass3 endif endif STAGING_DIR=/opt/$(MACHINE)-uClibc ############################################################################### # Top-level Rules ############################################################################### objects = $(DL_FILE) buildroot-snapshot-20061026.tar.bz2 uClibc-locale-030818.tgz $(DL_FILE) = $(DL_FROM)/$(DL_FILE) buildroot-snapshot-20061026.tar.bz2 = $(DL_FROM)/buildroot-snapshot-20061026.tar.bz2 uClibc-locale-030818.tgz = $(DL_FROM)/uClibc-locale-030818.tgz $(DL_FILE)_MD5 = 1ada58d919a82561061e4741fb6abd29 buildroot-snapshot-20061026.tar.bz2_MD5 = ecc5d48a780e46a56d1d39207d5868bd uClibc-locale-030818.tgz_MD5 = d75b2239b4e27c3c9cbed1c8f6eabba6 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) ifeq "$(PASS)" "1" @rm -rf $(DIR_APP) @mkdir -p /opt/$(MACHINE)-uClibc @cd $(DIR_SRC) && tar xfj $(DIR_DL)/$(DL_FILE) cp -f $(DIR_DL)/uClibc-locale-030818.tgz $(DIR_APP)/extra/locale/ cp -f $(DIR_SRC)/config/uClibc/{locales,codesets}.txt $(DIR_APP)/extra/locale cd $(DIR_APP)/extra/locale && patch -Np3 < $(DIR_SRC)/src/patches/uClibc-gcc4-genwctype.patch cp -f $(DIR_SRC)/config/uClibc/uClibc.config-$(MACHINE) $(DIR_APP)/.config cd $(DIR_APP) && make CROSS= PREFIX=$(STAGING_DIR) oldconfig cd $(DIR_APP) && make CROSS= PREFIX=$(STAGING_DIR) pregen headers install_dev # cd $(DIR_APP)/extra/locale && make else ifeq "$(PASS)" "2" cd $(DIR_APP) && CROSS=$(MACHINE)-linux-uclibc- PREFIX=/opt/$(MACHINE)-uClibc make all install 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 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 ln -sf /opt/$(MACHINE)-uClibc/lib/libm-$(VER).so /lib/libm.so.0 else cd /opt/$(MACHINE)-uClibc/bin && for i in `ls -w1 $(MACHINE)-linux-uclibc-*`; do \ ln -sf $$i $(MACHINE)-linux-`echo $$i | cut -c 19-`; \ done ln -sf $(MACHINE)-linux-uclibc /opt/$(MACHINE)-uClibc/$(MACHINE)-linux ln -sf gcc /opt/$(MACHINE)-uClibc/$(MACHINE)-linux-uclibc/bin/cc cd $(DIR_APP) && make RUNTIME_PREFIX=/install/initrd/ install_runtime chmod 755 /install/initrd/lib/libuClibc-$(VER).so rm -f /install/initrd/lib/{libm*,libcrypt*,libutil*,librt*} @rm -rf $(DIR_APP) endif endif @$(POSTBUILD)