+#
+# Makefile
+#
+# Version: $Id$
+#
include ../../Make.inc
-OBJS = dict.o print.o radius.o valuepair.o token.o misc.o \
- log.o filters.o missing.o md4.o md5.o sha1.o hmac.o snprintf.o
+SRCS = dict.c filters.c hash.c hmac.c hmacsha1.c isaac.c log.c \
+ misc.c missing.c md4.c md5.c print.c radius.c rbtree.c \
+ sha1.c snprintf.c strlcat.c strlcpy.c token.c udpfromto.c \
+ valuepair.c fifo.c packet.c event.c getaddrinfo.c vqp.c \
+ heap.c dhcp.c tcp.c soh.c
-INCLUDES = ../include/radius.h ../include/libradius.h \
- ../include/missing.h ../include/autoconf.h
-
-CFLAGS += -D_LIBRADIUS -I../include
-
-all: $(LIBPREFIX)radius.a
-
-$(LIBPREFIX)radius.a: $(OBJS)
- $(LIBTOOL) --mode=link $(LD) $(OBJS) -o $(LIBPREFIX)radius.a
-
-# $(AR) rv $(LIBPREFIX)radius.a $(OBJS)
-# $(RANLIB) $(LIBPREFIX)radius.a
-
-filters.o: filters.c $(INCLUDES)
- $(CC) $(CFLAGS) -c filters.c
+LT_OBJS = $(SRCS:.c=.lo)
-print.o: print.c $(INCLUDES)
- $(CC) $(CFLAGS) -c print.c
-
-dict.o: dict.c $(INCLUDES)
- $(CC) $(CFLAGS) -c dict.c
-
-radius.o: radius.c $(INCLUDES)
- $(CC) $(CFLAGS) -c radius.c
-
-valuepair.o: valuepair.c $(INCLUDES)
- $(CC) $(CFLAGS) -c valuepair.c
-
-token.o: token.c $(INCLUDES)
- $(CC) $(CFLAGS) -c token.c
+INCLUDES = ../include/radius.h ../include/libradius.h \
+ ../include/missing.h ../include/autoconf.h \
+ ../include/ident.h
-misc.o: misc.c $(INCLUDES)
- $(CC) $(CFLAGS) -c misc.c
+CFLAGS += -D_LIBRADIUS -I$(top_builddir)/src
-log.o: log.c $(INCLUDES)
- $(CC) $(CFLAGS) -c log.c
+# if you have problems with things that need SHA1-HMAC, this will
+# dump the key and the input to the hash so you can compare to what
+# the other end is doing.
+#CFLAGS += -DHMAC_SHA1_DATA_PROBLEMS
-missing.o: missing.c $(INCLUDES)
- $(CC) $(CFLAGS) -c missing.c
+ifeq ($(USE_SHARED_LIBS),yes)
+LINK_MODE = -export-dynamic
+else
+LINK_MODE = -static
+endif
-md4.o: md4.c ../include/md4.h
- $(CC) $(CFLAGS) -c md4.c
+TARGET = $(LIBPREFIX)freeradius-radius
-md5.o: md5.c ../include/md5.h
- $(CC) $(CFLAGS) -c md5.c
+# Define new rule for libtool objects
+%.lo : %.c
+ $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) -c $<
-sha1.o: sha1.c ../include/sha1.h
- $(CC) $(CFLAGS) -c sha1.c
+.PHONY: all clean install reconfig
+all: $(TARGET).la
-hmac.o: hmac.c $(INCLUDES)
- $(CC) $(CFLAGS) -c hmac.c
+$(TARGET).la: $(LT_OBJS)
+ $(LIBTOOL) --mode=link $(CC) -release $(RADIUSD_VERSION) \
+ $(LDFLAGS) $(LINK_MODE) -o $@ -rpath $(libdir) $^
-snprntf.o: snprintf.c $(INCLUDES)
- $(CC) $(CFLAGS) -c snprintf.c
+$(LT_OBJS): $(INCLUDES)
clean:
- rm -f *.o $(LIBPREFIX)radius.a
+ rm -f *.o *.lo $(TARGET).la
+ rm -rf .libs
-install:
+install: all
+ $(INSTALL) -d -m 755 $(R)$(libdir)
+ $(LIBTOOL) --mode=install $(INSTALL) -c $(TARGET).la \
+ $(R)$(libdir)/$(TARGET).la
+ rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la;
+ ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la
+reconfig: