LIB = libdhcpmngr.so
LIBRA = libradvmngr.so

LIB_OBJS = dhcpmngr.o dhcpv4.o dhcpv6.o

PROG_CFLAGS = $(CFLAGS) -Wall -Werror -fPIC
LIB_LDFLAGS = $(LDFLAGS) -lbbfdm-api-v2

ifeq ($(filter -DBBF_VENDOR_PREFIX=%,$(PROG_CFLAGS)),)
PROG_CFLAGS += -DBBF_VENDOR_PREFIX=\"X_IOWRT_EU_\"
endif

ifeq ($(DHCPMNGR_ENABLE_VENDOR_EXT),y)
PROG_CFLAGS += -DDHCPMNGR_ENABLE_VENDOR_EXT
endif

TARGETS = $(LIB)

ifeq ($(DHCPMNGR_ROUTER_ADVERTISEMENT_OBJ),y)
LIB_RAOBJS = routeradvertisement.o
PROG_CFLAGS += -DDHCPMNGR_ROUTER_ADVERTISEMENT_OBJ
TARGETS += $(LIBRA)
endif

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

all: $(TARGETS)

$(LIB): $(LIB_OBJS)
	$(CC) $(PROG_CFLAGS) -shared -o $@ $^ $(LIB_LDFLAGS)

ifeq ($(DHCPMNGR_ROUTER_ADVERTISEMENT_OBJ),y)
$(LIBRA): $(LIB_RAOBJS)
	$(CC) $(PROG_CFLAGS) -shared -o $@ $^ $(LIB_LDFLAGS)
endif

clean:
	rm -f *.o $(LIB) $(LIBRA)
