MODE = devel
version := 0.02

DSOURCES = main.c epoll_loop.c brmon.c bridge_track.c libnetlink.c mstp.c clag.c \
           packet.c netif_utils.c ctl_socket_server.c hmac_md5.c driver_deps.c \
           hash.c hashtable.c

DOBJECTS = $(DSOURCES:.c=.o)

CTLSOURCES = ctl_main.c ctl_socket_client.c json.c

CTLOBJECTS = $(CTLSOURCES:.c=.o)
 
CFLAGS += -g -O0 -Wall -fgnu89-inline  -Werror -D_REENTRANT -D__LINUX__ -DVERSION=$(version) -I. \
          -D_GNU_SOURCE -D__LIBC_HAS_VERSIONSORT__

ifeq ($(MODE),devel)
CFLAGS += -Werror
endif

all: mstpd mstpctl

mstpd: $(DOBJECTS)
	$(CC) -o $@ $(DOBJECTS)

mstpctl: $(CTLOBJECTS)
	$(CC) -o $@ $(CTLOBJECTS) -L /usr/include/json-c/ -ljson-c

-include .depend

clean:
	rm -f *.o *~ .depend.bak mstpd mstpctl

install: all
	-mkdir -pv $(DESTDIR)/sbin
	install -m 755 mstpd $(DESTDIR)/sbin/mstpd
	install -m 755 mstpctl $(DESTDIR)/sbin/mstpctl
	install -m 755 bridge-stp $(DESTDIR)/sbin/bridge-stp
	-mkdir -pv $(DESTDIR)/lib/mstpctl-utils/
	install -m 755 lib/mstpctl_restart_config $(DESTDIR)/lib/mstpctl-utils/
	install -m 755 lib/mstpctl_monit_undo_cfg.sh $(DESTDIR)/lib/mstpctl-utils/
	-mkdir -pv $(DESTDIR)/etc/bash_completion.d/
	install -m 644 lib/bash_completion $(DESTDIR)/etc/bash_completion.d/mstpctl
	install -m 755 bridge-stp $(DESTDIR)/sbin/bridge-stp
	-mkdir -pv $(DESTDIR)/etc/default/
	install -m 644 mstpd.default $(DESTDIR)/etc/default/mstpd

romfs: all
	$(ROMFSINST) /sbin/mstpd
	$(ROMFSINST) /sbin/mstpctl
	$(ROMFSINST) /sbin/bridge-stp

#depend:
#	makedepend -I. -Y *.c -f .depend
