configfile := Makefile.config SHELL := /bin/bash deps := subversion cvs squashfs-tools gettext ipsvd bzip2 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 2>/dev/null); \ 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 addon_lists?="\ ff-sd = locales install dvb network webserver vdr addons dvbsddevice setup\n\ ff-hd = locales install dvb network webserver vdr addons dvbhddevice setup\n\ hd = locales install dvb dvb-usb network webserver alsa xorg xorg-autodetect vdr addons setup xinelib xineliboutput\n\ server = config.server locales install dvb network webserver ssh samba vdr addons setup dummydevice skincurses streamdev-server svdrposd\n\ client = locales install network nfs-client webserver alsa xorg xorg-autodetect vdr addons setup xinelib xineliboutput streamdev-client svdrpservice remoteosd remotetimers epgsync\n\ devel = config.devel locales install dvb dvb-usb network nfs-server webserver ssh alsa xorg xorg-autodetect vdr addons setup xinelib xineliboutput\n\ " 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" || "$$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 include Makefile.svn ISO: $(MAKE) checkout name=ISO endif endif