summaryrefslogtreecommitdiff
path: root/v4l
diff options
context:
space:
mode:
Diffstat (limited to 'v4l')
-rw-r--r--v4l/Makefile16
-rw-r--r--v4l/firmware/Makefile45
2 files changed, 54 insertions, 7 deletions
diff --git a/v4l/Makefile b/v4l/Makefile
index 57bb4e614..b43b59867 100644
--- a/v4l/Makefile
+++ b/v4l/Makefile
@@ -39,14 +39,15 @@ endif # TOPDIR
#################################################
# default compilation rule
-default:: config-compat.h Makefile.media links oss # firmware
+default:: config-compat.h Makefile.media links oss
@echo Kernel build directory is $(OUTDIR)
$(MAKE) -C $(OUTDIR) SUBDIRS=$(PWD) $(MYCFLAGS) modules
./scripts/rmmod.pl check
# $(MAKE) checkpatch
-firmware:: firmlinks
- $(MAKE) -C $(OUTDIR) SUBDIRS=$(PWD)/firmware $(MYCFLAGS) modules
+firmware::
+ $(MAKE) -C firmware
+
#################################################
# Object specific rules
@@ -205,6 +206,9 @@ install:: media-install
remove rminstall:: media-rminstall
+firmware_install::
+ make -C firmware install
+
#################################################
# Compiling preparation rules
@@ -252,10 +256,6 @@ links::
@find ../linux/drivers/media -name '*.[ch]' -type f -print0 | xargs -0n 255 ln -sf --target-directory=.
@find ../linux/sound -name '*.[ch]' -type f -print0 | xargs -0n 255 ln -sf --target-directory=.
-firmlinks::
- for i in `find ../linux/firmware/ -type d|sed s,"../linux/firmware",,`; do mkdir -p firmware/$$i; done >/dev/null
- for i in `find ../linux/firmware/ -type f|sed s,"../linux/firmware",,`; do ln -sf $(PWD)/../linux/firmware/$$i firmware/$$i; done
-
# This link is so code with #include "oss/*.h" will find its header files
oss:
ln -sf . oss
@@ -280,6 +280,7 @@ clean::
@find . -name '*.h' -type l -exec rm '{}' \;
-rm -f *~ *.o *.ko .*.o.cmd .*.ko.cmd *.mod.c av7110_firm.h fdump \
config-compat.h Module.symvers
+ make -C firmware clean
distclean:: clean
-rm -f .version .*.o.flags .*.o.d Makefile.media \
@@ -289,6 +290,7 @@ distclean:: clean
-rm -f scripts/lxdialog scripts/kconfig oss
@find .. -name '*.orig' -exec rm '{}' \;
@find .. -name '*.rej' -exec rm '{}' \;
+ $(MAKE) -C firmware distclean
#################################################
# Kernel module insert/removal rules
diff --git a/v4l/firmware/Makefile b/v4l/firmware/Makefile
new file mode 100644
index 000000000..e018ad92a
--- /dev/null
+++ b/v4l/firmware/Makefile
@@ -0,0 +1,45 @@
+DIRS = vicam dabusb ttusb-budget cpia2
+
+TARGETS = ihex2fw vicam/firmware.fw dabusb/firmware.fw dabusb/bitstream.bin ttusb-budget/dspbootcode.bin cpia2/stv0672_vp4.bin
+
+####
+
+default: $(TARGETS)
+
+clean:
+ -rm $(TARGETS)
+
+distclean: clean
+ -rmdir $(DIRS)
+
+install: default
+ -for i in $(DIRS); do mkdir /lib/firmware/$$i; done
+ -for i in $(TARGETS); do cp $$i /lib/firmware/$$i; done
+
+
+######
+
+mkdir:
+ -mkdir $(DIRS)
+
+
+ihex2fw: ../../linux/firmware/ihex2fw.c
+ gcc -Wall -o $@ $<
+
+vicam/firmware.fw: ../../linux/firmware/vicam/firmware.H16 mkdir
+ -mkdir vicam
+ ./ihex2fw -w $< $@
+
+dabusb/firmware.fw: ../../linux/firmware/dabusb/firmware.HEX mkdir
+ ./ihex2fw $< $@
+
+ttusb-budget/dspbootcode.bin: ../../linux/firmware/ttusb-budget/dspbootcode.bin.ihex mkdir
+ objcopy -Iihex -Obinary $< $@
+
+
+dabusb/bitstream.bin: ../../linux/firmware/dabusb/bitstream.bin.ihex mkdir
+ objcopy -Iihex -Obinary $< $@
+
+cpia2/stv0672_vp4.bin: ../../linux/firmware/cpia2/stv0672_vp4.bin.ihex mkdir
+ objcopy -Iihex -Obinary $< $@
+