c1489d6e8a3e5073b55bb2afbf74c4b5e6d2115a
[exim.git] / src / src / miscmods / Makefile
1 # Make file for building Exim's lookup modules.
2 # This is called from the main make file, after cd'ing
3 # to the misc_modulessubdirectory.
4 #
5 # Copyright (c) The Exim Maintainers 2024
6
7 # nb: at build time, the version of this file used will have had some
8 #     extra variable definitions and prepended to it and module build rules
9 #     interpolated below. This is done by scripts/lookups-Makefile.
10
11 # MAGIC-TAG-MODS-OBJ-RULES-GO-HERE
12
13 OBJ += dummy.o
14
15 all:            miscmods.a $(MODS)
16
17 miscmods.a:     $(OBJ)
18                 @$(RM_COMMAND) -f miscmods.a
19                 @echo "$(AR) miscmods.a"
20                 @$(AR) miscmods.a $(OBJ)
21                 $(RANLIB) $@
22
23 .SUFFIXES:      .o .c .so
24 .c.o:;          @echo "$(CC) $*.c"
25                 $(FE)$(CC) -c $(CFLAGS) $(INCLUDE) $*.c
26
27 .c.so:;         @echo "$(CC) -shared $*.c"
28                 $(FE)$(CC) $(SUPPORT_$*_INCLUDE) $(SUPPORT_$*_LIBS) \
29                         -DDYNLOOKUP $(CFLAGS_DYNAMIC) $(CFLAGS) $(INCLUDE) \
30                         $(DLFLAGS) $*.c -o $@
31
32 # Note that the sources from pdkim/ are linked into the build.../miscmods/ dir
33 # by scripts/Makelinks.
34 arc.o   arc.so:         $(HDRS) pdkim.h arc.c
35 dkim.o  dkim.so:        $(HDRS) dkim.h dkim.c dkim_transport.c \
36                         crypt_ver.h pdkim.h pdkim_hash.h pdkim.c \
37                         signing.h signing.c
38 dmarc.o dmarc.so:       $(HDRS) pdkim.h dmarc.h dmarc.c
39 dummy.o:                dummy.c
40 pam.o   pam.so:         $(HDRS) pam.c
41 perl.o perl.so:         $(HDRS) perl.c
42 radius.o radius.so:     $(HDRS) radius.c
43 spf.o   spf.so:         $(HDRS) spf.h spf.c
44
45 dkim.o:
46         @echo "$(CC) dkim.c dkim_transport.c pdkim.c signing.c"
47         $(FE)$(CC) -r $(LDFLAGS_PARTIAL) -o $@ $(CFLAGS) $(INCLUDE) \
48                 dkim.c dkim_transport.c pdkim.c signing.c
49
50 dkim.so:
51         @echo "$(CC) -shared dkim.c dkim_transport.c pdkim.c signing.c"
52         $(FE)$(CC) -DDYNLOOKUP $(CFLAGS_DYNAMIC) -o $@ \
53                 $(SUPPORT_$*_INCLUDE) $(SUPPORT_$*_LIBS) \
54                 $(CFLAGS) $(INCLUDE) $(DLFLAGS) \
55                 dkim.c dkim_transport.c pdkim.c signing.c
56
57 # Compile instructions for static perl.o for when EXIM_PERL is set
58 # Dynamic is managed all via scripts/Configure-Makefile
59
60 perl.o:
61         @echo "$(PERL_CC) perl.c"
62         $(FE)$(PERL_CC) $(PERL_CCOPTS) $(CFLAGS) $(INCLUDE) -c perl.c
63
64 # End