CFLAGS = -g -Wall -Wstrict-prototypes
LDFLAGS = -g

BINS = \
	ruptimed_debug \
	ruptimed \
	ruptime

HDRS = \
	addrinfo.h \
	allocarray.h \
	daemonize.h \
	get_inet_sockaddr.h \
	syscall_check.h

default: $(BINS)

clean:
	rm -f *~ *.o

immaculate: clean
	rm -f $(BINS)


addrinfo.o: addrinfo.c $(HDRS)
	$(CC) -c $(CFLAGS) $< -o $@

addrinfo_t: addrinfo.c $(HDRS)
	$(CC) $(CFLAGS) -DTEST $< -o $@

daemonize.o: daemonize.c $(HDRS)
	$(CC) -c $(CFLAGS) $< -o $@

get_inet_sockaddr.o: get_inet_sockaddr.c $(HDRS)
	$(CC) -c $(CFLAGS) $< -o $@

ruptime: ruptime.o get_inet_sockaddr.o addrinfo.o
	$(CC) $(LDFLAGS) $^ $(LIBS) -o $@

ruptimed.o: ruptimed.c $(HDRS)
	$(CC) -c $(CFLAGS) $< -o $@

ruptimed: ruptimed.o daemonize.o get_inet_sockaddr.o addrinfo.o
	$(CC) $(LDFLAGS) $^ -o $@

ruptimed_debug.o: ruptimed.c
	$(CC) -c $(CFLAGS) -DRUN_IN_FOREGROUND $< -o $@

ruptimed_debug: ruptimed_debug.o get_inet_sockaddr.o addrinfo.o
	$(CC) $(LDFLAGS) $^ -o $@
