LIB_DNS = libdnsmngr.so
LIB_DNS_SD = libdns_sd.so

# if filter does not return empty when searching for -DDNSMASQ_BACKEND
# then use dnsmasq_backend
# else
# use unbound_backend
ifneq (,$(filter -DDNSMASQ_BACKEND, $(CFLAGS)))
LIB_DNS_OBJS = dnsmngr.o dnsmasq_backend.o
else
LIB_DNS_OBJS = dnsmngr.o unbound_backend.o
endif

LIB_DNS_SD_OBJS = dns_sd.o

LIB_CFLAGS = $(CFLAGS) -Wall -Werror -fstrict-aliasing
LIB_LDFLAGS = $(LDFLAGS)
FPIC := -fPIC

.PHONY: all dns

%.o: %.c
	$(CC) $(LIB_CFLAGS) $(FPIC) -c -o $@ $<

dns: $(LIB_DNS)

all: $(LIB_DNS) $(LIB_DNS_SD)

$(LIB_DNS): $(LIB_DNS_OBJS)
	$(CC) $(LIB_CFLAGS) $(LIB_LDFLAGS) -shared -o $@ $^

$(LIB_DNS_SD): $(LIB_DNS_SD_OBJS)
	$(CC) $(LIB_CFLAGS) $(LIB_LDFLAGS) -shared -o $@ $^

clean:
	rm -f *.o $(LIB_DNS) $(LIB_DNS_SD)
