From 024b9079eeec55bcadb8487b70c8659db7b6b6f2 Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" Date: Tue, 17 Jun 2008 21:00:58 +0000 Subject: get non-hotplug firmware building working again git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4379 a0bf4364-ded3-4de4-8d8a-66a801d63aff --- build_tools/make_firmware_object.in | 11 --------- drivers/dahdi/firmware/Makefile | 33 ++++++++++++++++---------- drivers/dahdi/firmware/make_firmware_object.in | 8 +++++++ drivers/dahdi/wctc4xxp/Kbuild | 2 +- drivers/dahdi/wctdm24xxp/Kbuild | 2 +- drivers/dahdi/wcte12xp/Kbuild | 2 +- 6 files changed, 31 insertions(+), 27 deletions(-) delete mode 100755 build_tools/make_firmware_object.in create mode 100755 drivers/dahdi/firmware/make_firmware_object.in diff --git a/build_tools/make_firmware_object.in b/build_tools/make_firmware_object.in deleted file mode 100755 index 1c301a4..0000000 --- a/build_tools/make_firmware_object.in +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -e - -# make an object file from a raw binary firmware file -# arguments: -# 1 - firmware file -# 2 - output file - -bfdname=@BDFNAME@ -bfdarch=@BDFARCH@ - -objcopy -I binary ${1} -B ${bfdarch} -O ${bfdname} ${2} --rename-section .data=.rodata,alloc,load,data,contents,readonly diff --git a/drivers/dahdi/firmware/Makefile b/drivers/dahdi/firmware/Makefile index 03a9560..54ce709 100644 --- a/drivers/dahdi/firmware/Makefile +++ b/drivers/dahdi/firmware/Makefile @@ -13,8 +13,6 @@ .PHONY: dist-clean all uninstall have_download install --include ../menuselect.makeopts ../makeopts - PWD:=$(shell pwd) OCT6114_064_VERSION:=1.05.01 @@ -24,20 +22,22 @@ VPMADT032_VERSION:=1.07 FIRMWARE_URL:=http://downloads.digium.com/pub/telephony/firmware/releases +ALL_FIRMWARE="FIRMWARE-OCT6114-064 FIRMWARE-OCT6114-128 FIRMWARE-TC400M FIRMWARE-VPMADT032" + # Firmware files should use the naming convention: dahdi-fw--- or dahdi-fw-- # First example: dahdi-fw-oct6114-064-1.05.01 -# This means this is version 1.05.01 of the oct6114 64 firmware +# This means this is version 1.05.01 of the oct6114-064 firmware # Second example: dahdi-fw-tc400m-MR5.6 # This means this is version MR5.6 of the tc400m firmware # Build a list of firmware package filenames we need -FIRMWARE:=$(MENUSELECT_FIRMWARE:FIRMWARE-OCT6114-064=dahdi-fw-oct6114-064-$(OCT6114_064_VERSION).tar.gz) +FIRMWARE:=$(ALL_FIRMWARE:FIRMWARE-OCT6114-064=dahdi-fw-oct6114-064-$(OCT6114_064_VERSION).tar.gz) FIRMWARE:=$(FIRMWARE:FIRMWARE-OCT6114-128=dahdi-fw-oct6114-128-$(OCT6114_128_VERSION).tar.gz) FIRMWARE:=$(FIRMWARE:FIRMWARE-TC400M=dahdi-fw-tc400m-$(TC400M_VERSION).tar.gz) FIRMWARE:=$(FIRMWARE:FIRMWARE-VPMADT032=dahdi-fw-vpmadt032-$(VPMADT032_VERSION).tar.gz) # Build a list of object files if hotplug will not be used -OBJECT_FILES:=$(MENUSELECT_FIRMWARE:FIRMWARE-OCT6114-064=dahdi-fw-oct6114-064.o) +OBJECT_FILES:=$(ALL_FIRMWARE:FIRMWARE-OCT6114-064=dahdi-fw-oct6114-064.o) OBJECT_FILES:=$(OBJECT_FILES:FIRMWARE-OCT6114-128=dahdi-fw-oct6114-128.o) OBJECT_FILES:=$(OBJECT_FILES:FIRMWARE-TC400M=dahdi-fw-tc400m.o) OBJECT_FILES:=$(OBJECT_FILES:FIRMWARE-VPMADT032=dahdi-fw-vpmadt032.o) @@ -158,6 +158,7 @@ endif dist-clean: clean rm -f dahdi-fw-*.bin rm -f dahdi-fw-*.tar.gz + rm -f make_firmware_object # Clean up anything we built clean: @@ -180,22 +181,28 @@ hotplug-uninstall: rm -f $(DESTDIR)/lib/firmware/.dahdi-fw*; \ fi +make_firmware_object: make_firmware_object.in ../dahdi-base.o + @export BFDNAME=`LANG=C objdump -f ../dahdi-base.o | grep -e "dahdi-base.o:" | sed "s/.*file format \(.*\)/\1/"`; \ + export BFDARCH=`LANG=C objdump -f ../dahdi-base.o | grep -e "architecture:" | sed "s/.*ture: \(.*\),.*/\1/"`; \ + sed -e s/BFDNAME/$${BFDNAME}/ -e s/BFDARCH/$${BFDARCH}/ $< > $@ + @chmod +x $@ + # Build object file of an oct6114 064 firmware image for linking -dahdi-fw-oct6114-064.o: dahdi-fw-oct6114-064-$(OCT6114_064_VERSION).tar.gz dahdi-fw-oct6114-064.bin +dahdi-fw-oct6114-064.o: dahdi-fw-oct6114-064-$(OCT6114_064_VERSION).tar.gz dahdi-fw-oct6114-064.bin make_firmware_object @echo Making firmware object file for dahdi-fw-oct6114-064.bin - ../build_tools/make_firmware_object dahdi-fw-oct6114-064.bin $@ + ./make_firmware_object dahdi-fw-oct6114-064.bin $@ # Build object file of an oct6114 128 firmware image for linking -dahdi-fw-oct6114-128.o: dahdi-fw-oct6114-128-$(OCT6114_128_VERSION).tar.gz dahdi-fw-oct6114-128.bin +dahdi-fw-oct6114-128.o: dahdi-fw-oct6114-128-$(OCT6114_128_VERSION).tar.gz dahdi-fw-oct6114-128.bin make_firmware_object @echo Making firmware object file for dahdi-fw-oct6114-128.bin - ../build_tools/make_firmware_object dahdi-fw-oct6114-128.bin $@ + ./make_firmware_object dahdi-fw-oct6114-128.bin $@ # Build object file of a TC400M firmware image for linking -dahdi-fw-tc400m.o: dahdi-fw-tc400m-$(TC400M_VERSION).tar.gz dahdi-fw-tc400m.bin +dahdi-fw-tc400m.o: dahdi-fw-tc400m-$(TC400M_VERSION).tar.gz dahdi-fw-tc400m.bin make_firmware_object @echo Making firmware object file for dahdi-fw-tc400m.bin - ../build_tools/make_firmware_object dahdi-fw-tc400m.bin $@ + ./make_firmware_object dahdi-fw-tc400m.bin $@ # Build object file of a VPMADT032 firmware image for linking -dahdi-fw-vpmadt032.o: dahdi-fw-vpmadt032-$(VPMADT032_VERSION).tar.gz dahdi-fw-vpmadt032.bin +dahdi-fw-vpmadt032.o: dahdi-fw-vpmadt032-$(VPMADT032_VERSION).tar.gz dahdi-fw-vpmadt032.bin make_firmware_object @echo Making firmware object file for dahdi-fw-vpmadt032.bin - ../build_tools/make_firmware_object dahdi-fw-vpmadt032.bin $@ + ./make_firmware_object dahdi-fw-vpmadt032.bin $@ diff --git a/drivers/dahdi/firmware/make_firmware_object.in b/drivers/dahdi/firmware/make_firmware_object.in new file mode 100755 index 0000000..0effb32 --- /dev/null +++ b/drivers/dahdi/firmware/make_firmware_object.in @@ -0,0 +1,8 @@ +#!/bin/sh -e + +# make an object file from a raw binary firmware file +# arguments: +# 1 - firmware file +# 2 - output file + +objcopy -I binary ${1} -B BFDARCH -O BFDNAME ${2} --rename-section .data=.rodata,alloc,load,data,contents,readonly diff --git a/drivers/dahdi/wctc4xxp/Kbuild b/drivers/dahdi/wctc4xxp/Kbuild index 507cc54..3794ff7 100644 --- a/drivers/dahdi/wctc4xxp/Kbuild +++ b/drivers/dahdi/wctc4xxp/Kbuild @@ -1,6 +1,6 @@ obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTC4XXP) += wctc4xxp.o -FIRM_DIR := ../../firmware +FIRM_DIR := ../firmware EXTRA_CFLAGS := -I$(src)/.. -Wno-undef diff --git a/drivers/dahdi/wctdm24xxp/Kbuild b/drivers/dahdi/wctdm24xxp/Kbuild index 4a88de7..e785038 100644 --- a/drivers/dahdi/wctdm24xxp/Kbuild +++ b/drivers/dahdi/wctdm24xxp/Kbuild @@ -1,6 +1,6 @@ obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTDM24XXP) += wctdm24xxp.o -FIRM_DIR := ../../firmware +FIRM_DIR := ../firmware EXTRA_CFLAGS := -I$(src)/.. -Wno-undef diff --git a/drivers/dahdi/wcte12xp/Kbuild b/drivers/dahdi/wcte12xp/Kbuild index d262480..ec33727 100644 --- a/drivers/dahdi/wcte12xp/Kbuild +++ b/drivers/dahdi/wcte12xp/Kbuild @@ -1,6 +1,6 @@ obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCTE12XP) += wcte12xp.o -FIRM_DIR := ../../firmware +FIRM_DIR := ../firmware EXTRA_CFLAGS := -I$(src)/.. -Wno-undef -- cgit v1.2.3