3c255dbb6ff5e236f5741e9342d94afdce987be5
[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 sieve_filter.o sieve_filter.so: $(HDRS) sieve_filter.c
44 spf.o   spf.so:                 $(HDRS) spf.h spf.c
45
46 dkim.o:
47         @echo "$(CC) dkim.c dkim_transport.c pdkim.c signing.c"
48         $(FE)$(CC) -r $(LDFLAGS_PARTIAL) -o $@ $(CFLAGS) $(INCLUDE) \
49                 dkim.c dkim_transport.c pdkim.c signing.c
50
51 dkim.so:
52         @echo "$(CC) -shared dkim.c dkim_transport.c pdkim.c signing.c"
53         $(FE)$(CC) -DDYNLOOKUP $(CFLAGS_DYNAMIC) -o $@ \
54                 $(SUPPORT_$*_INCLUDE) $(SUPPORT_$*_LIBS) \
55                 $(CFLAGS) $(INCLUDE) $(DLFLAGS) \
56                 dkim.c dkim_transport.c pdkim.c signing.c
57
58 # Compile instructions for static perl.o for when EXIM_PERL is set
59 # Dynamic is managed all via scripts/Configure-Makefile
60
61 perl.o:
62         @echo "$(PERL_CC) perl.c"
63         $(FE)$(PERL_CC) $(PERL_CCOPTS) $(CFLAGS) $(INCLUDE) -c perl.c
64
65 # End