diff options
Diffstat (limited to 'v4l')
-rw-r--r-- | v4l/Makefile | 16 | ||||
-rw-r--r-- | v4l/firmware/Makefile | 45 |
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 $< $@ + |