make target selection nicer, choose arch automatically
[openwrt.git] / openwrt / package / samba / Makefile
index 5491f15..584ed9a 100644 (file)
@@ -17,12 +17,49 @@ include $(TOPDIR)/package/rules.mk
 $(eval $(call PKG_template,SAMBA,samba,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
 $(eval $(call PKG_template,SAMBA_CLIENT,samba-client,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
 
-$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
-       (cd $(PKG_BUILD_DIR)/source; \
+$(PKG_BUILD_DIR)/.configured:
+       touch $@
+
+$(PKG_BUILD_DIR)/.built:
+       rm -rf $(PKG_INSTALL_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       (cd $(PKG_BUILD_DIR)/source ; rm -rf config.{cache,status} ; \
+               ./configure \
+                       --program-prefix="" \
+                       --program-suffix="" \
+                       --prefix=/usr \
+                       --exec-prefix=/usr \
+                       --bindir=/usr/bin \
+                       --datadir=/usr/share \
+                       --includedir=/usr/include \
+                       --infodir=/usr/share/info \
+                       --libdir=/usr/lib \
+                       --libexecdir=/usr/lib \
+                       --localstatedir=/var/log/samba \
+                       --mandir=/usr/share/man \
+                       --sbindir=/usr/sbin \
+                       --sysconfdir=/etc/samba \
+                       $(DISABLE_LARGEFILE) \
+                       $(DISABLE_NLS) \
+                       --with-lockdir=/var/run/samba \
+                       --with-privatedir=/etc/samba \
+       );
+       $(MAKE) -C $(PKG_BUILD_DIR)/source \
+               bin/make_smbcodepage bin/make_unicodemap
+       (cd $(PKG_BUILD_DIR)/source/bin ; \
+               mv -f make_smbcodepage make_smbcodepage.old ; \
+               mv -f make_unicodemap make_unicodemap.old ; \
+       );
+
+       $(MAKE) -C $(PKG_BUILD_DIR)/source \
+               clean
+
+       (cd $(PKG_BUILD_DIR)/source; rm -rf config.{cache,status}; \
                $(TARGET_CONFIGURE_OPTS) \
                CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE -DNDEBUG -DSHMEM_SIZE=524288 -Dfcntl=fcntl64" \
                CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
-               LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
+               LDFLAGS="-lgcc_s -L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
+               ac_cv_lib_cups_httpConnect=no \
                ac_cv_sizeof_int=4 \
                ac_cv_sizeof_long=4 \
                ac_cv_sizeof_short=2 \
@@ -82,14 +119,32 @@ $(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
                        $(DISABLE_NLS) \
                        --with-lockdir=/var/run/samba \
                        --with-privatedir=/etc/samba \
-                       --enable-cups \
+                       --with-syslog \
        );
-       touch $@
-
-$(PKG_BUILD_DIR)/.built:
        $(MAKE) -C $(PKG_BUILD_DIR)/source \
                $(TARGET_CONFIGURE_OPTS) \
-               all
+               CODEPAGEDIR="/usr/share/samba" \
+               all shared
+       (cd $(PKG_BUILD_DIR)/source/bin ; \
+               mv -f make_smbcodepage.old make_smbcodepage ; touch make_smbcodepage ; \
+               mv -f make_unicodemap.old make_unicodemap ; touch make_unicodemap ; \
+       );
+       mkdir -p $(PKG_INSTALL_DIR)/usr/share/samba
+       mkdir -p $(PKG_INSTALL_DIR)/var/log
+       $(MAKE) -C $(PKG_BUILD_DIR)/source \
+               BASEDIR="$(PKG_INSTALL_DIR)/usr" \
+               BINDIR="$(PKG_INSTALL_DIR)/usr/bin" \
+               SBINDIR="$(PKG_INSTALL_DIR)/usr/bin" \
+               LIBDIR="$(PKG_INSTALL_DIR)/usr/lib" \
+               VARDIR="$(PKG_INSTALL_DIR)/var/log/samba" \
+               MANDIR="$(PKG_INSTALL_DIR)/usr/share/man" \
+               CONFIGDIR="$(PKG_INSTALL_DIR)/etc/samba" \
+               PRIVATEDIR="$(PKG_INSTALL_DIR)/etc/samba" \
+               SWATDIR="$(PKG_INSTALL_DIR)/usr/swat" \
+               LOCKDIR="$(PKG_INSTALL_DIR)/var/run/samba" \
+               SAMBABOOK="$(PKG_INSTALL_DIR)/usr/swat/using_samba" \
+               CODEPAGEDIR="$(PKG_INSTALL_DIR)/usr/share/samba" \
+               install
        touch $@
 
 $(IPKG_SAMBA):
@@ -98,18 +153,25 @@ $(IPKG_SAMBA):
        install -d -m0755 $(IDIR_SAMBA)/etc/samba
        install -m0644 ./files/smb.conf $(IDIR_SAMBA)/etc/samba/smb.conf
        install -d -m0755 $(IDIR_SAMBA)/usr/bin
-       install -m0755 $(PKG_BUILD_DIR)/source/bin/smbpasswd $(IDIR_SAMBA)/usr/bin/
+       install -m0755 $(PKG_BUILD_DIR)/source/bin/smbpasswd.shared $(IDIR_SAMBA)/usr/bin/smbpasswd
+       install -d -m0755 $(IDIR_SAMBA)/usr/lib
+       install -m0755 $(PKG_BUILD_DIR)/source/bin/libsmb.so $(IDIR_SAMBA)/usr/lib/
        install -d -m0755 $(IDIR_SAMBA)/usr/sbin
-       install -m0755 $(PKG_BUILD_DIR)/source/bin/{n,s}mbd $(IDIR_SAMBA)/usr/sbin/
+       install -m0755 $(PKG_BUILD_DIR)/source/bin/nmbd.shared $(IDIR_SAMBA)/usr/sbin/nmbd
+       install -m0755 $(PKG_BUILD_DIR)/source/bin/smbd.shared $(IDIR_SAMBA)/usr/sbin/smbd
+       install -d -m0755 $(IDIR_SAMBA)/usr/share/samba
+       install -m0644 $(PKG_INSTALL_DIR)/usr/share/samba/codepage.{437,850} $(IDIR_SAMBA)/usr/share/samba/
+       install -m0644 $(PKG_INSTALL_DIR)/usr/share/samba/unicode_map.{437,850} $(IDIR_SAMBA)/usr/share/samba/
        $(RSTRIP) $(IDIR_SAMBA)
        $(IPKG_BUILD) $(IDIR_SAMBA) $(PACKAGE_DIR)
 
 $(IPKG_SAMBA_CLIENT):
        install -d -m0755 $(IDIR_SAMBA_CLIENT)/usr/bin
-       install -m0755 $(PKG_BUILD_DIR)/source/bin/smbclient $(IDIR_SAMBA_CLIENT)/usr/bin/
+       install -m0755 $(PKG_INSTALL_DIR)/usr/bin/smbclient $(IDIR_SAMBA_CLIENT)/usr/bin/
        $(RSTRIP) $(IDIR_SAMBA_CLIENT)
        $(IPKG_BUILD) $(IDIR_SAMBA_CLIENT) $(PACKAGE_DIR)
 
 mostlyclean:
-       make -C $(PKG_BUILD_DIR) clean
-       rm $(PKG_BUILD_DIR)/.built
+       -$(MAKE) -C $(PKG_BUILD_DIR) clean
+       rm -f $(PKG_BUILD_DIR)/.built
+
This page took 0.022865 seconds and 4 git commands to generate.