
# Makefile configuration
include 	../Make.conf

# Server version that is shown in main
VERSION		= 0.9.2


# Headers to be included in _each_ .o's dependencies. 
HEADERS         = ../common/constants.h srvtypes.h config.h jobs.h channels.h
HEADERS	        += ../language/language.h

# Sources in every target's dependencies
SRCS		= config.c jobs.c channels.c

# Objects to be built without special rules
OBJECTS		= config.o jobs.o channels.o

# The targets
TARGETS         = radiusd 
TSTTARGETS	= conftest bigtest


# Add base, common and language directories to include path
CFLAGS          += -I. -I../common -I../language

# Added libraries for all targets
LDLIBS          += ../language/language.a ../common/common.a


all:            $(TARGETS)
testprogs:	$(TSTTARGETS)


# The objects
$(OBJECTS):	$(HEADERS)

conftest.o:	config.c $(HEADERS)
		$(CC) $(CFLAGS) -DCONF_TEST -DRADDB=\"$(RADDB)\" -DMODULES=\"$(MODULES)\" -c -o $@ $<


bigtest.o:	bigtest.c $(HEADERS)
		$(CC) $(CFLAGS) -DRADDB=\"$(RADDB)\" -DMODULES=\"$(MODULES)\" -c -o $@ $<

main.o:		main.c $(HEADERS)
		$(CC) $(CFLAGS) -DRADDB=\"$(RADDB)\" -DMODULES=\"$(MODULES)\" -DLOGFILE=\"$(LOGFILE)\" -DVERSION=\"$(VERSION)\" $(NO_SIGACTION) -c -o $@ $<


# The targets
bigtest:	bigtest.o $(OBJECTS)
		$(CC) $(LDFLAGS) bigtest.o $(OBJECTS) $(LDLIBS) $(INET_LIBS) -o $@

radiusd:	main.o $(OBJECTS)
		$(CC) $(LDFLAGS) main.o $(OBJECTS) $(LDLIBS) $(INET_LIBS) -o $@


# Install
install:
		$(INSTDIR) $(BINARIES)
		$(INSTEXEC) $(TARGETS) $(BINARIES)

# Clean
clean:		
		rm -f conftest.o bigtest.o main.o $(OBJECTS) $(TSTTARGETS) $(TARGETS) core

