# based around ipw2200 makefile ifndef CONFIG_PVIEW EXTERNAL_BUILD=y CONFIG_PVIEW=m CONFIG_PVIEW_DEBUG=y endif list-m := list-$(CONFIG_PVIEW) += pview obj-$(CONFIG_PVIEW) += pview.o # # Begin dual Makefile mode here. First we provide support for when we # are being invoked by the kernel build system # ifneq ($(KERNELRELEASE),) ifeq ($(EXTERNAL_BUILD),y) ifeq ($(CONFIG_PVIEW_DEBUG),y) EXTRA_CFLAGS += -DCONFIG_PVIEW_DEBUG endif endif else # Here we begin the portion that is executed if the user invoked this Makefile # directly. # KSRC should be set to the path to your sources # modules are installed into KMISC KVER := $(shell uname -r) KSRC := /lib/modules/$(KVER)/build KMISC := /lib/modules/$(KVER)/kernel/misc/ KMISC_INC := /lib/modules/$(KVER)/include # KSRC_OUTPUT should be overridden if you are using a 2.6 kernel that # has it's output sent elsewhere via KBUILD_OUTPUT= or O= KSRC_OUTPUT := $(KSRC) PWD=$(shell pwd) VERFILE := $(KSRC_OUTPUT)/include/linux/version.h KERNELRELEASE := $(shell \ if [ -r $(VERFILE) ]; then \ (cat $(VERFILE); echo UTS_RELEASE) | \ $(CC) -I$(KSRC_OUTPUT) $(CFLAGS) -E - | \ tail -n 1 | \ xargs echo; \ else \ uname -r; \ fi) MODPATH := $(DESTDIR)/lib/modules/$(KERNELRELEASE) all: modules clean: rm -f *.mod.c *.mod *.o *.ko .*.cmd .*.flags .lst *.lst rm -rf $(PWD)/tmp for file in *.{c,h}; do \ sed -i -e "s:\ *$$::g" -e "s:\t*$$::g" $$file; \ done distclean: clean rm -f tags TAGS TMP=$(PWD)/tmp modules: $(MAKE) -C $(KSRC) M=$(PWD) modules install: modules install -d $(KMISC) install -m 644 -c $(addsuffix .ko,$(list-m)) $(KMISC) /sbin/depmod -a ${KVER} uninstall: rm -rf $(addprefix $(KMISC),$(addsuffix .ko,$(list-m))) /sbin/depmod -a ${KVER} endif # End of internal build