1#include ../common.mak 2 3export SRCBASE := $(shell pwd) 4export BUILD := $(shell (gcc -dumpmachine)) 5export HOSTCC := gcc 6export PLATFORM := mipsel-uclibc 7CROSS_COMPILE := mipsel-linux- 8export CROSS_COMPILER := $(CROSS_COMPILE) 9export CONFIGURE := ./configure --host=mipsel-linux --build=$(BUILD) 10export TOOLCHAIN := $(shell cd $(dir $(shell which $(CROSS_COMPILE)gcc))/.. && pwd) 11export IPKG_TOOLS := $(shell cd $(dir $(shell which $(CROSS_COMPILE)gcc))/../../../ipkg-utils-1.7 && pwd) 12export LD_DIR := $(shell cd $(dir $(shell which $(CROSS_COMPILE)gcc))/../../../../staging && pwd) 13 14 15export CC := $(CROSS_COMPILE)gcc 16export AR := $(CROSS_COMPILE)ar 17export AS := $(CROSS_COMPILE)as 18export LD := $(CROSS_COMPILE)ld 19export NM := $(CROSS_COMPILE)nm 20export RANLIB := $(CROSS_COMPILE)ranlib 21export STRIP := $(CROSS_COMPILE)strip -R .note -R .comment 22export SIZE := $(CROSS_COMPILE)size 23 24export EXTRACFLAGS := -DBCMWPA2 -fno-delete-null-pointer-checks 25export INSTALLDIR := /opt 26export RANLIB := $(TOOLCHAIN)/bin/mipsel-linux-uclibc-ranlib 27export LD :=$(TOOLCHAIN)/bin/mipsel-linux-uclibc-ld 28export CC := $(TOOLCHAIN)/bin/mipsel-linux-uclibc-gcc 29export AR := $(TOOLCHAIN)/bin/mipsel-linux-uclibc-ar 30export STRIP := $(TOOLCHAIN)/bin/mipsel-linux-uclibc-strip 31export SIZE := $(TOOLCHAIN)/bin/mipsel-linux-size 32#srcdir=source 33srcdir=source3 34 35SMBCFLAGS = $(EXTRACFLAGS) -Os -ffunction-sections -fdata-sections 36SMBLDFLAGS = -ffunction-sections -fdata-sections -Wl,--gc-sections 37 38 39SMBCFLAGS += -DMAX_DEBUG_LEVEL="-1" 40 41 42all: .conf apps 43 44apps: .conf 45 mkdir -p $(srcdir)/bin 46 @sh config_genconfig 47 $(MAKE) -C $(srcdir) all 48 49.conf: 50 cd $(srcdir) && \ 51 ac_cv_lib_resolv_dn_expand=no \ 52 ac_cv_lib_resolv__dn_expand=no \ 53 ac_cv_lib_resolv___dn_expand=no \ 54 ac_cv_func_prctl=no \ 55 SMB_BUILD_CC_NEGATIVE_ENUM_VALUES=yes \ 56 linux_getgrouplist_ok=no \ 57 samba_cv_fpie=no \ 58 samba_cv_have_longlong=yes \ 59 samba_cv_HAVE_INO64_T=yes \ 60 samba_cv_HAVE_OFF64_T=yes \ 61 samba_cv_HAVE_STRUCT_FLOCK64=yes \ 62 samba_cv_SIZEOF_OFF_T=yes \ 63 samba_cv_HAVE_MMAP=yes \ 64 samba_cv_HAVE_FTRUNCATE_EXTEND=yes \ 65 samba_cv_REPLACE_READDIR=no \ 66 samba_cv_HAVE_BROKEN_LINUX_SENDFILE=no \ 67 samba_cv_HAVE_SENDFILE=yes \ 68 samba_cv_HAVE_WRFILE_KEYTAB=yes \ 69 samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes \ 70 samba_cv_HAVE_IFACE_IFCONF=yes \ 71 samba_cv_have_setresgid=yes \ 72 samba_cv_have_setresuid=yes \ 73 samba_cv_USE_SETRESUID=yes \ 74 samba_cv_USE_SETREUID=yes \ 75 samba_cv_HAVE_GETTIMEOFDAY_TZ=yes \ 76 samba_cv_REALPATH_TAKES_NULL=no \ 77 samba_cv_HAVE_FCNTL_LOCK=yes \ 78 samba_cv_HAVE_SECURE_MKSTEMP=yes \ 79 samba_cv_HAVE_NATIVE_ICONV=no \ 80 samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=no \ 81 samba_cv_HAVE_BROKEN_GETGROUPS=no \ 82 samba_cv_HAVE_BROKEN_READDIR_NAME=no \ 83 samba_cv_HAVE_C99_VSNPRINTF=yes \ 84 samba_cv_HAVE_DEV64_T=no \ 85 samba_cv_HAVE_DEVICE_MAJOR_FN=yes \ 86 samba_cv_HAVE_DEVICE_MINOR_FN=yes \ 87 samba_cv_HAVE_IFACE_AIX=no \ 88 samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=no \ 89 samba_cv_HAVE_KERNEL_SHARE_MODES=yes \ 90 samba_cv_HAVE_MAKEDEV=yes \ 91 samba_cv_HAVE_TRUNCATED_SALT=no \ 92 samba_cv_HAVE_UNSIGNED_CHAR=no \ 93 samba_cv_HAVE_WORKING_AF_LOCAL=yes \ 94 samba_cv_HAVE_Werror=yes \ 95 samba_cv_REPLACE_INET_NTOA=no \ 96 samba_cv_SIZEOF_DEV_T=yes \ 97 samba_cv_SIZEOF_INO_T=yes \ 98 samba_cv_SIZEOF_TIME_T=no \ 99 samba_cv_CC_NEGATIVE_ENUM_VALUES=yes \ 100 CPPFLAGS="-DNDEBUG -DSHMEM_SIZE=524288 -Dfcntl=fcntl64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -D_LARGE_FILES=1 -DAPP_IPKG=1" \ 101 CFLAGS="$(SMBCFLAGS)" CC=$(CC) LD=$(LD) AR=$(AR) RANLIB=$(RANLIB) \ 102 ./configure --host=mipsel-linux -build=i386-pc-linux-gnu --prefix=/opt --bindir=/opt/bin --sbindir=/opt/sbin --libdir=/opt/lib --localstatedir=/opt/var/samba --with-configdir=/opt/etc/samba --with-rootsbindir=/opt/sbin --with-piddir=/opt/var/samba --with-privatedir=/opt/etc/samba --with-lockdir=/opt/var/lock --with-syslog --with-included-popt=no --with-krb5=no --with-libsmbclient=yes --with-shared-modules=MODULES --disable-static --disable-cups --disable-iprint --disable-pie --disable-fam --disable-dmalloc --disable-krb5developer --disable-developer --disable-debug --without-ads --without-acl-support --without-ldap --without-cifsmount --without-cifsupcall --without-cluster-support --without-utmp --without-winbind --without-quotas --without-sys-quotas 103 touch .conf 104 mkdir -p $(srcdir)/bin 105 106clean: 107 -$(MAKE) -C $(srcdir) distclean 108 @rm -f .conf 109 110distclean: clean 111 @find $(srcdir) -name config.h | xargs rm -f 112 @find $(srcdir) -name Makefile | xargs rm -f 113 @find $(srcdir) -name config.status | xargs rm -f 114 @find $(srcdir) -name config.cache | xargs rm -f 115 116install: all 117 @install -d $(INSTALLDIR)/usr/bin/ 118 @install -d $(INSTALLDIR)/usr/sbin/ 119 @install -d $(INSTALLDIR)/usr/lib/ 120 @install -D $(srcdir)/bin/smbd $(INSTALLDIR)/usr/sbin/smbd 121 @install -D $(srcdir)/bin/nmbd $(INSTALLDIR)/usr/sbin/nmbd 122 @install -D $(srcdir)/bin/smbpasswd $(INSTALLDIR)/usr/bin/smbpasswd 123 @install -D $(srcdir)/bin/libsmbclient.so $(INSTALLDIR)/usr/lib/libsmbclient.so 124# @install -D $(srcdir)/bin/libbigballofmud.so $(INSTALLDIR)/usr/lib/libbigballofmud.so 125###############################Charles Modify########## 126 127 $(STRIP) -s $(INSTALLDIR)/usr/sbin/smbd 128 $(STRIP) -s $(INSTALLDIR)/usr/sbin/nmbd 129 $(STRIP) -s $(INSTALLDIR)/usr/bin/smbpasswd 130 $(STRIP) -s $(INSTALLDIR)/usr/lib/libsmbclient.so 131 # do not strip shared library, it will be optimized by libfoo.pl 132 # $(STRIP) -s $(INSTALLDIR)/usr/lib/libbigballofmud.so 133