+#
+# $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)
-#RLM_LIBS = $(shell for x in types/rlm_eap*/rlm_eap*.la;do echo -dlpreopen $$x;done)
-RLM_INSTALL = install-types
-RLM_SUBDIRS = @eaptypes@
+RLM_CFLAGS = -Ilibeap
+CLIENTLIBS = libeap/$(LIBPREFIX)freeradius-eap.la $(LIBRADIUS)
+RLM_LIBS = libeap/$(LIBPREFIX)freeradius-eap.la $(LIBLTDL)
+RLM_INSTALL = install-subdirs
+RLM_SUBDIRS = libeap @eaptypes@
+RLM_UTILS =
+#
+# 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_md5/rlm_eap_md5.a types/rlm_eap_leap/rlm_eap_leap.a types/rlm_eap_tls/rlm_eap_tls.a types/rlm_eap_ttls/rlm_eap_ttls.a 2>/dev/null)
+# We need $(LIBPREFIX)freeradius-eap.la before we can build anything else
+#
+all: common
-$(DYNAMIC_OBJS): $(HEADERS)
+$(LT_OBJS): $(HEADERS)
-all:
- @$(MAKE) $(MFLAGS) static dynamic
- @$(MAKE) $(MFLAGS) WHAT_TO_MAKE=$@ common
+## this uses the RLM_CFLAGS and RLM_LIBS and SRCS defs to make TARGET.
+# This needs to be before the radeapclient rule, as the lhs $(EXEECT)
+# expansion is done as soon as the Makefile is loaded
+include ../rules.mak
+
+radeapclient$(EXEEXT): radeapclient.lo $(CLIENTLIBS)
+ $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) $(RLM_LDFLAGS) -o radeapclient radeapclient.lo $(LIBRADIUS) $(CLIENTLIBS) $(LIBS) $(OPENSSL_LIBS)
-allclean:
- @$(MAKE) $(MFLAGS) WHAT_TO_MAKE=clean common
+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
-common:
- @for dir in $(RLM_SUBDIRS); do \
- echo "Making $(WHAT_TO_MAKE) in $$dir..."; \
- (cd $$dir && $(MAKE) $(MFLAGS) $(WHAT_TO_MAKE)) || exit 1;\
- done
+.PHONY: common $(RLM_SUBDIRS)
-## this uses the RLM_CFLAGS and RLM_LIBS and SRCS defs to make TARGET.
-include ../rules.mak
+common: $(RLM_SUBDIRS)
+
+types: libeap
+
+$(RLM_SUBDIRS):
+ @echo "Making $(WHAT_TO_MAKE) in $(X)rlm_eap/$@..."
+ @$(MAKE) $(MFLAGS) X=$(X)rlm_eap/ -C $@ $(WHAT_TO_MAKE)
+libeap/$(LIBPREFIX)freeradius-eap.la: libeap