obj := $(firstword $(obj) $(SUBDIRS) .)
TOP = $(obj)
-ifneq (svnversion.h,$(MAKECMDGOALS))
include $(TOP)/Makefile.inc
-endif
obj-y := ath/ ath_hal/ ath_rate/ net80211/
+ifdef CRYPTO_TESTING
+obj-y += regression/
+endif
+
+.PHONY: all
all: modules tools
-modules: configcheck svnversion.h
+.PHONY: modules
+modules: configcheck
ifdef LINUX24
for i in $(obj-y); do \
$(MAKE) -C $$i || exit 1; \
$(MAKE) -C $(KERNELPATH) SUBDIRS=$(shell pwd) modules
endif
-.PHONY: svnversion.h
-svnversion.h:
- @if [ -d .svn ]; then \
- ver=$$(svnversion -nc . | sed -e 's/^[^:]*://;s/[A-Za-z]//'); \
- echo "#define SVNVERSION \"svn r$$ver\"" > $@.tmp; \
- elif [ -d .git ]; then \
- ver=$$(git svn log | head -n2 | tail -n1 | cut -d\ -f1); \
- echo "#define SVNVERSION \"svn $$ver\"" > $@.tmp; \
- elif [ -s SNAPSHOT ]; then \
- ver=$$(sed -e '/^Revision: */!d;s///;q' SNAPSHOT); \
- echo "#define SVNVERSION \"svn r$$ver\"" > $@.tmp; \
- else \
- touch $@.tmp; \
- fi || exit 1; \
- diff $@ $@.tmp >/dev/null 2>&1 || cp -f $@.tmp $@; rm -f $@.tmp
-
# conflicts with the 'tools' subdirectory
.PHONY: tools
tools:
$(MAKE) -C $(TOOLS) all || exit 1
+.PHONY: install
install: install-modules install-tools
+.PHONY: install-modules
install-modules: modules
@# check if there are modules left from an old installation
@# might cause make to abort the build
(export KMODPATH=$(KMODPATH); /sbin/depmod -ae $(KERNELRELEASE))
endif
+.PHONY: install-tools
install-tools: tools
$(MAKE) -C $(TOOLS) install || exit 1
+.PHONY: uninstall ininstall-modules
uninstall: uninstall-tools uninstall-modules
uninstall-modules:
sh scripts/find-madwifi-modules.sh -r $(KERNELRELEASE) $(DESTDIR)
+.PHONY: list-modules find-modules
list-modules: find-modules
find-modules:
sh scripts/find-madwifi-modules.sh -l $(KERNELRELEASE)
+.PHONY: uninstall-tools
uninstall-tools:
$(MAKE) -C $(TOOLS) uninstall
+.PHONY: reinstall reinstall-tools reinstall-modules
reinstall: uninstall install
reinstall-tools: uninstall-tools install-tools
reinstall-modules: uninstall-modules install-modules
+.PHONY: clean
clean:
for i in $(obj-y); do \
$(MAKE) -C $$i clean; \
done
-$(MAKE) -C $(TOOLS) clean
rm -rf .tmp_versions
- rm -f *.symvers svnversion.h
+ rm -f modules.order *.symvers Module.markers
+.PHONY: info
info:
@echo "The following settings will be used for compilation:"
- @echo "TARGET : $(TARGET)"
- @echo "ARCH : $(ARCH)"
@echo "BUS : $(BUS)"
- @if [ -n "$(TOOLPATH)" ]; then \
- @echo "TOOLPATH : $(TOOLPATH)"; \
- fi
@echo "KERNELRELEASE: $(KERNELRELEASE)"
@echo "KERNELPATH : $(KERNELPATH)"
@echo "KERNELCONF : $(KERNELCONF)"
@echo "KMODPATH : $(KMODPATH)"
@echo "KMODSUF : $(KMODSUF)"
+.PHONY: sanitycheck
sanitycheck:
@echo -n "Checking requirements... "
unload:
bash scripts/madwifi-unload
+.PHONY: configcheck
configcheck: sanitycheck
@echo -n "Checking kernel configuration... "
- @# check version of kernel
- @echo $(KERNELRELEASE) | grep -q -i '^[2-9]\.[4-9]\.' || { \
- echo "FAILED"; \
- echo "Only kernel versions 2.4.x and above are supported."; \
- echo "You have $(KERNELRELEASE)."; \
- exit 1; \
- }
+ @# check kernel version
+ @case $(KERNELRELEASE) in \
+ 2.[456].*) ;; \
+ [3-9].*) ;; \
+ *) echo "FAILED"; \
+ echo "Only kernel versions 2.4.x and above are supported."; \
+ echo "You have $(KERNELRELEASE)."; \
+ exit 1 ;; \
+ esac
@# check kernel configuration
@if [ -z "$(CONFIG_SYSCTL)" ]; then \