1
GTK_FLAGS=`pkg-config gtk+-2.0 --cflags`
2
GTK_LIBS=`pkg-config gtk+-2.0 --libs`
4
KRB5LIBS=-Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err
5
LDAP_LIBS=-lldap -llber
6
LIBS=-lcrypt -lresolv -lnsl -ldl -lnetapi -ltdb -ltalloc
7
DEVELOPER_CFLAGS=-g -Wall -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -DDEBUG_PASSWORD -DDEVELOPER -Wdeclaration-after-statement -Werror-implicit-function-declaration
8
FLAGS=-I../ -L../../../bin -O -D_SAMBA_BUILD_=3 $(GTK_FLAGS)
11
LDFLAGS=-pie -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -L./bin -L/usr/lib32
12
DYNEXP=-Wl,--export-dynamic
13
NETAPI_LIBS=$(LIBS) $(KRB5LIBS) $(LDAP_LIBS)
14
CMDLINE_LIBS=$(NETAPI_LIBS) -lpopt
16
# Compile a source file.
17
COMPILE_CC = $(CC) -I. $(FLAGS) $(PICFLAG) -c $< -o $@
18
COMPILE = $(COMPILE_CC)
32
MAKEDIR = || exec false; \
33
if test -d "$$dir"; then :; else \
35
mkdir -p "$$dir" >/dev/null 2>&1 || \
38
exec false; fi || exec false
40
BINARY_PREREQS = bin/.dummy
43
@if (: >> $@ || : > $@) >/dev/null 2>&1; then :; else \
44
dir=bin $(MAKEDIR); fi
45
@: >> $@ || : > $@ # what a fancy emoticon!
48
@if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \
49
dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi
51
@$(COMPILE) && exit 0;\
52
echo "The following command failed:" 1>&2;\
53
echo "$(COMPILE_CC)" 1>&2;\
54
$(COMPILE_CC) >/dev/null 2>&1
56
CMDLINE_OBJ = common.o
57
GETDC_OBJ = getdc/getdc.o $(CMDLINE_OBJ)
58
DSGETDC_OBJ = dsgetdc/dsgetdc.o $(CMDLINE_OBJ)
59
NETDOMJOIN_OBJ = netdomjoin/netdomjoin.o $(CMDLINE_OBJ)
60
NETDOMJOIN_GUI_OBJ = netdomjoin-gui/netdomjoin-gui.o
61
GETJOINABLEOUS_OBJ = getjoinableous/getjoinableous.o $(CMDLINE_OBJ)
62
USERADD_OBJ = user/user_add.o $(CMDLINE_OBJ)
63
USERDEL_OBJ = user/user_del.o $(CMDLINE_OBJ)
64
USERENUM_OBJ = user/user_enum.o $(CMDLINE_OBJ)
65
USERDISPINFO_OBJ = user/user_dispinfo.o $(CMDLINE_OBJ)
67
bin/getdc: $(BINARY_PREREQS) $(GETDC_OBJ)
69
@$(CC) $(FLAGS) -o $@ $(GETDC_OBJ) $(LDFLAGS) $(DYNEXP) $(CMDLINE_LIBS)
71
bin/dsgetdc: $(BINARY_PREREQS) $(DSGETDC_OBJ)
73
@$(CC) $(FLAGS) -o $@ $(DSGETDC_OBJ) $(LDFLAGS) $(DYNEXP) $(CMDLINE_LIBS)
75
bin/getjoinableous: $(BINARY_PREREQS) $(GETJOINABLEOUS_OBJ)
77
@$(CC) $(FLAGS) -o $@ $(GETJOINABLEOUS_OBJ) $(LDFLAGS) $(DYNEXP) $(CMDLINE_LIBS)
79
bin/netdomjoin: $(BINARY_PREREQS) $(NETDOMJOIN_OBJ)
81
@$(CC) $(FLAGS) -o $@ $(NETDOMJOIN_OBJ) $(LDFLAGS) $(DYNEXP) $(CMDLINE_LIBS)
83
bin/netdomjoin-gui: $(BINARY_PREREQS) $(NETDOMJOIN_GUI_OBJ)
85
@$(CC) $(FLAGS) $(GTK_FLAGS) -o $@ $(NETDOMJOIN_GUI_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(KRB5LIBS) $(LDAP_LIBS) $(GTK_LIBS)
87
bin/user_add: $(BINARY_PREREQS) $(USERADD_OBJ)
89
@$(CC) $(FLAGS) -o $@ $(USERADD_OBJ) $(LDFLAGS) $(DYNEXP) $(CMDLINE_LIBS)
91
bin/user_del: $(BINARY_PREREQS) $(USERDEL_OBJ)
93
@$(CC) $(FLAGS) -o $@ $(USERDEL_OBJ) $(LDFLAGS) $(DYNEXP) $(CMDLINE_LIBS)
95
bin/user_enum: $(BINARY_PREREQS) $(USERENUM_OBJ)
97
@$(CC) $(FLAGS) -o $@ $(USERENUM_OBJ) $(LDFLAGS) $(DYNEXP) $(CMDLINE_LIBS)
99
bin/user_dispinfo: $(BINARY_PREREQS) $(USERDISPINFO_OBJ)
101
@$(CC) $(FLAGS) -o $@ $(USERDISPINFO_OBJ) $(LDFLAGS) $(DYNEXP) $(CMDLINE_LIBS)
105
-rm -f core */*~ *~ \
106
*/*.o */*/*.o */*/*/*.o