Link with libradius, too
[freeradius.git] / src / modules / rlm_eap / Makefile.in
index 9aabff6..1e20588 100644 (file)
@@ -1,47 +1,55 @@
+#
+# $Id$
+#
+
 TARGET      = @targetname@
-SRCS        = rlm_eap.c eap.c mem.c state.c
+SRCS        = rlm_eap.c eap.c mem.c
 HEADERS     = eap.h rlm_eap.h
-RLM_CFLAGS  = $(INCLTDL) -I@srcdir@/libeap
-CLIENTLIBS  = -Llibeap -leap -L../../lib -lradius
-RLM_LIBS    = -Llibeap -leap
-#RLM_LIBS    = $(shell for x in types/rlm_eap*/rlm_eap*.la;do echo -dlpreopen $$x;done)
-RLM_INSTALL = install-types
-RLM_SUBDIRS = libeap @eaptypes@ 
+RLM_CFLAGS  = $(INCLTDL) -Ilibeap
+CLIENTLIBS  = libeap/$(LIBPREFIX)freeradius-eap.la
+RLM_LIBS    = libeap/$(LIBPREFIX)freeradius-eap.la $(LIBLTDL)
+RLM_INSTALL = install-subdirs
+RLM_SUBDIRS = libeap @eaptypes@
 RLM_UTILS   = radeapclient
 
-.PHONY: all install-types common
+#
+# Not using shared libraries, add in ALL known static modules
+# at build time.
+#
+#ifneq ($(USE_SHARED_LIBS),yes)
+#RLM_LIBS  += $(shell for x in types/rlm_eap*/rlm_eap*.la;do echo -dlpreopen $$x;done)
+#endif
 
-$(STATIC_OBJS): $(HEADERS)
+.PHONY: all install-subdirs common
 
 #
-#  Statically link a few modules.
-# 
-STATIC_OBJS    += $(shell ls -1 types/rlm_eap_gtc/rlm_eap_gtc.a types/rlm_eap_leap/rlm_eap_leap.a types/rlm_eap_md5/rlm_eap_md5.a types/rlm_eap_peap/rlm_eap_peap.a types/rlm_eap_sim/rlm_eap_sim.a types/rlm_eap_tls/rlm_eap_tls.a types/rlm_eap_ttls/rlm_eap_ttls.a 2>/dev/null)
-
-$(DYNAMIC_OBJS): $(HEADERS)
+# We need $(LIBPREFIX)freeradius-eap.la before we can build anything else
+#
+all: common
 
-all: 
-       @$(MAKE) $(MFLAGS) static dynamic
-       @$(MAKE) $(MFLAGS) WHAT_TO_MAKE=$@ common
-       @$(MAKE) $(MFLAGS) radeapclient
+$(LT_OBJS): $(HEADERS)
 
-radeapclient: radeapclient.o ../../lib/libradius.a
-       (cd libeap && $(MAKE) $(MFLAGS) $(WHAT_TO_MAKE)) || exit 1
-       $(LIBTOOL) --mode=link $(CC) $(CFLAGS) ${RLM_CFLAGS} $(LDFLAGS) -o radeapclient radeapclient.o $(CLIENTLIBS) $(LIBS) $(LCRYPT)
+radeapclient: radeapclient.lo $(CLIENTLIBS)
+       $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) $(RLM_LDFLAGS) -o radeapclient radeapclient.lo $(LIBRADIUS) $(CLIENTLIBS) $(LIBS) $(OPENSSL_LIBS)
 
-radeapclient.o: radeapclient.c $(INCLUDES)
-       $(CC) $(CFLAGS) ${RLM_CFLAGS} -c radeapclient.c
+radeapclient.lo: radeapclient.c $(HEADERS)
+       $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(RLM_CFLAGS) -c radeapclient.c
 
-install-types: 
+install-subdirs:
        @$(MAKE) $(MFLAGS) WHAT_TO_MAKE=install common
-       $(INSTALL) -m 755 radeapclient  $(R)$(bindir)
+       $(LIBTOOL) --mode=install $(INSTALL) -m 755 $(INSTALLSTRIP) radeapclient$(EXEEXT) $(R)$(bindir)
+
+.PHONY: common $(RLM_SUBDIRS)
+
+common: $(RLM_SUBDIRS)
 
-common:
-       @for dir in $(RLM_SUBDIRS); do  \
-               echo "Making $(WHAT_TO_MAKE) in $$dir..."; \
-               (cd $$dir && $(MAKE) $(MFLAGS) $(WHAT_TO_MAKE)) || exit 1;\
-       done
+types: libeap
+
+$(RLM_SUBDIRS):
+       @echo "Making $(WHAT_TO_MAKE) in $@..."
+       @$(MAKE) $(MFLAGS) -C $@ $(WHAT_TO_MAKE)
+
+libeap/$(LIBPREFIX)freeradius-eap.la: libeap
 
 ## this uses the RLM_CFLAGS and RLM_LIBS and SRCS defs to make TARGET.
 include ../rules.mak
-