Port fix for bug #419 from branch_1_1
[freeradius.git] / src / lib / Makefile
1 #
2 # Makefile
3 #
4 # Version:      $Id$
5 #
6
7 include ../../Make.inc
8
9 SRCS            = dict.c filters.c hash.c hmac.c hmacsha1.c isaac.c log.c \
10                   misc.c missing.c md4.c md5.c print.c radius.c rbtree.c \
11                   sha1.c snprintf.c strlcat.c strlcpy.c token.c udpfromto.c \
12                   valuepair.c fifo.c packet.c
13
14 LT_OBJS         = $(SRCS:.c=.lo)
15
16 INCLUDES        = ../include/radius.h ../include/libradius.h \
17                   ../include/missing.h ../include/autoconf.h \
18                   ../include/ident.h
19
20 CFLAGS          += -D_LIBRADIUS -I$(top_builddir)/src
21
22 # if you have problems with things that need SHA1-HMAC, this will
23 # dump the key and the input to the hash so you can compare to what
24 # the other end is doing.
25 #CFLAGS += -DHMAC_SHA1_DATA_PROBLEMS
26
27 ifeq ($(USE_SHARED_LIBS),yes)
28 LINK_MODE       = -export-dynamic
29 else
30 LINK_MODE       = -static
31 endif
32
33 TARGET          = $(LIBPREFIX)radius
34
35 # Define new rule for libtool objects
36 %.lo : %.c
37         $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) -c $<
38
39 all: $(TARGET).la
40
41 $(TARGET).la: $(LT_OBJS)
42         $(LIBTOOL) --mode=link $(CC) -release $(RADIUSD_VERSION) \
43         $(LDFLAGS) $(LINK_MODE) -o $@ -rpath $(libdir) $^
44
45 $(LT_OBJS): $(INCLUDES)
46
47 clean:
48         rm -f *.o *.lo $(TARGET).la
49         rm -rf .libs
50
51 install: all
52         $(INSTALL) -d -m 755    $(R)$(libdir)
53         $(LIBTOOL) --mode=install $(INSTALL) -c $(TARGET).la \
54                 $(R)$(libdir)/$(TARGET).la
55         rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la;
56         ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la