
# Makefile configuration
include 	../Make.conf

# Server version that is shown in main
VERSION		= 0.9.1
#VERSION	= pre1.0-$(shell date +%Y%m%d)


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

# Objects for the server and bigtest targets
OBJECTS		= config.o jobs.o channels.o

# Libraries for all targets
LIBS            = ../language/language.a ../common/common.a $(EXTRA_LIBS)

# The targets
TARGETS         = radiusd 


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

# To prevent Make from being satisfied after the first target
all:            $(TARGETS)

testprogs:	conftest bigtest


# The objects
jobs.o:		jobs.c $(HEADERS)
		$(CC) $(CFLAGS) -o $@ -c $<

channels.o:	channels.c $(HEADERS)
		$(CC) $(CFLAGS) -DU_INT32_T=$(U_INT32_T) -o $@ -c $<

config.o:	config.c $(HEADERS)
		$(CC) $(CFLAGS) -o $@ -c $<

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

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

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


# The targets
conftest:	conftest.o $(LIBS)
		$(CC) $(LDFLAGS) -o $@ $< $(LIBS)

bigtest:	bigtest.o $(OBJECTS) $(LIBS)
		$(CC) $(LDFLAGS) -o $@ $< $(OBJECTS) $(LIBS)

radiusd:	main.o $(OBJECTS) $(LIBS)
		$(CC) $(LDFLAGS) -o $@ $< $(OBJECTS) $(LIBS)


# Install
install:
		$(INSTDIR) $(BINARIES) >/dev/null 2>&1
		$(INSTEXEC) $(TARGETS) $(BINARIES)

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

