1 # Make file for building a library containing all the available routers and
2 # calling it routers.a. This is called from the main make file, after cd'ing
3 # to the directors subdirectory. The library also contains functions that
4 # are called only from within the individual routers.
6 # Copyright (c) The Exim Maintainers 2021 - 2024
8 # nb: at build time, the version of this file used will have had some
9 # extra variable definitions and prepended to it and module build rules
10 # interpolated below. This is done by scripts/drivers-Makefile with
11 # definitions from scripts/Configure-Makefile.
13 # MAGIC-TAG-MODS-OBJ-RULES-GO-HERE
15 RF_OBJ = rf_change_domain.o rf_expand_data.o rf_get_errors_address.o \
16 rf_get_munge_headers.o rf_get_transport.o rf_get_ugid.o \
17 rf_lookup_hostlist.o rf_queue_add.o rf_self_action.o rf_set_ugid.o
19 all: $(RF_OBJ) routers.a $(MODS)
22 @$(RM_COMMAND) -f routers.a
23 @echo "$(AR) routers.a"
24 @$(AR) routers.a $(OBJ)
28 .c.o:; @echo "$(CC) $*.c"
29 $(FE)$(CC) -c $(CFLAGS) $(INCLUDE) $*.c
31 .c.so:; @echo "$(CC) -shared $*.c"
32 $(FE)$(CC) -DDYNLOOKUP $(CFLAGS_DYNAMIC) $(CFLAGS) $(INCLUDE) $(DLFLAGS) $*.c -o $@
36 $(OBJ) $(MOD): $(HDRS) rf_functions.h
38 rf_change_domain.o: rf_change_domain.c
39 rf_expand_data.o: rf_expand_data.c
40 rf_get_errors_address.o: rf_get_errors_address.c
41 rf_get_munge_headers.o: rf_get_munge_headers.c
42 rf_get_transport.o: rf_get_transport.c
43 rf_get_ugid.o: rf_get_ugid.c
44 rf_lookup_hostlist.o: rf_lookup_hostlist.c
45 rf_queue_add.o: rf_queue_add.c
46 rf_self_action.o: rf_self_action.c
47 rf_set_ugid.o: rf_set_ugid.c
49 accept.o accept.so: accept.c accept.h
50 dnslookup.o dnslookup.so: dnslookup.c dnslookup.h
51 ipliteral.o ipliteral.so: ipliteral.c ipliteral.h
52 iplookup.o iplookup.so: iplookup.c iplookup.h
53 manualroute.o manualroute.so: manualroute.c manualroute.h
54 queryprogram.o queryprogram.so: queryprogram.c queryprogram.h
55 redirect.o redirect.so: redirect.c redirect.h