######################################################################### # Makefile.in for Samba - rewritten for autoconf support # Copyright Andrew Tridgell 1992-2003 # Copyright (C) 2001 by Martin Pool # Copyright (C) 2002 Andrew Bartlett # Copyright (C) 2003 Anthony Liguori # Copyright (C) 2003 James Myers # Copyright (C) 2002-2003 Jelmer Vernooij # Copyright (C) 2004 Stefan Metzmacher ########################################################################### prefix=@prefix@ exec_prefix=@exec_prefix@ LIBS=@LIBS@ @LDAP_LIBS@ @KRB5_LIBS@ @LIBPOPT_LIBS@ CC=@CC@ SHLD=@SHLD@ CFLAGS=@CFLAGS@ CPPFLAGS=@CPPFLAGS@ LDFLAGS=@LDFLAGS@ LDSHFLAGS=@LDSHFLAGS@ @LDFLAGS@ @CFLAGS@ PERL=@PERL@ DYNEXP=@DYNEXP@ VPATH=@srcdir@ srcdir=@srcdir@ builddir=@builddir@ SHELL=/bin/sh BASEDIR= @prefix@ BINDIR = @bindir@ SBINDIR = @sbindir@ LIBDIR = @libdir@ CONFIGDIR = @configdir@ VARDIR = @localstatedir@ # The permissions to give the executables INSTALLPERMS = 0755 # set these to where to find various files # These can be overridden by command line switches (see smbd(8)) # or in smb.conf (see smb.conf(5)) LOGFILEBASE = @logfilebase@ CONFIGFILE = $(CONFIGDIR)/smb.conf LMHOSTSFILE = $(CONFIGDIR)/lmhosts # This is where smbpasswd et al go PRIVATEDIR = @privatedir@ SMB_PASSWD_FILE = $(PRIVATEDIR)/smbpasswd # the directory where lock files go LOCKDIR = @lockdir@ # the directory where pid files go PIDDIR = @piddir@ FLAGS = $(CFLAGS) -Iinclude -I$(srcdir)/include $(CPPFLAGS) -I. -I$(srcdir) -Ilib FLAGS32 = PASSWD_FLAGS = -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" -DPRIVATE_DIR=\"$(PRIVATEDIR)\" PATH_FLAGS1 = -DCONFIGFILE=\"$(CONFIGFILE)\" -DSBINDIR=\"$(SBINDIR)\" PATH_FLAGS2 = $(PATH_FLAGS1) -DBINDIR=\"$(BINDIR)\" PATH_FLAGS3 = $(PATH_FLAGS2) -DLMHOSTSFILE=\"$(LMHOSTSFILE)\" PATH_FLAGS4 = $(PATH_FLAGS3) -DLOCKDIR=\"$(LOCKDIR)\" -DPIDDIR=\"$(PIDDIR)\" PATH_FLAGS5 = $(PATH_FLAGS4) -DLIBDIR=\"$(LIBDIR)\" \ -DLOGFILEBASE=\"$(LOGFILEBASE)\" -DSHLIBEXT=\"@SHLIBEXT@\" PATH_FLAGS6 = $(PATH_FLAGS5) -DCONFIGDIR=\"$(CONFIGDIR)\" PATH_FLAGS = $(PATH_FLAGS6) $(PASSWD_FLAGS) # Note that all executable programs now provide for an optional executable suffix. SBIN_PROGS = bin/smbd@EXEEXT@ BIN_PROGS = bin/smbclient@EXEEXT@ TORTURE_PROGS = bin/smbtorture@EXEEXT@ \ bin/gentest@EXEEXT@ \ bin/locktest@EXEEXT@ \ bin/masktest@EXEEXT@ \ bin/ndrdump@EXEEXT@ LDB_PROGS = bin/ldbadd bin/ldbdel bin/ldbmodify bin/ldbedit bin/ldbsearch CHARSET_MODULES = @CHARSET_MODULES@ CHARSET_LIBDIR = $(LIBDIR)/charset DCERPC_MODULES = @DCERPC_MODULES@ DCERPC_LIBDIR = $(LIBDIR)/dcerpc NTVFS_MODULES = @NTVFS_MODULES@ NTVFS_LIBDIR = $(LIBDIR)/ntvfs MODULES = $(CHARSET_MODULES) $(DCERPC_MODULES) $(NTVFS_MODULES) ###################################################################### # object file lists ###################################################################### CHARSET_OBJS = @CHARSET_OBJS@ LIBLDB_OBJS = @LIBLDB_OBJS@ LIBBASIC_OBJS = @LIBBASIC_OBJS@ LIBBASIC_LIBS = @LIBBASIC_LIBS@ $(LIBS) LIBCLI_RAW_OBJS = @LIBCLI_RAW_OBJS@ LIBCLI_UTILS_OBJS = @LIBCLI_UTILS_OBJS@ LIBCLI_NMB_OBJS = @LIBCLI_NMB_OBJS@ LIBCLI_AUTH_OBJS = @LIBCLI_AUTH_OBJS@ LIBCLI_OBJS = @LIBCLI_OBJS@ LIBNDR_RAW_OBJS = @LIBNDR_RAW_OBJS@ LIBRPC_RAW_OBJS = @LIBRPC_RAW_OBJS@ LIBRPC_OBJS = @LIBRPC_OBJS@ LIBRPC_CLIENT_OBJS = @LIBRPC_CLIENT_OBJS@ LIBSMB_OBJS = @LIBSMB_OBJS@ LIBSMB_LIBS = @LIBSMB_LIBS@ LIBPOPT_OBJS = @LIBPOPT_OBJS@ LIBPOPT_LIBS = @LIBPOPT_LIBS@ LIBCMDLINE_OBJS = @LIBCMDLINE_OBJS@ $(LIBPOPT_OBJS) LIBCMDLINE_LIBS = @LIBCMDLINE_LIBS@ $(LIBPOPT_LIBS) CONFIG_OBJS = @CONFIG_OBJS@ CONFIG_LIBS = @CONFIG_LIBS@ PROCESS_MODEL_OBJS = @PROCESS_MODEL_OBJS@ PROCESS_MODEL_LIBS = @PROCESS_MODEL_LIBS@ SMB_OBJS = @SMB_OBJS@ SMB_LIBS = @SMB_LIBS@ AUTH_OBJS = @AUTH_OBJS@ AUTH_LIBS = @AUTH_LIBS@ PASSDB_OBJS = @PASSDB_OBJS@ PASSDB_LIBS = @PASSDB_LIBS@ NTVFS_OBJS = @NTVFS_OBJS@ NTVFS_LIBS = @NTVFS_LIBS@ DCERPC_OBJS = @DCERPC_OBJS@ DCERPC_LIBS = @DCERPC_LIBS@ REG_OBJS = @REG_OBJS@ REG_LIBS = @REG_LIBS@ GTK_LIBS = @GTK_LIBS@ LIBLDB_OBJS = @LIBLDB_OBJS@ LDBADD_OBJS = @LDBADD_OBJS@ LDBADD_LIBS = $(CONFIG_LIBS) $(LIBSMB_LIBS) $(LIBBASIC_LIBS) LDBDEL_OBJS = @LDBDEL_OBJS@ LDBDEL_LIBS = $(CONFIG_LIBS) $(LIBSMB_LIBS) $(LIBBASIC_LIBS) LDBMODIFY_OBJS = @LDBMODIFY_OBJS@ LDBMODIFY_LIBS = $(CONFIG_LIBS) $(LIBSMB_LIBS) $(LIBBASIC_LIBS) LDBSEARCH_OBJS = @LDBSEARCH_OBJS@ LDBSEARCH_LIBS = $(CONFIG_LIBS) $(LIBSMB_LIBS) $(LIBBASIC_LIBS) LDBEDIT_OBJS = @LDBEDIT_OBJS@ LDBEDIT_LIBS = $(CONFIG_LIBS) $(LIBSMB_LIBS) $(LIBBASIC_LIBS) TORTURE_RAW_OBJS = @TORTURE_RAW_OBJS@ TORTURE_RPC_OBJS = @TORTURE_RPC_OBJS@ TORTURE_NBENCH_OBJS = @TORTURE_NBENCH_OBJS@ TORTURE_BASIC_OBJS = @TORTURE_BASIC_OBJS@ DCERPC_COMMON_OBJS = @DCERPC_COMMON_OBJS@ TORTURE_OBJS = @TORTURE_OBJS@ TORTURE_LIBS = @TORTURE_LIBS@ CLIENT_OBJS = client/client.o client/clitar.o libcli/raw/clirewrite.o CLIENT_LIBS = SERVER_OBJS = smbd/server.o smbd/process.o \ lib/server_mutex.o \ smbd/build_options.o \ smbd/rewrite.o SERVER_LIBS = SMBD_OBJS = $(SERVER_OBJS) $(PROCESS_MODEL_OBJS) \ $(DCERPC_OBJS) $(SMB_OBJS) $(AUTH_OBJS) $(PASSDB_OBJS) $(NTVFS_OBJS) \ $(LIBBASIC_OBJS) $(CONFIG_OBJS) $(LIBCMDLINE_OBJS) $(LIBSMB_OBJS) \ $(LIBLDB_OBJS) SMBD_LIBS = $(SERVER_LIBS) $(PROCESS_MODEL_LIBS) \ $(DCERPC_LIBS) $(SMB_LIBS) $(AUTH_LIBS) $(PASSDB_LIBS) $(NTVFS_LIBS) \ $(LIBBASIC_LIBS) $(CONFIG_LIBS) $(LIBCMDLINE_LIBS) $(LIBSMB_LIBS) SMBCLIENT_OBJS = $(CLIENT_OBJS) $(LIBSMB_OBJS) $(CONFIG_OBJS) $(LIBBASIC_OBJS) $(LIBCMDLINE_OBJS) SMBCLIENT_LIBS = $(CLIENT_LIBS) $(LIBSMB_LIBS) $(CONFIG_LIBS) $(LIBBASIC_LIBS) $(LIBCMDLINE_LIBS) SMBTORTURE_OBJS = $(TORTURE_OBJS) $(CONFIG_OBJS) $(LIBSMB_OBJS) $(LIBBASIC_OBJS) SMBTORTURE_LIBS = $(TORTURE_LIBS) $(CONFIG_LIBS) $(LIBSMB_LIBS) $(LIBBASIC_LIBS) GENTEST_OBJS = torture/gentest.o torture/torture_util.o libcli/raw/clirewrite.o \ $(LIBSMB_OBJS) $(CONFIG_OBJS) $(LIBBASIC_OBJS) GENTEST_LIBS = $(LIBSMB_LIBS) $(CONFIG_LIBS) $(LIBBASIC_LIBS) MASKTEST_OBJS = torture/masktest.o libcli/raw/clirewrite.o \ $(LIBSMB_OBJS) $(CONFIG_OBJS) $(LIBBASIC_OBJS) MASKTEST_LIBS = $(LIBSMB_LIBS) $(CONFIG_LIBS) $(LIBBASIC_LIBS) LOCKTEST_OBJS = torture/locktest.o libcli/raw/clirewrite.o \ $(LIBSMB_OBJS) $(CONFIG_OBJS) $(LIBBASIC_OBJS) LOCKTEST_LIBS = $(LIBSMB_LIBS) $(CONFIG_LIBS) $(LIBBASIC_LIBS) NDRDUMP_OBJS = utils/ndrdump.o utils/rewrite.o \ $(LIBSMB_OBJS) $(CONFIG_OBJS) $(LIBBASIC_OBJS) NDRDUMP_LIBS = $(LIBSMB_LIBS) $(CONFIG_LIBS) $(LIBBASIC_LIBS) REGTREE_OBJ = $(REG_OBJS) lib/registry/tools/regtree.o $(LIBBASIC_OBJS) $(CONFIG_OBJS) $(LIBSMB_OBJS) GREGEDIT_OBJ = $(REG_OBJS) lib/registry/tools/gregedit.o $(LIBBASIC_OBJS) $(CONFIG_OBJS) $(LIBSMB_OBJS) REGSHELL_OBJ = $(REG_OBJS) lib/registry/tools/regshell.o $(LIBBASIC_OBJS) $(CONFIG_OBJS) $(LIBCMDLINE_OBJS) $(LIBSMB_OBJS) REGPATCH_OBJ = $(REG_OBJS) lib/registry/tools/regpatch.o $(LIBBASIC_OBJS) $(CONFIG_OBJS) $(LIBSMB_OBJS) REGDIFF_OBJ = $(REG_OBJS) lib/registry/tools/regdiff.o $(LIBBASIC_OBJS) $(CONFIG_OBJS) $(LIBSMB_OBJS) PROTO_OBJ = $(SERVER_OBJS) $(PROCESS_MODEL_OBJS) $(CLIENT_OBJS) $(TORTURE_OBJS) \ $(DCERPC_OBJS) $(SMB_OBJS) $(AUTH_OBJS) $(PASSDB_OBJS) $(NTVFS_OBJS) \ $(LIBBASIC_OBJS) $(LIBLDB_OBJS) $(CONFIG_OBJS) $(LIBCMDLINE_OBJS) $(LIBSMB_OBJS) $(REG_OBJS) ###################################################################### # now the rules... ###################################################################### all: SHOWFLAGS $(SBIN_PROGS) $(BIN_PROGS) $(TORTURE_PROGS) $(LDB_PROGS) $(MODULES) torture : SHOWFLAGS $(TORTURE_PROGS) smbtorture : SHOWFLAGS bin/smbtorture@EXEEXT@ gentest: SHOWFLAGS bin/gentest@EXEEXT@ masktest : SHOWFLAGS bin/masktest@EXEEXT@ locktest : SHOWFLAGS bin/locktest@EXEEXT@ modules: SHOWFLAGS proto_exists $(MODULES) everything: all .SUFFIXES: .SUFFIXES: .c .o .po .po32 .lo SHOWFLAGS: basics @echo "Using FLAGS = $(FLAGS)" @echo " FLAGS32 = $(FLAGS32)" @echo " LIBS = $(LIBS)" @echo " LDSHFLAGS = $(LDSHFLAGS)" @echo " LDFLAGS = $(LDFLAGS)" MAKEDIR = || exec false; \ if test -d "$$dir"; then :; else \ echo mkdir "$$dir"; \ mkdir -p "$$dir" >/dev/null 2>&1 || \ test -d "$$dir" || \ mkdir "$$dir" || \ exec false; fi || exec false .c.o: @echo Compiling $*.c @$(CC) -I. -I$(srcdir) $(FLAGS) -c $< \ -o $@ @BROKEN_CC@ -mv `echo $@ | sed 's%^.*/%%g'` $@ # 'make pch' is extremely useful for fast compiles if you have gcc-3.4 pch: basics rm -f $(srcdir)/include/includes.h.gch $(CC) -I. -I$(srcdir) $(FLAGS) -c $(srcdir)/include/includes.h -o $(srcdir)/include/includes.h.gch idl_full: build/pidl/idl.pm CPP="@CPP@" script/build_idl.sh FULL idl: build/pidl/idl.pm @CPP="@CPP@" script/build_idl.sh basics: idl proto_test build/pidl/idl.pm: build/pidl/idl.yp -yapp -s build/pidl/idl.yp # These dependencies are only approximately correct: we want to make # sure Samba's paths are updated if ./configure is re-run. Really it # would be nice if "make prefix=/opt/samba all" also rebuilt things, # but since we also require "make install prefix=/opt/samba" *not* to # rebuild it's a bit hard. dynconfig.o: dynconfig.c Makefile @echo Compiling $*.c @$(CC) $(FLAGS) $(PATH_FLAGS) -c $< -o $@ dynconfig.po: dynconfig.c Makefile @if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \ dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi @echo Compiling $*.c with @PICFLAG@ @$(CC) -I. -I$(srcdir) $(FLAGS) $(PATH_FLAGS) @PICFLAG@ -c $< -o $*.@PICSUFFIX@ @BROKEN_CC@ -mv `echo $@ | sed -e 's%^.*/%%g' -e 's%\.po$$%.o%'` $@ @POBAD_CC@ @mv $*.po.o $@ lib/version.o: lib/version.c include/version.h @echo Compiling $*.c @$(CC) -I. -I$(srcdir) $(FLAGS) $(PATH_FLAGS) -c $< -o $@ lib/version.po: lib/version.c include/version.h @if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \ dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi @echo Compiling $*.c with @PICFLAG@ @$(CC) -I. -I$(srcdir) $(FLAGS) $(PATH_FLAGS) @PICFLAG@ -c $< -o $*.@PICSUFFIX@ @BROKEN_CC@ -mv `echo $@ | sed -e 's%^.*/%%g' -e 's%\.po$$%.o%'` $@ @POBAD_CC@ @mv $*.po.o $@ .c.po: @if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \ dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi @echo Compiling $*.c with @PICFLAG@ @$(CC) -I. -I$(srcdir) $(FLAGS) @PICFLAG@ -c $< -o $*.@PICSUFFIX@ @BROKEN_CC@ -mv `echo $@ | sed -e 's%^.*/%%g' -e 's%\.po$$%.o%'` $@ @POBAD_CC@ @mv $*.po.o $@ # this is for IRIX .c.po32: @if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \ dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi @echo Compiling $*.c with @PICFLAG@ and -32 @$(CC) -32 -I. -I$(srcdir) $(FLAGS32) $(PATH_FLAGS) @PICFLAG@ -c $< \ -o $*.po32.o @BROKEN_CC@ -mv `echo $@ | sed -e 's%^.*/%%g' -e 's%\.po32$$%.o%'` $@.o @mv $*.po32.o $@ bin/.dummy: @if (: >> $@ || : > $@) >/dev/null 2>&1; then :; else \ dir=bin $(MAKEDIR); fi @: >> $@ || : > $@ # what a fancy emoticon! bin/smbd@EXEEXT@: $(SMBD_OBJS) bin/.dummy @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(SMBD_OBJS) $(LDFLAGS) $(DYNEXP) $(SMBD_LIBS) bin/smbclient@EXEEXT@: $(SMBCLIENT_OBJS) bin/.dummy @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(SMBCLIENT_OBJS) $(LDFLAGS) $(SMBCLIENT_LIBS) bin/smbtorture@EXEEXT@: $(SMBTORTURE_OBJS) bin/.dummy @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(SMBTORTURE_OBJS) $(LDFLAGS) $(SMBTORTURE_LIBS) bin/ldbadd@EXEEXT@: $(LDBADD_OBJS) bin/.dummy @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(LDBADD_OBJS) $(LDFLAGS) $(LDBADD_LIBS) bin/ldbdel@EXEEXT@: $(LDBDEL_OBJS) bin/.dummy @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(LDBDEL_OBJS) $(LDFLAGS) $(LDBADD_LIBS) bin/ldbmodify@EXEEXT@: $(LDBMODIFY_OBJS) bin/.dummy @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(LDBMODIFY_OBJS) $(LDFLAGS) $(LDBADD_LIBS) bin/ldbsearch@EXEEXT@: $(LDBSEARCH_OBJS) bin/.dummy @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(LDBSEARCH_OBJS) $(LDFLAGS) $(LDBADD_LIBS) bin/ldbedit@EXEEXT@: $(LDBEDIT_OBJS) bin/.dummy @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(LDBEDIT_OBJS) $(LDFLAGS) $(LDBADD_LIBS) bin/ndrdump@EXEEXT@: $(NDRDUMP_OBJS) bin/.dummy @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(NDRDUMP_OBJS) $(LDFLAGS) $(NDRDUMP_LIBS) bin/gentest@EXEEXT@: $(GENTEST_OBJS) bin/.dummy @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(GENTEST_OBJS) $(LDFLAGS) $(GENTEST_LIBS) bin/masktest@EXEEXT@: $(MASKTEST_OBJS) bin/.dummy @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(MASKTEST_OBJS) $(LDFLAGS) $(MASKTEST_LIBS) bin/locktest@EXEEXT@: $(LOCKTEST_OBJS) bin/.dummy @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(LOCKTEST_OBJS) $(LDFLAGS) $(LOCKTEST_LIBS) bin/regshell@EXEEXT@: $(REGSHELL_OBJ) bin/.dummy @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(REGSHELL_OBJ) $(LDFLAGS) $(LIBS) $(REG_LIBS) $(LIBCMDLINE_LIBS) bin/regtree@EXEEXT@: $(REGTREE_OBJ) bin/.dummy @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(REGTREE_OBJ) $(LDFLAGS) $(LIBS) $(REG_LIBS) bin/gregedit@EXEEXT@: $(GREGEDIT_OBJ) bin/.dummy @echo Linking $@ @$(CC) $(FLGS) -o $@ $(GREGEDIT_OBJ) $(LDFLAGS) $(LIBS) $(REG_LIBS) $(GTK_LIBS) bin/regpatch@EXEEXT@: $(REGPATCH_OBJ) bin/.dummy @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(REGPATCH_OBJ) $(LDFLAGS) $(LIBS) $(REG_LIBS) bin/regdiff@EXEEXT@: $(REGDIFF_OBJ) bin/.dummy @echo Linking $@ @$(CC) $(FLAGS) -o $@ $(REGDIFF_OBJ) $(LDFLAGS) $(LIBS) $(REG_LIBS) install: installbin installtorture installdat # DESTDIR is used here to prevent packagers wasting their time # duplicating the Makefile. Remove it and you will have the privelege # of package each samba release for muliple 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 $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(PRIVATEDIR) $(DESTDIR)$(PIDDIR) $(DESTDIR)$(LOCKDIR) @$(SHELL) $(srcdir)/script/installdirs.sh $(DESTDIR)$(BASEDIR) $(DESTDIR)$(CHARSET_LIBDIR) $(DESTDIR)$(DCERPC_LIBDIR) $(DESTDIR)$(NTVFS_LIBDIR) installservers: all installdirs @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS) installbin: all installdirs @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS) @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(BIN_PROGS) installtorture: all installdirs @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(TORTURE_PROGS) installmodules: all installdirs @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(NTVFS_LIBDIR) $(NTVFS_MODULES) @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(DCERPC_LIBDIR) $(DCERPC_MODULES) @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(CHARSET_LIBDIR) $(CHARSET_MODULES) installdat: installdirs @$(SHELL) $(srcdir)/script/installdat.sh $(DESTDIR)$(LIBDIR) $(srcdir) # revert to the previously installed version revert: @$(SHELL) $(srcdir)/script/revert.sh $(SBINDIR) $(SBIN_PROGS) .PHONY: showlayout showlayout: @echo "Samba will be installed into:" @echo " basedir: $(BASEDIR)" @echo " bindir: $(BINDIR)" @echo " sbindir: $(SBINDIR)" @echo " libdir: $(LIBDIR)" @echo " vardir: $(VARDIR)" uninstall: uninstallbin uninstalltorture uninstallbin: @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(SBIN_PROGS) @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(BIN_PROGS) uninstalltorture: @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(TORTURE_PROGS) uninstallmodules: @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(NTVFS_LIBDIR) $(DESTDIR)$(NTVFS_MODULES) @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(DCERPC_LIBDIR) $(DESTDIR)$(DCERPC_MODULES) @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(CHARSET_LIBDIR) $(DESTDIR)$(CHARSET_MODULES) # Toplevel clean files TOPFILES=dynconfig.o dynconfig.po clean: delheaders -rm -f core */*~ *~ */*.o */*/*.o */*/*/*.o */*/*.po */*/*.po32 */*.po */*.po32 */*.@SHLIBEXT@ \ $(TOPFILES) $(BIN_PROGS) $(SBIN_PROGS) $(MODULES) $(TORTURE_PROGS) \ .headers.stamp -rm -rf librpc/gen_* # Making this target will just make sure that the prototype files # exist, not necessarily that they are up to date. Since they're # removed by "make clean" this will always be run when you do anything # afterwards. proto_exists: include/proto.h include/build_env.h delheaders: @/bin/rm -f $(srcdir)/include/proto.h $(srcdir)/include/build_env.h include/proto.h: @cd $(srcdir) && $(SHELL) script/mkproto.sh $(PERL) \ -h _PROTO_H_ $(builddir)/include/proto.h \ $(PROTO_OBJ) include/build_env.h: @echo Building include/build_env.h @cd $(srcdir) && $(SHELL) script/build_env.sh $(srcdir) $(builddir) $(CC) > $(builddir)/include/build_env.h # "make headers" or "make proto" calls a subshell because we need to # make sure these commands are executed in sequence even for a # parallel make. headers: delheaders include/proto.h include/build_env.h proto: idl headers proto_test: @[ -f include/proto.h ] || $(MAKE) proto .PHONY: headers proto etags: etags `find $(srcdir) -name "*.[ch]" | grep -v /CVS/` ctags: ctags `find $(srcdir) -name "*.[ch]" | grep -v /CVS/` realclean: clean delheaders -rm -f config.log bin/.dummy distclean: realclean -rm -f include/config.h Makefile -rm -f config.status config.cache realdistclean: distclean -rm -f include/config.h.in -rm -f lib/version.h -rm -f configure # when configure.in is updated, reconfigure $(srcdir)/configure: $(srcdir)/configure.in @echo "WARNING: you need to rerun ./autogen.sh" config.status: $(srcdir)/configure @echo "WARNING: you need to run configure" Makefile: $(srcdir)/Makefile.in config.status smb_server/config.m4 @echo "WARNING: you need to run ./config.status"