blob: 80e754d3667367750d91c308df4501b8b3f98a3f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
#$Id: Makefile,v 1.27 2004/03/26 21:53:25 jal2 Exp $
VERSION = 0.12beta9
CC=gcc
KERNEL_VERSION = $(shell uname -r)
KERNEL_SRC = /lib/modules/$(KERNEL_VERSION)/build
KERNEL_HEADERS = $(KERNEL_SRC)/include
FW_DL=
# compile for firmware download from user space
# if no firmware header files are available
ifeq ($(wildcard fw-pkg*.h),)
FW_DL += -DCONFIG_AT76C503_FIRMWARE_DOWNLOAD
endif
MODULES = at76c503.o usbdfu.o at76c503-i3861.o at76c503-rfmd.o at76c503-rfmd-acc.o \
at76c505-rfmd.o at76c503-i3863.o at76c505-rfmd2958.o
SRCS = at76c503.c usbdfu.c at76c503-rfmd.c at76c505-rfmd.c at76c503-rfmd-acc.c \
at76c503-i3861.c at76c503-i3863.c at76c505-rfmd2958.c
HDRS = at76c503.h ieee802_11.h usbdfu.h at76c503-fw_skel.c fw-empty.h
FW_HDRS= fw-pkg-505-rfmd2958-1.101.0-86.h fw-pkg-i3863.h \
fw-pkg-rfmd-1.101.0-84.h fw-pkg-i3861.h \
fw-pkg-rfmd-0.90.2-140.h \
fw-pkg-r505.h fw-pkg-rfmd-acc-1.101.0-84.h
SCRIPTS = fwbin2h fwbin2pkg.sh fwconvert fwversion
DISTFILES = $(SRCS) $(HDRS) $(FW_HDRS) Makefile README COPYING \
CHANGELOG gen_fw.c
TOPDISTFILES =
DISTNAME = at76c503-$(VERSION)
DISTDIR = ../dist
MODULE_DIR = $(DESTDIR)/lib/modules/$(KERNEL_VERSION)/kernel/drivers/usb/
DEPMOD = /sbin/depmod
# if Rules.make exists in the kernel tree, we assume 2.4 style modules
# if it doesn't assume 2.5 style
OLDMAKE = $(wildcard $(KERNEL_SRC)/Rules.make)
ifeq (,$(OLDMAKE))
# 2.5 style modules, get the kernel makefiles to do the work
SRCDIR = $(shell pwd)
MODVERDIR = $(SRCDIR)/.tmp_versions
obj-m := $(MODULES)
all: modules
modules:
mkdir -p .tmp_versions
-cp $(KERNEL_SRC)/.tmp_versions/*.mod $(MODVERDIR)
$(MAKE) -C $(KERNEL_SRC) SUBDIRS=$(SRCDIR) MODVERDIR=$(MODVERDIR) \
EXTRA_CFLAGS="-g -DDRIVER_VERSION=\\\"v$(VERSION)\\\" $(FW_DL)" modules
install: all
mkdir -p $(MODULE_DIR)
install -m 644 -o 0 -g 0 $(MODULES:%.o=%.ko) $(MODULE_DIR)
$(DEPMOD) -ae
uninstall:
for f in $(MODULES:%.o=%.ko); do rm $(MODULE_DIR)/$$f; done
else
# 2.4 style modules
CPPFLAGS = -D__KERNEL__ \
-DMODULE -DEXPORT_SYMTAB \
-DDRIVER_VERSION=\"v$(VERSION)\" \
-I$(KERNEL_HEADERS)
CFLAGS = -O2 -Wall -Wstrict-prototypes -pipe -fno-strict-aliasing \
$(FW_DL) \
-fno-common -Wno-sign-compare -Wno-unused
MODVER = $(shell if cat $(KERNEL_HEADERS)/linux/autoconf.h 2>/dev/null | \
grep -q '^[[:space:]]*\#define[[:space:]]*CONFIG_MODVERSIONS[[:space:]]*1'; \
then echo 1; else echo 0; fi)
ifeq ($(MODVER),1)
MFLAG = -DMODVERSIONS -include $(KERNEL_HEADERS)/linux/modversions.h
endif
CCDEP = $(CC) $(CFLAGS) -M
TAR = tar
all: $(MODULES)
TAGS:
rm -f TAGS
# find $(KERNEL_SRC)/ -name '*.[ch]' | xargs etags --append
etags --append $(SRCS) $(HDRS)
install:
mkdir -p $(MODULE_DIR)
for f in $(MODULES); do install -m 644 -o 0 -g 0 $$f $(MODULE_DIR)/$$f; done
/sbin/depmod -a
uninstall:
for f in $(MODULES); do rm $(MODULE_DIR)/$$f; done
.PHONY: dist
%.o: %.c
$(CC) -MD $(CFLAGS) $(CPPFLAGS) $(MFLAG) -c $<
%.s: %.c
$(CC) -MD $(CFLAGS) $(CPPFLAGS) -S $<
%.i: %.c
$(CC) -MD $(CPPFLAGS) -E $< -o $@
-include $(SRCS:%.c=%.d)
endif
clean:
rm -f core *.o *~ a.out *.d
rm -f *.ko *.mod.c .*.cmd
rm -f *.s *.i
rm -rf .tmp_versions
dist:
[ -d $(DISTNAME) ] && rm -rf $(DISTNAME) || true
mkdir $(DISTNAME)
cp -aR $(DISTFILES) $(DISTNAME)
mkdir $(DISTNAME)/scripts
(cd scripts ; cp -aR $(SCRIPTS) ../$(DISTNAME)/scripts)
tar zcvf $(DISTNAME).tar.gz $(DISTNAME)
cd $(DISTNAME) ; rm $(FW_HDRS) ; cd ..
tar zcvf $(DISTNAME)_no_fw.tar.gz $(DISTNAME)
rm -rf $(DISTNAME)
|