fa60acba9b7d6c2e3a819b6fc1c8206650fc055e
[exim.git] / src / src / auths / Makefile
1 # Make file for building a library containing all the available authorization
2 # methods, and calling it auths.a. In addition, there are functions that are
3 # of general use in several methods; these are in separate modules so they are
4 # linked in only when needed. This Makefile is called from the main make file,
5 # after cd'ing to the auths subdirectory. When the relevant AUTH_ macros are
6 # defined, the equivalent modules herein is not included in the final binary.
7 #
8 # Copyright (c) The Exim Maintainers 2024
9
10 # nb: at build time, the version of this file used will have had some
11 #     extra variable definitions and prepended to it and module build rules
12 #     interpolated below. This is done by scripts/drivers-Makefile with
13 #     definitions from scripts/Configure-Makefile
14
15 # MAGIC-TAG-MODS-OBJ-RULES-GO-HERE
16
17 OBJ += auth-spa.o call_pam.o call_pwcheck.o call_radius.o check_serv_cond.o \
18         get_data.o get_no64_data.o pwcheck.o
19
20 all:            auths.a $(MODS)
21
22 auths.a:        $(OBJ)
23                 @$(RM_COMMAND) -f auths.a
24                 @echo "$(AR) auths.a"
25                 $(FE)$(AR) auths.a $(OBJ)
26                 $(RANLIB) $@
27
28 .SUFFIXES:      .o .c .so
29 .c.o:;          @echo "$(CC) $*.c"
30                 $(FE)$(CC) -c $(CFLAGS) $(INCLUDE) $*.c
31
32 SO_FLAGS = -DDYNLOOKUP $(CFLAGS_DYNAMIC) $(CFLAGS) $(INCLUDE) $(DLFLAGS)
33 .c.so:;         @echo "$(CC) -shared $*.c"
34                 $(FE)$(CC) $(SO_FLAGS) $(AUTH_$*_INCLUDE) $(AUTH_$*_LIBS) \
35                         $*.c -o $@
36
37
38 $(OBJ) $(MOD): $(HDRS)
39
40 auth-spa.o:         auth-spa.c
41 call_pam.o:         call_pam.c
42 call_pwcheck.o:     call_pwcheck.c pwcheck.h
43 call_radius.o:      call_radius.c
44 check_serv_cond.o:  check_serv_cond.c
45 get_data.o:         get_data.c
46 get_no64_data.o:    get_no64_data.c
47 pwcheck.o:          pwcheck.c pwcheck.h
48
49 cram_md5.o:         cram_md5.c cram_md5.h
50 cyrus_sasl.o:       cyrus_sasl.c cyrus_sasl.h
51 dovecot.o:          dovecot.c dovecot.h
52 external.o:         external.c external.h
53 gsasl.o:            gsasl.c gsasl.h
54 heimdal_gssapi.o:   heimdal_gssapi.c heimdal_gssapi.h
55 plaintext.o:        plaintext.c plaintext.h
56 spa.o:              spa.c spa.h
57 tls.o:              tls.c tls.h
58
59 # These depend on more than one .c source
60
61 spa.so: spa.c auth-spa.c spa.h
62         $(FE)$(CC) $(SO_FLAGS) spa.c auth-spa.c -o $@
63
64 # End