configfile := Makefile.config SHELL := /bin/bash deps := subversion cvs squashfs-tools gettext ipsvd bzip2 lsb-release ifeq ($(MAKECMDGOALS),deps) .SILENT: deps: @ echo -n "$(deps) "; \ while read modul; do \ if [ -d $$modul ]; then \ test -n "$(verbose)" && echo -en "\n$$modul: " >&2; \ deps=$$($(MAKE) -s -C $$modul deps); \ test -n "$$deps" && echo -n "$$deps "; \ fi; \ done < modules_list; \ echo else ifeq ($(wildcard $(configfile)),) .SILENT: all %: @$(MAKE) -s $(configfile) @$(MAKE) $* include Makefile.svn include Makefile.tools $(configfile): @$(MAKE) -s dep @echo ".SILENT:" >> $(configfile) else include $(configfile) SHELL := /bin/bash ifeq ($(findstring arm,$(shell uname -m)),) # x86 systems addon_lists ?="\ ff-sd = locales install dvb network webserver remote-autodetect vdr addons dvbsddevice eventlircd irkeytable dvb-remote setup\n\ ff-hd = locales install dvb network webserver remote-autodetect vdr addons dvbhddevice eventlircd irkeytable dvb-remote setup\n\ standard = locales install dvb dvb-usb network webserver alsa remote-autodetect lib-x xorg xorg-autodetect vdr addons setup lib-xine xineliboutput eventlircd irkeytable dvb-remote\n\ server = config.server locales install dvb network nfs-server webserver ssh lib-curl samba vdr addons setup dummydevice skincurses streamdev-server svdrposd\n\ client = locales install network ntp-client nfs-client webserver alsa remote-autodetect lib-x xorg xorg-autodetect vdr addons setup lib-xine xineliboutput streamdev-client svdrpservice remoteosd remotetimers eventlircd irkeytable dvb-remote\n\ iptv = locales install network ntp-client webserver alsa remote-autodetect lib-x xorg xorg-autodetect vdr addons setup lib-xine xineliboutput lib-av vlc iptv eventlircd irkeytable dvb-remote\n\ web = locales install network webserver alsa lib-x xorg xorg-autodetect lib-pango fonts firefox flashplugin\n\ " else # arm systems addon_lists ?= "\ xorg = locales network ssh webserver lib-x xorg\n\ standard = locales dvb-usb network webserver ssh alsa remote-autodetect lib-x xorg vdr addons setup lib-xine xineliboutput\n\ xbmc-pvr = locales dvb-usb network webserver ssh alsa remote-autodetect lib-x xorg vdr addons setup dummydevice skincurses vnsiserver lib-curl python xbmc.pvr\n\ xbmc = locales dvb-usb network webserver ssh alsa remote-autodetect lib-x xorg lib-curl python xbmc\n\ server = config.server locales dvb-usb network webserver ssh samba vdr addons setup dummydevice skincurses streamdev-server svdrposd\n\ client = locales network ntp-client nfs-client webserver ssh alsa remote-autodetect lib-x xorg vdr addons setup lib-xine xineliboutput streamdev-client svdrpservice remoteosd remotetimers epgsync\n\ vomp-client = locales network ntp-client webserver ssh alsa remote-autodetect lib-av vc vompclient\n\ vomp = locales dvb-usb network webserver ssh alsa remote-autodetect vdr dummydevice skincurses vompserver lib-av vc vompclient\n\ " endif addon_lists?="\ activy = devel-tools activy dvb.hg vdr setup em84xx-base em84xx network.small telnet samba\n\ " addon_inactiv_list?="\ usbdvb = softdevice-vidix network.wlan\n\ " isos: ISO echo "Build ISO$(if $(name), $(name),s):" svn status | grep "^M" || true @echo -e $(addon_lists) | while read addons; do \ if [ -n "$${addons%% *}" -a \( -z "$(name)$(i)" -o "$${addons%% *}" = "$(name)$(i)" \) ]; then \ addons_inactiv="`echo "$(addon_inactiv_list)" | grep "^$${addons%% *} "`"; \ $(MAKE) -C ISO collection=$${addons%% *} addon_list="$${addons##*=}" addon_inactiv_list="$${addons_inactiv##*=}"; \ fi; \ done iso: $(MAKE) isos no_addon_build=1 all: echo "Build all:" rm -f broken_addons.lst @while read modul; do \ if [ -e $$modul ]; then \ if [ ! -e $$modul/Makefile ]; then \ echo "Makefile missing in Addon: $$modul"; \ else \ $(MAKE) -C $$modul || { echo $$modul >> broken_addons.lst; test "$$modul" != "KERNEL" -a "$$modul" != "INITRAMFS" || exit 1; }; \ fi; \ fi; \ done < modules_list $(MAKE) iso if [ -e broken_addons.lst ]; then \ echo -e "\nThe following addons can't be compile"; \ cat broken_addons.lst; \ rm broken_addons.lst; \ fi clean_all: echo "Clean all:" @while read modul; do \ if [ -d $$modul ]; then \ echo "$$modul:"; \ $(MAKE) -C $$modul clean; \ fi; \ done < modules_list rm -r !_addons clean_src_all: $(MAKE) -f ../Makefile.getfile clean_all changes: @for d in *; do \ if [ -d "$$d/template" ]; then \ ( \ cd $$d; \ m=$$(svn status 2>/dev/null | grep -e "^M" -e "^A" -e "^D" -e "^\? \+template/" | grep -v "\.po"); \ if [ -n "$$m" ]; then \ echo "$$d"; \ echo "$$m"; \ fi \ ); \ fi; \ done include Makefile.svn ISO: $(MAKE) checkout name=ISO endif endif