Accepting request 29890 from hardware
Copy from hardware/b43-fwcutter based on submit request 29890 from user coolo OBS-URL: https://build.opensuse.org/request/show/29890 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/b43-fwcutter?expand=0&rev=9
This commit is contained in:
parent
40b0c8ddf6
commit
8d2ce6d8d6
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jan 12 14:38:00 CST 2010 - Larry.Finger@lwfinger.net
|
||||||
|
|
||||||
|
- Add 2 new files with 478.104 firmware
|
||||||
|
* 802.11 cores with rev 16 are msupported
|
||||||
|
- Use ARRAY_SIZE instead of local FILES macro
|
||||||
|
- Add sparse support, Add quiet build, Add autodependencies
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Aug 3 11:56:39 UTC 2009 - cstender@novell.com
|
Mon Aug 3 11:56:39 UTC 2009 - cstender@novell.com
|
||||||
|
|
||||||
|
@ -1,25 +1,293 @@
|
|||||||
|
diff --git fwcutter_list.h fwcutter_list.h
|
||||||
|
index c48bc6d..65c8671 100644
|
||||||
|
--- fwcutter_list.h
|
||||||
|
+++ fwcutter_list.h
|
||||||
|
@@ -238,7 +238,106 @@ static struct extract _2dd738b8feb8b3559fd9d8fbaf3bfffc[] =
|
||||||
|
EXTRACT_LIST_END
|
||||||
|
};
|
||||||
|
|
||||||
|
-/*
|
||||||
|
+static struct extract _1a258b2d93efa641c32ddf3c3a962028[] =
|
||||||
|
+{
|
||||||
|
+ /* { .name = "ucode4", .offset = 0xAFE08, .type = EXT_UCODE_1, .length = 0x4EA0 }, */
|
||||||
|
+ /* { .name = "pcm4", .offset = 0xE8FE0, .type = EXT_PCM, .length = 0x520 }, */
|
||||||
|
+ /* { .name = "b0g0initvals4", .offset = 0xA2878, .type = EXT_IV, .length = 0xE80 }, */
|
||||||
|
+ /* { .name = "a0g0bsinitvals4", .offset = 0xA45C0, .type = EXT_IV, .length = 0x30 }, */
|
||||||
|
+ /* { .name = "b0g0bsinitvals4", .offset = 0xA3700, .type = EXT_IV, .length = 0x30 }, */
|
||||||
|
+ /* { .name = "a0g0initvals4", .offset = 0xA3738, .type = EXT_IV, .length = 0xE80 }, */
|
||||||
|
+ { .name = "ucode5", .offset = 0xB4CAC, .type = EXT_UCODE_2, .length = 0x56F0 },
|
||||||
|
+ { .name = "pcm5", .offset = 0xE9504, .type = EXT_PCM, .length = 0x520 },
|
||||||
|
+ { .name = "a0g0bsinitvals5", .offset = 0xA6578, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "b0g0bsinitvals5", .offset = 0xA5018, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "a0g0initvals5", .offset = 0xA5138, .type = EXT_IV, .length = 0xA18 },
|
||||||
|
+ { .name = "a0g1initvals5", .offset = 0xA5B58, .type = EXT_IV, .length = 0xA18 },
|
||||||
|
+ { .name = "b0g0initvals5", .offset = 0xA45F8, .type = EXT_IV, .length = 0xA18 },
|
||||||
|
+ { .name = "a0g1bsinitvals5", .offset = 0xA6698, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "ucode9", .offset = 0xBA3A0, .type = EXT_UCODE_2, .length = 0x6248 },
|
||||||
|
+ { .name = "a0g0bsinitvals9", .offset = 0xA89C0, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "b0g0initvals9", .offset = 0xA67B8, .type = EXT_IV, .length = 0xAF0 },
|
||||||
|
+ { .name = "a0g1bsinitvals9", .offset = 0xA8AE0, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "b0g0bsinitvals9", .offset = 0xA72B0, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "a0g0initvals9", .offset = 0xA73D0, .type = EXT_IV, .length = 0xAF0 },
|
||||||
|
+ { .name = "a0g1initvals9", .offset = 0xA7EC8, .type = EXT_IV, .length = 0xAF0 },
|
||||||
|
+ { .name = "ucode11", .offset = 0xC05EC, .type = EXT_UCODE_2, .length = 0x8000 },
|
||||||
|
+ { .name = "n0initvals11", .offset = 0xA8C00, .type = EXT_IV, .length = 0xBC8 },
|
||||||
|
+ { .name = "n0bsinitvals11", .offset = 0xA97D0, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "n0absinitvals11", .offset = 0xA98F0, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "ucode13", .offset = 0xC85F0, .type = EXT_UCODE_2, .length = 0x7AC8 },
|
||||||
|
+ { .name = "b0g0bsinitvals13", .offset = 0xABA70, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "b0g0initvals13", .offset = 0xAAED0, .type = EXT_IV, .length = 0xB98 },
|
||||||
|
+ { .name = "a0g1bsinitvals13", .offset = 0xAC730, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "a0g1initvals13", .offset = 0xABB90, .type = EXT_IV, .length = 0xB98 },
|
||||||
|
+ { .name = "lp0bsinitvals13", .offset = 0xAADB0, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "lp0initvals13", .offset = 0xA9A10, .type = EXT_IV, .length = 0x1398 },
|
||||||
|
+ { .name = "ucode14", .offset = 0xD00BC, .type = EXT_UCODE_2, .length = 0x7910 },
|
||||||
|
+ { .name = "lp0initvals14", .offset = 0xAC850, .type = EXT_IV, .length = 0xB80 },
|
||||||
|
+ { .name = "lp0bsinitvals14", .offset = 0xAD3D8, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "ucode15", .offset = 0xD79D0, .type = EXT_UCODE_3, .length = 0x8768 },
|
||||||
|
+ { .name = "lp0initvals15", .offset = 0xAD4F8, .type = EXT_IV, .length = 0xC68 },
|
||||||
|
+ { .name = "lp0bsinitvals15", .offset = 0xAE168, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "ucode16", .offset = 0xE013C, .type = EXT_UCODE_3, .length = 0x8EA0 },
|
||||||
|
+ { .name = "lp0bsinitvals16", .offset = 0xAFCE8, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "n0bsinitvals16", .offset = 0xAEF20, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "sslpn0initvals16", .offset = 0xAF040, .type = EXT_IV, .length = 0x0 },
|
||||||
|
+ { .name = "n0initvals16", .offset = 0xAE288, .type = EXT_IV, .length = 0xC90 },
|
||||||
|
+ { .name = "lp0initvals16", .offset = 0xAF050, .type = EXT_IV, .length = 0xC90 },
|
||||||
|
+ { .name = "sslpn0bsinitvals16", .offset = 0xAF048, .type = EXT_IV, .length = 0x0 },
|
||||||
|
+ EXTRACT_LIST_END
|
||||||
|
+};
|
||||||
|
+static struct extract _bb8537e3204a1ea5903fe3e66b5e2763[] =
|
||||||
|
+{
|
||||||
|
+ /* ucode major version at offset 0xa8b70 */
|
||||||
|
+ /* ucode minor version at offset 0xa8b74 */
|
||||||
|
+ /* { .name = "ucode4", .offset = 0xB6108, .type = EXT_UCODE_1, .length = 0x4EA0 }, */
|
||||||
|
+ /* { .name = "pcm4", .offset = 0xEF2E0, .type = EXT_PCM, .length = 0x520 }, */
|
||||||
|
+ /* { .name = "b0g0initvals4", .offset = 0xA8B78, .type = EXT_IV, .length = 0xE80 }, */
|
||||||
|
+ /* { .name = "a0g0bsinitvals4", .offset = 0xAA8C0, .type = EXT_IV, .length = 0x30 }, */
|
||||||
|
+ /* { .name = "b0g0bsinitvals4", .offset = 0xA9A00, .type = EXT_IV, .length = 0x30 }, */
|
||||||
|
+ /* { .name = "a0g0initvals4", .offset = 0xA9A38, .type = EXT_IV, .length = 0xE80 }, */
|
||||||
|
+ { .name = "ucode5", .offset = 0xBAFAC, .type = EXT_UCODE_2, .length = 0x56F0 },
|
||||||
|
+ { .name = "pcm5", .offset = 0xEF804, .type = EXT_PCM, .length = 0x520 },
|
||||||
|
+ { .name = "b0g0bsinitvals5", .offset = 0xAB318, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "a0g0bsinitvals5", .offset = 0xAC878, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "b0g0initvals5", .offset = 0xAA8F8, .type = EXT_IV, .length = 0xA18 },
|
||||||
|
+ { .name = "a0g1initvals5", .offset = 0xABE58, .type = EXT_IV, .length = 0xA18 },
|
||||||
|
+ { .name = "a0g0initvals5", .offset = 0xAB438, .type = EXT_IV, .length = 0xA18 },
|
||||||
|
+ { .name = "a0g1bsinitvals5", .offset = 0xAC998, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "ucode9", .offset = 0xC06A0, .type = EXT_UCODE_2, .length = 0x6248 },
|
||||||
|
+ { .name = "a0g1initvals9", .offset = 0xAE1C8, .type = EXT_IV, .length = 0xAF0 },
|
||||||
|
+ { .name = "a0g0bsinitvals9", .offset = 0xAECC0, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "b0g0bsinitvals9", .offset = 0xAD5B0, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "b0g0initvals9", .offset = 0xACAB8, .type = EXT_IV, .length = 0xAF0 },
|
||||||
|
+ { .name = "a0g1bsinitvals9", .offset = 0xAEDE0, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "a0g0initvals9", .offset = 0xAD6D0, .type = EXT_IV, .length = 0xAF0 },
|
||||||
|
+ { .name = "ucode11", .offset = 0xC68EC, .type = EXT_UCODE_2, .length = 0x8000 },
|
||||||
|
+ { .name = "n0bsinitvals11", .offset = 0xAFAD0, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "n0absinitvals11", .offset = 0xAFBF0, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "n0initvals11", .offset = 0xAEF00, .type = EXT_IV, .length = 0xBC8 },
|
||||||
|
+ { .name = "ucode13", .offset = 0xCE8F0, .type = EXT_UCODE_2, .length = 0x7AC8 },
|
||||||
|
+ { .name = "b0g0initvals13", .offset = 0xB11D0, .type = EXT_IV, .length = 0xB98 },
|
||||||
|
+ { .name = "a0g1bsinitvals13", .offset = 0xB2A30, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "a0g1initvals13", .offset = 0xB1E90, .type = EXT_IV, .length = 0xB98 },
|
||||||
|
+ { .name = "lp0bsinitvals13", .offset = 0xB10B0, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "b0g0bsinitvals13", .offset = 0xB1D70, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "lp0initvals13", .offset = 0xAFD10, .type = EXT_IV, .length = 0x1398 },
|
||||||
|
+ { .name = "ucode14", .offset = 0xD63BC, .type = EXT_UCODE_2, .length = 0x7910 },
|
||||||
|
+ { .name = "lp0initvals14", .offset = 0xB2B50, .type = EXT_IV, .length = 0xB80 },
|
||||||
|
+ { .name = "lp0bsinitvals14", .offset = 0xB36D8, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "ucode15", .offset = 0xDDCD0, .type = EXT_UCODE_3, .length = 0x8768 },
|
||||||
|
+ { .name = "lp0bsinitvals15", .offset = 0xB4468, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "lp0initvals15", .offset = 0xB37F8, .type = EXT_IV, .length = 0xC68 },
|
||||||
|
+ { .name = "ucode16", .offset = 0xE643C, .type = EXT_UCODE_3, .length = 0x8EA0 },
|
||||||
|
+ { .name = "n0bsinitvals16", .offset = 0xB5220, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ { .name = "sslpn0initvals16", .offset = 0xB5340, .type = EXT_IV, .length = 0x0 },
|
||||||
|
+ { .name = "n0initvals16", .offset = 0xB4588, .type = EXT_IV, .length = 0xC90 },
|
||||||
|
+ { .name = "lp0initvals16", .offset = 0xB5350, .type = EXT_IV, .length = 0xC90 },
|
||||||
|
+ { .name = "sslpn0bsinitvals16", .offset = 0xB5348, .type = EXT_IV, .length = 0x0 },
|
||||||
|
+ { .name = "lp0bsinitvals16", .offset = 0xB5FE8, .type = EXT_IV, .length = 0x118 },
|
||||||
|
+ EXTRACT_LIST_END
|
||||||
|
+};/*
|
||||||
|
* Links change, so let's not put them into the README.
|
||||||
|
* I still put them here so we know where the file was obtained.
|
||||||
|
*/
|
||||||
|
@@ -299,6 +398,24 @@ static const struct file files[] =
|
||||||
|
.flags = FW_FLAG_LE | FW_FLAG_V4 | FW_FLAG_UNSUPPORTED,
|
||||||
|
.extract = _2dd738b8feb8b3559fd9d8fbaf3bfffc,
|
||||||
|
},
|
||||||
|
+ {
|
||||||
|
+ /* ftp://downloads.netgear.com/files/GPL/WNDR3300-V1.0.29_gpl_src.zip */
|
||||||
|
+ .name = "wl_apsta.o",
|
||||||
|
+ .id = "FW15",
|
||||||
|
+ .ucode_version = "478.104",
|
||||||
|
+ .md5 = "1a258b2d93efa641c32ddf3c3a962028",
|
||||||
|
+ .flags = FW_FLAG_LE | FW_FLAG_V4,
|
||||||
|
+ .extract = _1a258b2d93efa641c32ddf3c3a962028,
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ /* http://downloads.openwrt.org/sources/broadcom-wl-4.178.10.4.tar.bz2 */
|
||||||
|
+ .name = "wl_apsta.o",
|
||||||
|
+ .id = "FW15",
|
||||||
|
+ .ucode_version = "478.104",
|
||||||
|
+ .md5 = "bb8537e3204a1ea5903fe3e66b5e2763",
|
||||||
|
+ .flags = FW_FLAG_LE | FW_FLAG_V4,
|
||||||
|
+ .extract = _bb8537e3204a1ea5903fe3e66b5e2763,
|
||||||
|
+ },
|
||||||
|
};
|
||||||
|
|
||||||
|
#define FILES (sizeof(files) / sizeof(files[0]))
|
||||||
|
diff --git fwcutter.c fwcutter.c
|
||||||
|
index 5d5aa80..0d82806 100644
|
||||||
|
--- fwcutter.c
|
||||||
|
+++ fwcutter.c
|
||||||
|
@@ -462,10 +462,10 @@ static void print_supported_files(void)
|
||||||
|
"<ID>\t"
|
||||||
|
"<MD5 checksum>\n\n");
|
||||||
|
/* print for legacy driver first */
|
||||||
|
- for (i = 0; i < FILES; i++)
|
||||||
|
+ for (i = 0; i < ARRAY_SIZE(files); i++)
|
||||||
|
if (file_ok(&files[i]) && !(files[i].flags & FW_FLAG_V4))
|
||||||
|
print_file(&files[i]);
|
||||||
|
- for (i = 0; i < FILES; i++)
|
||||||
|
+ for (i = 0; i < ARRAY_SIZE(files); i++)
|
||||||
|
if (file_ok(&files[i]) && files[i].flags & FW_FLAG_V4)
|
||||||
|
print_file(&files[i]);
|
||||||
|
printf("\n");
|
||||||
|
@@ -491,7 +491,7 @@ static const struct file *find_file(FILE *fd)
|
||||||
|
signature[8], signature[9], signature[10], signature[11],
|
||||||
|
signature[12], signature[13], signature[14], signature[15]);
|
||||||
|
|
||||||
|
- for (i = 0; i < FILES; ++i) {
|
||||||
|
+ for (i = 0; i < ARRAY_SIZE(files); i++) {
|
||||||
|
if (file_ok(&files[i]) &&
|
||||||
|
strcasecmp(md5sig, files[i].md5) == 0) {
|
||||||
|
printf("This file is recognised as:\n");
|
||||||
|
diff --git fwcutter.h fwcutter.h
|
||||||
|
index ac2df63..4a887b6 100644
|
||||||
|
--- fwcutter.h
|
||||||
|
+++ fwcutter.h
|
||||||
|
@@ -9,6 +9,9 @@
|
||||||
|
#define fwcutter_stringify(x) fwcutter_stringify_1(x)
|
||||||
|
#define FWCUTTER_VERSION fwcutter_stringify(FWCUTTER_VERSION_)
|
||||||
|
|
||||||
|
+#undef ARRAY_SIZE
|
||||||
|
+#define ARRAY_SIZE(array) (sizeof(array) / sizeof((array)[0]))
|
||||||
|
+
|
||||||
|
typedef uint16_t be16_t; /* Big-endian 16bit */
|
||||||
|
typedef uint32_t be32_t; /* Big-endian 32bit */
|
||||||
|
|
||||||
|
diff --git fwcutter_list.h fwcutter_list.h
|
||||||
|
index 65c8671..5175bbd 100644
|
||||||
|
--- fwcutter_list.h
|
||||||
|
+++ fwcutter_list.h
|
||||||
|
@@ -287,6 +287,7 @@ static struct extract _1a258b2d93efa641c32ddf3c3a962028[] =
|
||||||
|
{ .name = "sslpn0bsinitvals16", .offset = 0xAF048, .type = EXT_IV, .length = 0x0 },
|
||||||
|
EXTRACT_LIST_END
|
||||||
|
};
|
||||||
|
+
|
||||||
|
static struct extract _bb8537e3204a1ea5903fe3e66b5e2763[] =
|
||||||
|
{
|
||||||
|
/* ucode major version at offset 0xa8b70 */
|
||||||
|
@@ -337,7 +338,9 @@ static struct extract _bb8537e3204a1ea5903fe3e66b5e2763[] =
|
||||||
|
{ .name = "sslpn0bsinitvals16", .offset = 0xB5348, .type = EXT_IV, .length = 0x0 },
|
||||||
|
{ .name = "lp0bsinitvals16", .offset = 0xB5FE8, .type = EXT_IV, .length = 0x118 },
|
||||||
|
EXTRACT_LIST_END
|
||||||
|
-};/*
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
* Links change, so let's not put them into the README.
|
||||||
|
* I still put them here so we know where the file was obtained.
|
||||||
|
*/
|
||||||
|
@@ -417,6 +420,3 @@ static const struct file files[] =
|
||||||
|
.extract = _bb8537e3204a1ea5903fe3e66b5e2763,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
-
|
||||||
|
-#define FILES (sizeof(files) / sizeof(files[0]))
|
||||||
|
-
|
||||||
|
diff --git Makefile Makefile
|
||||||
|
index 2eb2e84..197ddef 100644
|
||||||
--- Makefile
|
--- Makefile
|
||||||
+++ Makefile
|
+++ Makefile
|
||||||
@@ -2,6 +2,7 @@
|
@@ -1,34 +1,63 @@
|
||||||
|
VERSION = 012
|
||||||
|
|
||||||
CC ?= cc
|
-CC ?= cc
|
||||||
PREFIX ?= /usr/local
|
-PREFIX ?= /usr/local
|
||||||
+MANDIR ?= $(PREFIX)/man
|
-CFLAGS ?= -Os -fomit-frame-pointer
|
||||||
CFLAGS ?= -Os -fomit-frame-pointer
|
-CFLAGS += -std=c99 -Wall -pedantic -D_BSD_SOURCE
|
||||||
CFLAGS += -std=c99 -Wall -pedantic -D_BSD_SOURCE
|
-LDFLAGS ?=
|
||||||
LDFLAGS ?=
|
+# The toolchain definitions
|
||||||
@@ -22,10 +23,10 @@
|
+CC = cc
|
||||||
$(CC) $(CFLAGS) -o $(BIN) $(OBJECTS) $(LDFLAGS)
|
+SPARSE = sparse
|
||||||
|
+
|
||||||
|
+V = @ # Verbose build: make V=1
|
||||||
|
+C = 0 # Sparsechecker build: make C=1
|
||||||
|
+Q = $(V:1=)
|
||||||
|
+QUIET_CC = $(Q:@=@echo ' CC '$@;)$(CC)
|
||||||
|
+QUIET_DEPEND = $(Q:@=@echo ' DEPEND '$@;)$(CC)
|
||||||
|
+ifeq ($(C),1)
|
||||||
|
+QUIET_SPARSE = $(Q:@=@echo ' SPARSE '$@;)$(SPARSE)
|
||||||
|
+else
|
||||||
|
+QUIET_SPARSE = @/bin/true
|
||||||
|
+endif
|
||||||
|
|
||||||
|
+PREFIX ?= /usr/local
|
||||||
|
+CFLAGS ?= -Os -fomit-frame-pointer
|
||||||
|
+CFLAGS += -std=c99 -Wall -pedantic -D_BSD_SOURCE
|
||||||
|
+LDFLAGS ?=
|
||||||
|
|
||||||
|
-OBJECTS = fwcutter.o md5.o
|
||||||
|
+SRCS = fwcutter.c md5.c
|
||||||
|
BIN = b43-fwcutter
|
||||||
|
|
||||||
|
CFLAGS += -DFWCUTTER_VERSION_=$(VERSION)
|
||||||
|
|
||||||
|
-all: $(BIN)
|
||||||
|
+.SUFFIXES:
|
||||||
|
+.PHONY: all install clean distclean
|
||||||
|
+.DEFAULT_GOAL := all
|
||||||
|
+
|
||||||
|
+DEPS = $(sort $(patsubst %.c,dep/%.d,$(1)))
|
||||||
|
+OBJS = $(sort $(patsubst %.c,obj/%.o,$(1)))
|
||||||
|
|
||||||
|
-fwcutter.o: fwcutter.h fwcutter_list.h md5.h
|
||||||
|
+# Generate dependencies
|
||||||
|
+$(call DEPS,$(SRCS)): dep/%.d: %.c
|
||||||
|
+ @mkdir -p $(dir $@)
|
||||||
|
+ $(QUIET_DEPEND) -o $@.tmp -MM -MG -MT "$@ $(patsubst dep/%.d,obj/%.o,$@)" $(CFLAGS) $< && mv -f $@.tmp $@
|
||||||
|
|
||||||
|
-md5.o: md5.h
|
||||||
|
+-include $(call DEPS,$(SRCS))
|
||||||
|
+
|
||||||
|
+# Generate object files
|
||||||
|
+$(call OBJS,$(SRCS)): obj/%.o:
|
||||||
|
+ @mkdir -p $(dir $@)
|
||||||
|
+ $(QUIET_SPARSE) $(SPARSEFLAGS) $<
|
||||||
|
+ $(QUIET_CC) -o $@ -c $(CFLAGS) $<
|
||||||
|
+
|
||||||
|
+all: $(BIN)
|
||||||
|
|
||||||
|
-$(BIN): $(OBJECTS)
|
||||||
|
- $(CC) $(CFLAGS) -o $(BIN) $(OBJECTS) $(LDFLAGS)
|
||||||
|
+$(BIN): $(call OBJS,$(SRCS))
|
||||||
|
+ $(QUIET_CC) $(CFLAGS) -o $(BIN) $(call OBJS,$(SRCS)) $(LDFLAGS)
|
||||||
|
|
||||||
install: all
|
install: all
|
||||||
- -install -d -o 0 -g 0 -m 755 $(PREFIX)/bin/
|
- -install -d -o 0 -g 0 -m 755 $(PREFIX)/bin/
|
||||||
- -install -o 0 -g 0 -m 755 $(BIN) $(PREFIX)/bin/
|
- -install -o 0 -g 0 -m 755 $(BIN) $(PREFIX)/bin/
|
||||||
- -install -d -o 0 -g 0 -m 755 $(PREFIX)/man/man1/
|
- -install -d -o 0 -g 0 -m 755 $(PREFIX)/man/man1/
|
||||||
- -install -o 0 -g 0 -m 644 $(BIN).1 $(PREFIX)/man/man1/
|
- -install -o 0 -g 0 -m 644 $(BIN).1 $(PREFIX)/man/man1/
|
||||||
+ -mkdir -p $(PREFIX)/bin
|
+ install -d $(PREFIX)/bin/
|
||||||
+ -install -m 755 $(BIN) $(PREFIX)/bin/
|
+ install $(BIN) $(PREFIX)/bin/
|
||||||
+ -mkdir -p $(MANDIR)/man1/
|
+ install -d $(PREFIX)/share/man/man1/
|
||||||
+ -install -m 644 $(BIN).1 $(MANDIR)/man1/
|
+ install -m 444 $(BIN).1 $(PREFIX)/share/man/man1/
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
-rm -f *.o $(BIN)
|
- -rm -f *.o $(BIN)
|
||||||
|
+ -rm -Rf obj dep *.orig *.rej *~
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
- -rm -f *.fw *.orig *.rej *~
|
||||||
|
+ -rm -f *.fw $(BIN)
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package b43-fwcutter (Version 012)
|
# spec file for package b43-fwcutter (Version 012)
|
||||||
#
|
#
|
||||||
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -23,12 +23,12 @@ Group: Hardware/Wifi
|
|||||||
AutoReqProv: on
|
AutoReqProv: on
|
||||||
Summary: Tool for extracting firmware from newer Broadcom WLAN drivers
|
Summary: Tool for extracting firmware from newer Broadcom WLAN drivers
|
||||||
Version: 012
|
Version: 012
|
||||||
Release: 1
|
Release: 2
|
||||||
Source: %{name}-%{version}.tar.bz2
|
Source: %{name}-%{version}.tar.bz2
|
||||||
Patch0: %{name}.diff
|
Patch0: %{name}.diff
|
||||||
Source1: install_bcm43xx_firmware
|
Source1: install_bcm43xx_firmware
|
||||||
Url: http://linuxwireless.org/en/users/Drivers/b43
|
Url: http://linuxwireless.org/en/users/Drivers/b43
|
||||||
License: BSD 3-clause (or similar) ; BSD 4-clause (or similar)
|
License: BSD3c(or similar) ; BSD4c(or similar)
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
Requires: curl
|
Requires: curl
|
||||||
Obsoletes: bcm43xx-fwcutter
|
Obsoletes: bcm43xx-fwcutter
|
||||||
|
@ -7,8 +7,8 @@
|
|||||||
|
|
||||||
# firmware for b43
|
# firmware for b43
|
||||||
URL1=http://mirror2.openwrt.org/sources
|
URL1=http://mirror2.openwrt.org/sources
|
||||||
FILE1=broadcom-wl-4.150.10.5.tar.bz2
|
FILE1=broadcom-wl-4.178.10.4.tar.bz2
|
||||||
FIRMWARE1=broadcom-wl-4.150.10.5/driver/wl_apsta_mimo.o
|
FIRMWARE1=broadcom-wl-4.178.10.4/linux/wl_apsta.o
|
||||||
|
|
||||||
# firmware for b43legacy
|
# firmware for b43legacy
|
||||||
URL2=http://downloads.openwrt.org/sources
|
URL2=http://downloads.openwrt.org/sources
|
||||||
|
Loading…
Reference in New Issue
Block a user