1 # master list of build config files for Samba4
2 include heimdal_build/config.mk
7 include smbd/process_model.mk
8 include libnet/config.mk
10 include nsswitch/config.mk
12 include param/config.mk
13 include smb_server/config.mk
14 include rpc_server/config.mk
15 include ldap_server/config.mk
16 include web_server/config.mk
17 include winbind/config.mk
18 include nbt_server/config.mk
19 include wrepl_server/config.mk
20 include cldap_server/config.mk
21 include utils/net/config.mk
22 include utils/config.mk
23 include ntvfs/config.mk
24 include ntptr/config.mk
25 include torture/config.mk
26 include librpc/config.mk
27 include client/config.mk
28 include libcli/config.mk
29 include scripting/config.mk
32 all: binary_asn1_compile binary_compile_et binaries
33 binaries: $(BIN_PROGS) $(SBIN_PROGS)
38 @echo "Samba will be installed into:"
39 @echo " basedir: $(BASEDIR)"
40 @echo " bindir: $(BINDIR)"
41 @echo " sbindir: $(SBINDIR)"
42 @echo " libdir: $(LIBDIR)"
43 @echo " vardir: $(VARDIR)"
44 @echo " privatedir: $(PRIVATEDIR)"
45 @echo " piddir: $(PIDDIR)"
46 @echo " lockdir: $(LOCKDIR)"
47 @echo " swatdir: $(SWATDIR)"
48 @echo " mandir: $(MANDIR)"
51 @echo "Samba will be compiled with flags:"
52 @echo " CFLAGS = $(CFLAGS)"
53 @echo " LD_FLAGS = $(LD_FLAGS)"
54 @echo " STLD_FLAGS = $(STLD_FLAGS)"
55 @echo " SHLD_FLAGS = $(SHLD_FLAGS)"
56 @echo " LIBS = $(LIBS)"
58 install: showlayout installbin installdat installswat installmisc
60 # DESTDIR is used here to prevent packagers wasting their time
61 # duplicating the Makefile. Remove it and you will have the privilege
62 # of packaging each samba release for multiple versions of multiple
63 # distributions and operating systems, or at least supplying patches
64 # to all the packaging files required for this, prior to committing
65 # the removal of DESTDIR. Do not remove it even though you think it
69 @$(SHELL) $(srcdir)/script/installdirs.sh $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(PRIVATEDIR) $(DESTDIR)$(PIDDIR) $(DESTDIR)$(LOCKDIR) $(DESTDIR)$(PRIVATEDIR)/tls
71 installbin: binaries installdirs
72 @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS)
73 @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(BIN_PROGS)
75 installdat: installdirs
76 @$(SHELL) $(srcdir)/script/installdat.sh $(DESTDIR)$(LIBDIR) $(srcdir)
78 installswat: installdirs
79 @$(SHELL) $(srcdir)/script/installswat.sh $(DESTDIR)$(SWATDIR) $(srcdir) $(DESTDIR)$(LIBDIR)
81 installman: installdirs
82 @$(SHELL) $(srcdir)/script/installman.sh $(DESTDIR)$(MANDIR) $(MANPAGES)
84 installmisc: installdirs
85 @$(SHELL) $(srcdir)/script/installmisc.sh $(srcdir) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(BINDIR)
87 uninstall: uninstallbin uninstallman uninstallmisc
93 @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(SBIN_PROGS)
94 @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(BIN_PROGS)
97 @$(SHELL) $(srcdir)/script/uninstallman.sh $(DESTDIR)$(MANDIR) $(MANPAGES)
101 etags `find $(srcdir) -name "*.[ch]"`
104 ctags `find $(srcdir) -name "*.[ch]"`
106 idl_full: pidl/lib/Parse/Pidl/IDL.pm
107 @CPP="$(CPP)" PERL="$(PERL)" script/build_idl.sh FULL $(PIDL_ARGS)
109 idl: pidl/lib/Parse/Pidl/IDL.pm
110 @CPP="$(CPP)" PERL="$(PERL)" script/build_idl.sh PARTIAL $(PIDL_ARGS)
112 pidl/lib/Parse/Pidl/IDL.pm: pidl/idl.yp
113 -$(YAPP) -s -m 'Parse::Pidl::IDL' -o pidl/lib/Parse/Pidl/IDL.pm pidl/idl.yp
115 smb_interfaces: pidl/smb_interfaces.pm
116 $(PERL) -Ipidl script/build_smb_interfaces.pl \
117 include/smb_interfaces.h
119 pidl/smb_interfaces.pm: pidl/smb_interfaces.yp
120 -$(YAPP) -s -m 'smb_interfaces' -o pidl/smb_interfaces.pm pidl/smb_interfaces.yp
123 @echo "include/config.h not present"
124 @echo "You need to rerun ./autogen.sh and ./configure"
127 include/proto.h: $(PROTO_PROTO_OBJS:.o=.c)
128 @-rm -f include/includes.h.gch
129 @$(SHELL) script/mkproto.sh "$(PERL)" \
130 -h _PROTO_H_ include/proto.h \
132 @touch include/proto.h
134 proto: include/proto.h
135 pch: include/config.h \
138 include/includes.h.gch
140 basics: include/config.h \
145 test: $(DEFAULT_TEST_TARGET)
148 ./script/tests/selftest.sh ${selftest_prefix}/st all SOCKET_WRAPPER
151 ./script/tests/selftest.sh ${selftest_prefix}/st all
154 ./script/tests/selftest.sh ${selftest_prefix}/st quick SOCKET_WRAPPER
157 SMBD_VALGRIND="xterm -n smbd -e valgrind -q --db-attach=yes --num-callers=30" \
158 ./script/tests/selftest.sh ${selftest_prefix}/st quick SOCKET_WRAPPER
161 @echo "Building $< with $(YACC)"
162 @-$(srcdir)/script/yacc_compile.sh "$(YACC)" "$<" "$@"
165 @echo "Building $< with $(LEX)"
166 @-$(srcdir)/script/lex_compile.sh "$(LEX)" "$<" "$@"