2008-02-11 03:42:29 +03:00
#!gmake
2008-02-11 16:48:39 +03:00
# The Samba 4 Makefile.
# This file is *NOT* autogenerated.
2008-06-14 23:40:23 +04:00
#
.DEFAULT_GOAL := all
default : all
2008-02-11 03:42:29 +03:00
i n c l u d e m k c o n f i g . m k
2008-09-17 19:13:02 +04:00
pidldir := $( srcdir) /../pidl
2008-05-19 04:19:32 +04:00
2008-09-30 00:57:16 +04:00
basedir = $( prefix)
2008-11-16 02:58:08 +03:00
torturedir = ../lib/torture
2008-09-30 00:57:16 +04:00
swatdir = $( datadir) /swat
setupdir = $( datadir) /setup
ncalrpcdir = $( localstatedir) /ncalrpc
2008-12-23 03:53:38 +03:00
shliboutputdir = $( builddir) /bin/shared
2008-02-11 03:42:29 +03:00
BNLD = $( LD)
2008-02-20 11:20:13 +03:00
BNLD_FLAGS = $( LDFLAGS) $( SYS_LDFLAGS)
2008-02-11 03:42:29 +03:00
HOSTCC_FLAGS = -D_SAMBA_HOSTCC_ $( CFLAGS)
2008-02-20 11:20:13 +03:00
HOSTLD_FLAGS = $( LDFLAGS) $( SYS_LDFLAGS)
2008-02-11 03:42:29 +03:00
2008-04-14 16:51:57 +04:00
$(srcdir)/version.h : $( srcdir ) /VERSION
@$( SHELL) script/mkversion.sh VERSION $( srcdir) /version.h $( srcdir) /
2008-04-14 18:41:46 +04:00
i f n e q ( $( automatic_dependencies ) , y e s )
2008-05-19 01:02:47 +04:00
ALL_PREDEP = basics
2008-04-14 16:51:57 +04:00
.NOTPARALLEL :
e n d i f
regen_version ::
@$( SHELL) script/mkversion.sh VERSION $( srcdir) /version.h $( srcdir) /
clean_pch ::
@echo "Removing precompiled headers"
@-rm -f include/includes.h.gch
pch :: clean_pch include /includes .h .gch
2008-02-25 20:05:47 +03:00
.DEFAULT_GOAL := all
2008-03-04 12:47:40 +03:00
i f n e q ( $( automatic_dependencies ) , y e s )
2008-05-19 01:02:47 +04:00
ALL_PREDEP = basics
2008-02-25 20:05:47 +03:00
.NOTPARALLEL :
e n d i f
2008-02-11 03:42:29 +03:00
2009-09-28 14:25:13 +04:00
base_srcdirs = $( srcdir) ../librpc/ ../lib/ ../libcli ../libgpo ../nsswitch ../libds
2008-05-23 21:25:05 +04:00
i n c l u d e $( srcdir ) / b u i l d / m a k e / r u l e s . m k
i n c l u d e $( srcdir ) / b u i l d / m a k e / p y t h o n . m k
2008-10-12 20:29:36 +04:00
zlibsrcdir := ../lib/zlib
2008-05-27 18:44:04 +04:00
dynconfigsrcdir := dynconfig
heimdalsrcdir := heimdal
dsdbsrcdir := dsdb
smbdsrcdir := smbd
clustersrcdir := cluster
libnetsrcdir := libnet
authsrcdir := auth
2008-12-16 12:06:04 +03:00
nsswitchsrcdir := ../nsswitch
2009-04-16 16:53:36 +04:00
libwbclientsrcdir := ../nsswitch/libwbclient
2008-05-27 18:44:04 +04:00
libsrcdir := lib
libsocketsrcdir := lib/socket
2008-10-24 02:06:35 +04:00
libcharsetsrcdir := ../lib/util/charset
2008-05-27 18:44:04 +04:00
ldb_sambasrcdir := lib/ldb-samba
2008-09-17 16:11:12 +04:00
tdbsrcdir := ../lib/tdb
2008-06-11 04:52:43 +04:00
ldbsrcdir := lib/ldb
2008-05-27 18:44:04 +04:00
libtlssrcdir := lib/tls
libregistrysrcdir := lib/registry
2008-05-27 21:35:04 +04:00
smbreadlinesrcdir := lib/smbreadline
2008-05-27 18:44:04 +04:00
libmessagingsrcdir := lib/messaging
2008-12-16 21:57:09 +03:00
libteventsrcdir := ../lib/tevent
2008-05-27 18:44:04 +04:00
libeventssrcdir := lib/events
libcmdlinesrcdir := lib/cmdline
2008-09-17 16:11:12 +04:00
poptsrcdir := ../lib/popt
socketwrappersrcdir := ../lib/socket_wrapper
nsswrappersrcdir := ../lib/nss_wrapper
2009-08-05 04:50:03 +04:00
uidwrappersrcdir := ../lib/uid_wrapper
2008-05-27 18:44:04 +04:00
appwebsrcdir := lib/appweb
libstreamsrcdir := lib/stream
2008-10-11 23:05:38 +04:00
libutilsrcdir := ../lib/util
2009-03-14 23:57:44 +03:00
libtdrsrcdir := ../lib/tdr
2008-09-24 17:30:23 +04:00
libcryptosrcdir := ../lib/crypto
2008-11-16 02:58:08 +03:00
libtorturesrcdir := ../lib/torture
2008-05-27 18:44:04 +04:00
smb_serversrcdir := smb_server
2008-09-17 16:11:12 +04:00
libcompressionsrcdir := ../lib/compression
2008-05-27 18:44:04 +04:00
libgencachesrcdir := lib
paramsrcdir := param
rpc_serversrcdir := rpc_server
ldap_serversrcdir := ldap_server
web_serversrcdir := web_server
winbindsrcdir := winbind
nbt_serversrcdir := nbt_server
wrepl_serversrcdir := wrepl_server
cldap_serversrcdir := cldap_server
utilssrcdir := utils
clientsrcdir := client
torturesrcdir := torture
ntvfssrcdir := ntvfs
ntptrsrcdir := ntptr
librpcsrcdir := librpc
libclisrcdir := libcli
2009-02-01 18:08:45 +03:00
libclicommonsrcdir := ../libcli
2008-10-08 14:03:45 +04:00
libclinbtsrcdir := ../libcli/nbt
2008-05-27 18:44:04 +04:00
pyscriptsrcdir := $( srcdir) /scripting/python
kdcsrcdir := kdc
2008-05-28 07:21:26 +04:00
ntp_signdsrcdir := ntp_signd
2008-06-17 16:08:15 +04:00
wmisrcdir := lib/wmi
2008-09-17 16:11:12 +04:00
tallocsrcdir := ../lib/talloc
2008-09-22 01:57:59 +04:00
comsrcdir := $( srcdir) /lib/com
2009-03-01 18:25:57 +03:00
libgpodir := libgpo
2008-05-27 18:44:04 +04:00
2008-02-11 03:42:29 +03:00
i n c l u d e d a t a . m k
2009-06-17 23:00:22 +04:00
INSTALL_SCRIPTS = $( addprefix scripting/bin/, \
autoidl \
samba3dump \
rpcclient \
2009-07-03 04:59:40 +04:00
smbstatus)
2009-06-17 23:00:22 +04:00
$( foreach SCRIPT ,$ ( INSTALL_SCRIPTS ) ,$ ( eval $ ( call binary_install_template ,$ ( SCRIPT ) ) ) )
2008-09-30 02:29:03 +04:00
$(DESTDIR)$(bindir)/% : scripting /bin /% installdirs
@mkdir -p $( @D)
@echo Installing $( @F) as $@
@if test -f $@ ; then echo -n "" ; rm -f $@ .old; mv $@ $@ .old; fi
@cp $< $@
@chmod $( INSTALLPERMS) $@
2008-04-15 03:40:32 +04:00
pythonmods :: $( PYTHON_PYS ) $( PYTHON_SO )
2008-02-25 20:05:47 +03:00
DEP_FILES = $( patsubst %.ho,%.hd,$( patsubst %.o,%.d,$( ALL_OBJS) ) ) \
include/includes.d
2008-03-04 12:47:40 +03:00
i f e q ( $( automatic_dependencies ) , y e s )
2008-02-25 20:05:47 +03:00
i f n e q ( $( MAKECMDGOALS ) , c l e a n )
i f n e q ( $( MAKECMDGOALS ) , d i s t c l e a n )
i f n e q ( $( MAKECMDGOALS ) , r e a l d i s t c l e a n )
i f n e q ( $( SKIP_DEP_FILES ) , y e s )
- i n c l u d e $( DEP_FILES )
e n d i f
e n d i f
e n d i f
e n d i f
i f n e q ( $( SKIP_DEP_FILES ) , y e s )
clean ::
@echo Removing dependency files
@find . -name '*.d' -o -name '*.hd' | xargs rm -f
e n d i f
e l s e
i n c l u d e $( srcdir ) / s t a t i c _ d e p s . m k
e n d i f
2008-09-24 18:10:34 +04:00
clean ::
2009-09-28 14:21:06 +04:00
@find $( base_srcdirs) -name '*.o' -o -name '*.ho' | xargs rm -f
2008-09-24 18:10:34 +04:00
2009-02-26 12:55:00 +03:00
PUBLIC_HEADERS += ./version.h
2008-02-11 03:42:29 +03:00
libraries :: $( STATIC_LIBS ) $( SHARED_LIBS )
2008-02-18 14:26:43 +03:00
modules :: $( PLUGINS )
2009-01-30 19:03:10 +03:00
headers :: $( PUBLIC_HEADERS )
2008-02-11 03:42:29 +03:00
manpages :: $( MANPAGES )
2008-08-01 18:53:52 +04:00
all :: showflags $( ALL_PREDEP ) binaries modules pythonmods libraries headers
2008-03-29 08:06:02 +03:00
everything :: all
2008-02-11 03:42:29 +03:00
2009-07-04 03:07:15 +04:00
LD_LIBPATH_OVERRIDE = $( LIB_PATH_VAR) = $( shliboutputdir) :$$ $( LIB_PATH_VAR)
2008-02-11 03:42:29 +03:00
# 'make testsuite' creates all binaries which are
# needed by samba3's 'make test' and the build-farm
# scripts use that it as fallback in case
# 'make everything' fails
testsuite :: bin /smbclient bin /cifsdd bin /smbtorture bin /nmblookup
showlayout ::
@echo 'Samba will be installed into:'
2008-09-30 00:57:16 +04:00
@echo ' basedir: $(basedir)'
2008-02-11 03:42:29 +03:00
@echo ' bindir: $(bindir)'
@echo ' sbindir: $(sbindir)'
@echo ' libdir: $(libdir)'
@echo ' modulesdir: $(modulesdir)'
@echo ' includedir: $(includedir)'
@echo ' vardir: $(localstatedir)'
@echo ' privatedir: $(privatedir)'
@echo ' piddir: $(piddir)'
@echo ' lockdir: $(lockdir)'
@echo ' logfilebase: $(logfilebase)'
2008-09-30 00:57:16 +04:00
@echo ' setupdir: $(setupdir)'
@echo ' swatdir: $(swatdir)'
2008-02-11 03:42:29 +03:00
@echo ' mandir: $(mandir)'
2008-09-30 00:57:16 +04:00
@echo ' torturedir: $(torturedir)'
2008-02-11 03:42:29 +03:00
@echo ' datadir: $(datadir)'
@echo ' winbindd_socket_dir: $(winbindd_socket_dir)'
2008-05-29 09:20:58 +04:00
@echo ' ntp_signd_socket_dir: $(ntp_signd_socket_dir)'
2008-02-11 03:42:29 +03:00
showflags ::
@echo ' srcdir = $(srcdir)'
@echo ' builddir = $(builddir)'
# The permissions to give the executables
INSTALLPERMS = 0755
2008-09-30 01:34:05 +04:00
install :: showlayout everything installbin installsbin installdat installmisc \
2008-02-11 16:48:39 +03:00
installlib installheader installpc installplugins
2008-02-11 03:42:29 +03:00
# DESTDIR is used here to prevent packagers wasting their time
# duplicating the Makefile. Remove it and you will have the privilege
# of packaging each samba release for multiple versions of multiple
# distributions and operating systems, or at least supplying patches
# to all the packaging files required for this, prior to committing
# the removal of DESTDIR. Do not remove it even though you think it
# is not used.
installdirs ::
@$( SHELL) $( srcdir) /script/installdirs.sh \
2008-09-30 00:57:16 +04:00
$( DESTDIR) $( basedir) \
2008-02-11 03:42:29 +03:00
$( DESTDIR) $( bindir) \
$( DESTDIR) $( sbindir) \
2008-09-30 00:57:16 +04:00
$( DESTDIR) $( torturedir) \
2008-02-11 03:42:29 +03:00
$( DESTDIR) $( libdir) \
$( DESTDIR) $( modulesdir) \
$( DESTDIR) $( mandir) \
$( DESTDIR) $( localstatedir) \
2008-07-01 08:53:31 +04:00
$( DESTDIR) $( localstatedir) /lib \
$( DESTDIR) $( localstatedir) /run \
2008-02-11 03:42:29 +03:00
$( DESTDIR) $( privatedir) \
$( DESTDIR) $( datadir) \
$( DESTDIR) $( piddir) \
$( DESTDIR) $( lockdir) \
$( DESTDIR) $( logfilebase) \
$( DESTDIR) $( privatedir) /tls \
$( DESTDIR) $( includedir) \
2008-09-30 00:57:16 +04:00
$( DESTDIR) $( pkgconfigdir) \
2008-07-01 08:53:31 +04:00
$( DESTDIR) $( sysconfdir)
2008-02-11 03:42:29 +03:00
2008-09-09 23:56:57 +04:00
installbin :: installdirs
2008-02-11 03:42:29 +03:00
2008-02-16 18:22:05 +03:00
installplugins ::
2008-02-16 18:33:04 +03:00
installlib :: $( SHARED_LIBS ) $( STATIC_LIBS ) installdirs
@$( SHELL) $( srcdir) /script/installlib.sh $( DESTDIR) $( libdir) " $( SHLIBEXT) " $( SHARED_LIBS)
2008-02-11 03:42:29 +03:00
#@$(SHELL) $(srcdir)/script/installlib.sh $(DESTDIR)$(libdir) "$(STLIBEXT)" $(STATIC_LIBS)
installheader :: headers installdirs
2009-01-30 19:03:10 +03:00
@srcdir= $( srcdir) builddir = $( builddir) $( PERL) $( srcdir) /script/installheader.pl $( DESTDIR) $( includedir) $( PUBLIC_HEADERS)
2008-02-11 03:42:29 +03:00
installdat :: installdirs
@$( SHELL) $( srcdir) /script/installdat.sh $( DESTDIR) $( datadir) $( srcdir)
installman :: manpages installdirs
@$( SHELL) $( srcdir) /script/installman.sh $( DESTDIR) $( mandir) $( MANPAGES)
installmisc :: installdirs
2008-09-30 02:29:03 +04:00
@$( SHELL) $( srcdir) /script/installmisc.sh $( srcdir) $( DESTDIR) $( setupdir)
2008-02-11 03:42:29 +03:00
installpc :: installdirs
2008-09-30 00:57:16 +04:00
@$( SHELL) $( srcdir) /script/installpc.sh $( builddir) $( DESTDIR) $( pkgconfigdir) $( PC_FILES)
2008-02-11 03:42:29 +03:00
2008-09-30 01:34:05 +04:00
uninstall :: uninstallbin uninstallsbin uninstalldat uninstallmisc uninstalllib uninstallheader \
uninstallman uninstallpc uninstallplugins
2008-02-11 03:42:29 +03:00
uninstallmisc ::
2008-09-30 01:34:05 +04:00
@echo "Removing MISC files"
2008-09-30 02:29:03 +04:00
@rm -rf $( DESTDIR) $( setupdir) /*
2008-02-11 03:42:29 +03:00
2008-06-26 13:51:22 +04:00
$(DESTDIR)$(bindir)/% : bin /% installdirs
@mkdir -p $( @D)
@echo Installing $( @F) as $@
2008-06-27 06:56:20 +04:00
@if test -f $@ ; then echo -n "" ; rm -f $@ .old; mv $@ $@ .old; fi
2008-06-26 13:51:22 +04:00
@cp $< $@
@chmod $( INSTALLPERMS) $@
$(DESTDIR)$(sbindir)/% : bin /% installdirs
@mkdir -p $( @D)
@echo Installing $( @F) as $@
2008-06-27 06:56:20 +04:00
@if test -f $@ ; then echo -n "" ; rm -f $@ .old; mv $@ $@ .old; fi
2008-06-26 13:51:22 +04:00
@cp $< $@
@chmod $( INSTALLPERMS) $@
2008-09-30 01:34:05 +04:00
uninstalldat ::
@echo "Removing DAT files"
@rm -fr $( DESTDIR) $( datadir) /*
2008-02-11 03:42:29 +03:00
uninstallbin ::
uninstalllib ::
2008-09-30 01:34:05 +04:00
@echo "Removing libraries"
2008-02-11 03:42:29 +03:00
@$( SHELL) $( srcdir) /script/uninstalllib.sh $( DESTDIR) $( libdir) $( SHARED_LIBS)
uninstallheader ::
2008-09-30 01:34:05 +04:00
@echo "Removing headers"
@rm -fr $( DESTDIR) $( includedir) /*
2008-02-11 03:42:29 +03:00
uninstallman ::
2008-09-30 01:34:05 +04:00
@echo "Removing manpages"
2008-02-11 03:42:29 +03:00
@$( SHELL) $( srcdir) /script/uninstallman.sh $( DESTDIR) $( mandir) $( MANPAGES)
2008-09-30 02:32:20 +04:00
uninstallplugins ::
2008-09-30 01:34:05 +04:00
uninstallpc ::
@echo "Removing package configurations"
@cd $( DESTDIR) $( pkgconfigdir) ; rm -f $( notdir $( PC_FILES) )
2008-02-16 18:22:05 +03:00
2008-02-11 17:52:34 +03:00
config.status :
@echo "config.status does not exist. Please run ./configure."
@/bin/false
2008-02-11 03:42:29 +03:00
data.mk : config .status $( MK_FILES )
./config.status
2008-02-11 16:48:39 +03:00
testcov-html ::
2008-02-11 03:42:29 +03:00
2008-05-23 21:25:05 +04:00
i n c l u d e $( pidldir ) / c o n f i g . m k
2008-09-18 21:51:03 +04:00
selftestdir := $( srcdir) /../selftest
i n c l u d e $( srcdir ) / s e l f t e s t / c o n f i g . m k
2008-02-11 03:42:29 +03:00
showflags ::
@echo ' pwd = ' ` /bin/pwd`