endif
endif
-common:
- @for dir in $(SUBDIRS); do \
- echo "Making $(WHAT_TO_MAKE) in $$dir..."; \
- $(MAKE) $(MFLAGS) -C $$dir $(WHAT_TO_MAKE) || exit $$?; \
- done
+.PHONY: common $(SUBDIRS)
+
+common: $(SUBDIRS)
+
+$(SUBDIRS):
+ echo "Making $(WHAT_TO_MAKE) in $@..."
+ $(MAKE) $(MFLAGS) -C $@ $(WHAT_TO_MAKE)
distclean: clean
rm -f config.cache config.log config.status libtool \
install:
@$(MAKE) $(MFLAGS) WHAT_TO_MAKE=$@ common
-common:
- @for dir in $(SUBDIRS); do \
- echo "Making $(WHAT_TO_MAKE) in $$dir..."; \
- $(MAKE) $(MFLAGS) -C $$dir $(WHAT_TO_MAKE) || exit $$?; \
- done
+.PHONY: common $(SUBDIRS)
+
+common: $(SUBDIRS)
+
+$(SUBDIRS):
+ echo "Making $(WHAT_TO_MAKE) in $@..."
+ $(MAKE) $(MFLAGS) -C $@ $(WHAT_TO_MAKE)
freeradius-devel:
ln -s include freeradius-devel
) || exit $$?; \
done
-common:
+# Requires GNU Make, but even older ones will do.
+SUBDIRS := $(patsubst %/,%,$(dir $(wildcard $(addsuffix /Makefile,$(MODULES)))))
+
+.PHONY: common $(SUBDIRS)
+
+common: $(SUBDIRS)
@[ -d lib/ ] || mkdir lib
@[ -d lib/.libs ] || mkdir lib/.libs
- @for mod in $(FRS_MODULES) $(MODULES); do \
- if [ -d $$mod ] && [ -f $$mod/Makefile ]; then \
- echo "Making $(WHAT_TO_MAKE) in $$mod..."; \
- $(MAKE) $(MFLAGS) -C $$mod $(WHAT_TO_MAKE) || exit $$?; \
- fi; \
- done
+
+$(SUBDIRS):
+ echo "Making $(WHAT_TO_MAKE) in $@..."
+ $(MAKE) $(MFLAGS) -C $@ $(WHAT_TO_MAKE)
@$(MAKE) $(MFLAGS) WHAT_TO_MAKE=install common
$(LIBTOOL) --mode=install $(INSTALL) -m 755 $(INSTALLSTRIP) radeapclient$(EXEEXT) $(R)$(bindir)
-common:
- @for dir in $(RLM_SUBDIRS); do \
- echo "Making $(WHAT_TO_MAKE) in $$dir..."; \
- $(MAKE) $(MFLAGS) -C $$dir $(WHAT_TO_MAKE) || exit $$?; \
- done
-
-libeap/$(LIBPREFIX)freeradius-eap.la:
- $(MAKE) $(MFLAGS) -C libeap
+.PHONY: common $(RLM_SUBDIRS)
+
+common: $(RLM_SUBDIRS)
+
+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
reconfig:
$(MAKE) $(MFLAGS) WHAT_TO_MAKE=$@ common
-common:
- @for mod in rlm_eap*; do \
- if [ -d $$mod ] && [ -f $$mod/Makefile ]; then \
- echo "Making $(WHAT_TO_MAKE) in $$mod..."; \
- $(MAKE) $(MFLAGS) -C $$mod $(WHAT_TO_MAKE) || exit $$?; \
- fi; \
- done
+SUBDIRS := $(patsubst %/,%,$(dir $(wildcard rlm_eap*/Makefile)))
+
+.PHONY: common $(SUBDIRS)
+
+common: $(SUBDIRS)
+
+# The PEAP and TTLS sub-modules require eap_tls.
+#
+# If they're not being built, this rule is ignored because they're
+# phony targets.
+#
+rlm_eap_peap rlm_eap_ttls: rlm_eap_tls
+
+$(PLUGINS):
+ echo "Making $(WHAT_TO_MAKE) in $@..."
+ $(MAKE) $(MFLAGS) -C $@ $(WHAT_TO_MAKE)