# $Id$ # samba requires hard coded absolute paths! ifeq ('$(BARTPE)', '') SAMBA_ROOT?=C:/PROGRA~1/samba SAMBA_TEMP_ROOT?=${SAMBA_ROOT} LMHOSTS?=${SAMBA_ROOT}/lib/lmhosts PRINTCAP?=${SAMBA_ROOT}/lib/printcap SMB_CONF?=${SAMBA_ROOT}/lib/smb.conf SMBPASSWD?=${SAMBA_ROOT}/private/smbpasswd CONFIGURE_OPTIONS?= else SAMBA_ROOT?=X:/Programs/samba SAMBA_TEMP_ROOT?=b:/samba LMHOSTS=${SAMBA_TEMP_ROOT}/lmhosts PRINTCAP?=${SAMBA_TEMP_ROOT}/printcap SMB_CONF=${SAMBA_TEMP_ROOT}/smb.conf SMBPASSWD=${SAMBA_TEMP_ROOT}/smbpasswd CONFIGURE_OPTIONS=\ --sbindir=${SAMBA_ROOT}/bin \ --localstatedir=${SAMBA_TEMP_ROOT} \ --sharedstatedir=${SAMBA_TEMP_ROOT} \ --sysconfdir=${SAMBA_TEMP_ROOT} \ --with-privatedir=${SAMBA_TEMP_ROOT} \ --with-lockdir=${SAMBA_TEMP_ROOT} \ --with-piddir=${SAMBA_TEMP_ROOT} \ --with-configdir=${SAMBA_TEMP_ROOT} \ --with-logfilebase=${SAMBA_TEMP_ROOT} PEBUILDER_ROOT?=d:/pebuilder PEBUILDER_SAMBA_FILES?=${PEBUILDER_ROOT}/plugins/samba/files endif SAMBA_VER?=3.0.23c SAMBA_ZIP?=samba-${SAMBA_VER}-ross.zip SU?= SAMBA_PATCH?=samba-${SAMBA_VER}.cygwin.patch SAMBA_DIR=samba-${SAMBA_VER} SAMBA_GZ=${SAMBA_DIR}.tar.gz SAMBA_SERVER?=http://us3.samba.org/samba/ftp/stable SAMBA_URL?=${SAMBA_SERVER}/${SAMBA_GZ} SAMBA_SOURCE_DIR=${SAMBA_DIR}/source SAMBA_TOUCH=${SAMBA_DIR}.touch SAMBA_PATCH_TOUCH=${SAMBA_DIR}_patch.touch SAMBA_AUTOGEN_TOUCH=${SAMBA_DIR}_autogen.touch SAMBA_CONFIGURE_TOUCH=${SAMBA_DIR}_configure.touch SAMBA_MAKE_TOUCH=${SAMBA_DIR}_make.touch SAMBA_INSTALL_TOUCH=${SAMBA_DIR}_install.touch WGET?=wget -N CWD=$(shell pwd) .PHONY: all \ autogen \ clean \ configure \ dist \ make \ patch \ install all: make ${SAMBA_GZ}: ${WGET} ${SAMBA_URL} ${SAMBA_TOUCH}: ${SAMBA_GZ} tar xzvf $< ln -fs ${SAMBA_SOURCE_DIR} samba touch $@ ${SAMBA_PATCH_TOUCH}: ${SAMBA_TOUCH} cd ${SAMBA_SOURCE_DIR} && \ patch -p2 <../../${SAMBA_PATCH} touch $@ patch: ${SAMBA_PATCH_TOUCH} ${SAMBA_AUTOGEN_TOUCH}: ${SAMBA_PATCH_TOUCH} cd ${SAMBA_SOURCE_DIR} && \ ./autogen.sh touch $@ autogen: ${SAMBA_AUTOGEN_TOUCH} # --disable-shared \ # --disable-xmltest \ # --enable-static \ # --bindir=${SAMBA_ROOT} \ # --datadir=${SAMBA_ROOT} \ # --exec-prefix=${SAMBA_ROOT} \ # --includedir=${SAMBA_ROOT} \ # --infodir=${SAMBA_ROOT} \ # --libdir=${SAMBA_ROOT} \ # --libexecdir=${SAMBA_ROOT} \ # --localstatedir=${SAMBA_ROOT} \ # --mandir=${SAMBA_ROOT} \ # --oldincludedir=${SAMBA_ROOT} \ # --prefix=${SAMBA_ROOT} \ # --sbindir=${SAMBA_ROOT} \ # --sharedstatedir=${SAMBA_ROOT} \ # --sysconfdir=${SAMBA_ROOT} \ # --with-privatedir=${SAMBA_TEMP_ROOT} \ # --with-lockdir=${SAMBA_TEMP_ROOT} \ # --with-piddir=${SAMBA_TEMP_ROOT} \ # --with-swatdir=${SAMBA_ROOT}/swatdir \ # --with-configdir=${SAMBA_TEMP_ROOT} \ # --with-logfilebase=${SAMBA_TEMP_ROOT} \ # --with-ads=no ${SAMBA_CONFIGURE_TOUCH}: ${SAMBA_AUTOGEN_TOUCH} cd ${SAMBA_SOURCE_DIR} && \ ./configure --prefix=${SAMBA_ROOT} ${CONFIGURE_OPTIONS} touch $@ configure: ${SAMBA_CONFIGURE_TOUCH} ${SAMBA_MAKE_TOUCH}: ${SAMBA_CONFIGURE_TOUCH} cd ${SAMBA_SOURCE_DIR} && \ make touch $@ make: ${SAMBA_MAKE_TOUCH} ${SAMBA_INSTALL_TOUCH}: ifneq ('$(BARTPE)', '') -subst x: /d -subst b: /d -net use x: /del /y -net use b: /del /y -mkdir -p d:/samba/x -mkdir -p d:/samba/b -subst x: d:\\samba\\x -subst b: d:\\samba\\b endif cd ${SAMBA_SOURCE_DIR} && \ $(SU) make install -find ${SAMBA_ROOT} -type f -name '*.old' | xargs --no-run-if-empty rm -f ifeq ('$(BARTPE)', '') perl -pe 's|\s*;\s*printcap\s+name\s*=|printcap name=|;\ s|/etc/|${SAMBA_ROOT}/lib/|;\ s|/usr/local/samba|${SAMBA_ROOT}|; \ s|/usr/spool/samba|${SAMBA_ROOT}|; \ s|\s*;?\s*guest\s*account\s*=.*|guest account=guest|;' <${SAMBA_DIR}/examples/smb.conf.default >${SMB_CONF} else perl -pe 's|\s*;\s*printcap\s+name\s*=|printcap name=|;\ s|/etc/|${SAMBA_TEMP_ROOT}/|; \ s|/usr/local/samba|${SAMBA_TEMP_ROOT}|; \ s|/usr/spool/samba|${SAMBA_TEMP_ROOT}|; \ s|\s*;?\s*guest\s*account\s*=.*|guest account=guest|;' <${SAMBA_DIR}/examples/smb.conf.default >${SMB_CONF} endif echo "[tmp]" >>${SMB_CONF} echo " comment = /cygdrive/c/windows/temp" >>${SMB_CONF} echo " path = /cygdrive/c/windows/temp" >>${SMB_CONF} echo " readonly = no" >>${SMB_CONF} echo " public = no" >>${SMB_CONF} echo "" >>${SMB_CONF} test -f ${PRINTCAP} || touch ${PRINTCAP} touch ${SAMBA_ROOT}/lib/auth/.create.dir touch ${SAMBA_ROOT}/lib/charset/.create.dir touch ${SAMBA_ROOT}/lib/idmap/.create.dir touch ${SAMBA_ROOT}/lib/pdb/.create.dir touch ${SAMBA_ROOT}/lib/rpc/.create.dir touch ${SAMBA_ROOT}/lib/vfs/.create.dir mkdir -p ${SAMBA_TEMP_ROOT}/var/locks touch ${SAMBA_TEMP_ROOT}/var/locks/.create.dir # password is password echo "SYSTEM:400:E52CAC67419A9A224A3B108F3FA6CB6D:8846F7EAEE8FB117AD06BDD830B7586C:[U ]:LCT-409E4276:" >${SMBPASSWD} echo "Administrator:500:E52CAC67419A9A224A3B108F3FA6CB6D:8846F7EAEE8FB117AD06BDD830B7586C:[U ]:LCT-420C85AA:" >>${SMBPASSWD} echo "Guest:501:E52CAC67419A9A224A3B108F3FA6CB6D:8846F7EAEE8FB117AD06BDD830B7586C:[U ]:LCT-453A9BCF:" >>${SMBPASSWD} echo 127.0.0.1 localhost >${LMHOSTS} unix2dos -D ${SMB_CONF} ${LMHOSTS} ${SMBPASSWD} -cp -prv b:/samba d:/samba/b #cp -p ${SAMBA_SOURCE_DIR}/bin/*.exe ${SAMBA_ROOT} #cp -pr ${SAMBA_ROOT}/lib/* ${SAMBA_ROOT} #rm -fr ${SAMBA_ROOT}/lib #rm -fr ${SAMBA_ROOT}/*.old -cd ${SAMBA_ROOT}/bin && mv -f net.exe smbnet.exe touch $@ install: ${SAMBA_INSTALL_TOUCH} dist: install cp -fpuv d:/src/samba/* ${SAMBA_ROOT} -rm -f ${SAMBA_ROOT}/bin/cyg*.dll cd c:/cygwin/bin && \ cp -fpuv chmod.exe mkpasswd.exe mkgroup.exe kill.exe ps.exe ${SAMBA_ROOT}/bin cp -fpuv --target-directory=${SAMBA_ROOT}/bin `find ${SAMBA_ROOT}/bin ${SAMBA_ROOT}/sbin -name '*.exe' | xargs -L 1 cygcheck | grep -i \.dll | grep -i \\cyg | tr -d ' ' | sort -u` mkdir -p ${SAMBA_ROOT}/etc touch ${SAMBA_ROOT}/etc/passwd touch ${SAMBA_ROOT}/etc/group cp -f ${SAMBA_PATCH} samba cd ${SAMBA_ROOT}/.. && \ zip -r ${CWD}/${SAMBA_ZIP} samba/* bartpe: install mkdir -p ${PEBUILDER_SAMBA_FILES}/samba cp -fpruv ${SAMBA_ROOT}/* ${PEBUILDER_SAMBA_FILES}/samba #unix2dos -D <${SAMBA_DIR}/examples/smb.conf.default >${PEBUILDER_SAMBA_FILES}/ramdrv/smb.conf clean: rm -fr \ *.touch \ ${SAMBA_ZIP} cd ${SAMBA_DIR}/source && \ make clean distclean: clean rm -fr \ ${SAMBA_GZ] \ ${SAMBA_DIR}