--- /dev/null
+# master makefile
+
+include make/environment.mk
+include make/prerequisites.mk
+include make/bootstrap.mk
+include make/crosstool.mk
+include make/neutrino.mk
+include make/libraries.mk
+include make/applications.mk
+include make/archives.mk
+include make/plugins.mk
+include make/multimedia.mk
+include make/rootfs.mk
+include make/bootloader.mk
+include make/kernel.mk
+include make/drivers.mk
+include make/flashimage.mk
+include make/cleantargets.mk
+
+############################################################################
+# a print out of environment variables
+#
+# maybe a help about all supported targets would be nice here, too...
+#
+printenv:
+ @echo ""
+ @echo ' ============================================================================== '
+ @echo " Coolstream Environment Varibles:"
+ @echo " CROSS_DIR: $(CROSS_DIR)"
+ @echo " CROSS_BASE: $(CROSS_BASE)"
+ @echo " TARGET: $(TARGET)"
+ @echo " BASE_DIR: $(BASE_DIR)"
+ @echo " BUILD: $(BUILD)"
+ @echo " PATH: $(PATH)"
+ @echo ' ============================================================================== '
+ @PATH=$(PATH):$(CROSS_DIR)/bin; \
+ if type -p $(TARGET)-gcc >/dev/null 2>&1; then \
+ echo " $(TARGET)-gcc found in PATH or in \$$CROSS_DIR/bin."; \
+ echo; \
+ else \
+ echo " $(TARGET)-gcc not found in PATH or \$$CROSS_DIR/bin"; \
+ echo " please check your setup. Maybe you want to 'make crosstool'."; \
+ echo; \
+ fi
+ @echo ""
+ @echo " a few helpful make targets:"
+ @echo " * make toolcheck - check necessary system tools"
+ @echo " * make prerequisites - downloads necessary stuff"
+ @echo " * make crosstool - build cross toolchain, plz check your .config"
+ @echo " * make bootstrap - prepares for building"
+ @echo " * make neutrino - builds neutrino"
+ @echo " * make neutrino-new - builds neutrino with new tool/lib versions"
+ @echo " * make bootloader - builds bootloader"
+ @echo " * make kernel - builds kernel"
+ @echo ""
+ @echo " ...and some more make targets:"
+ @echo " * make wittinobi-init - builds prerequisites and bootstrap"
+ @echo " * make wittinobi-neutrino - builds neutrino with a complete filesystem (build_tmp/rootfs)"
+ @echo " * make wittinobi-neutrino-new - builds neutrino-new with a complete filesystem (build_tmp/rootfs)"
+ @echo " * make wittinobi-neutrino-flash - builds wittinobi-neutrino, creates a tarball (build_tmp/*systemfs*.tar)"
+ @echo " and a flash-image (build_tmp/*systemfs*.img)"
+ @echo " * make wittinobi-neutrino-flash-new - builds wittinobi-neutrino-new, creates a tarball (build_tmp/*systemfs*.tar)"
+ @echo " and a flash-image (build_tmp/*systemfs*.img)"
+ @echo " * make wittinobi-all - builds wittinobi-neutrino, creates a tarball (build_tmp/*systemfs*.tar)"
+ @echo " and a u-boot-image (build_tmp/*u-boot*.img)"
+ @echo " and a kernel-image (build_tmp/*kernel*.img)"
+ @echo " and a flash-image (build_tmp/*systemfs*.img)"
+ @echo " and a flash-image with kernel-image (build_tmp/*full*.img)"
+ @echo " * make wittinobi-all-new - builds wittinobi-neutrino-new, creates a tarball (build_tmp/*systemfs*.tar)"
+ @echo " and a u-boot-image (build_tmp/*u-boot*.img)"
+ @echo " and a kernel-image (build_tmp/*kernel*.img)"
+ @echo " and a flash-image (build_tmp/*systemfs*.img)"
+ @echo " and a flash-image with kernel-image (build_tmp/*full*.img)"
+ @echo ""
+ @echo " later, you might find those useful:"
+ @echo " * make update-self - update the build system"
+ @echo " * make update-neutrino - update the neutrino source"
+ @echo " * make update-svn - update the coolstream svn"
+ @echo " * make update-svn-target - copy updated svn into \$$TARGETPREFIX"
+ @echo ""
+ @echo " cleantargets:"
+ @echo " * make clean - clean neutrino build dir"
+ @echo " * make rebuild-clean - additionally remove \$$TARGETPREFIX, but keep the toolchain"
+ @echo " after that you need to restart with 'bootstrap'"
+ @echo " * make all-clean - additionally remove the crosscompiler"
+ @echo " you usually don't want to do that."
+ @echo
+
+help:
+ $(MAKE) printenv
+
+toolcheck:
+ $(MAKE)/./toolchecker.mk
+
+update-self:
+ git pull
+
+update-neutrino:
+ $(MAKE) $(SOURCE_DIR)/neutrino-hd && git pull
+
+update-svn:
+ cd $(SVN_COOLSTREAM) && $(SVN) up *
+ cd $(SVN_CROSSENVIROMENT) && $(SVN) up *
+ cd $(SVN_THIRDPARTY)/applications/tools/busybox-1.2.0 && $(SVN) up *
+ cd $(SVN_THIRDPARTY)/applications/tools/hotplug && $(SVN) up *
+ cd $(SVN_THIRDPARTY)/applications/plugins/lbreakout2-2.6 && $(SVN) up *
+ cd $(SVN_THIRDPARTY)/applications/plugins/links && $(SVN) up *
+ cd $(SVN_THIRDPARTY)/applications/plugins/ltris-1.0.13 && $(SVN) up *
+ cd $(SVN_THIRDPARTY)/libraries && $(SVN) up *
+ cd $(SVN_THIRDPARTY)/lib && $(SVN) up *
+ cd $(SVN_THIRDPARTY)/kernel && $(SVN) up *
+ cd $(SVN_THIRDPARTY)/drivers && $(SVN) up *
+ cd $(SVN_THIRDPARTY)/bootloader && $(SVN) up *
+ $(MAKE) $(GIT_LIBRARIES)/dvbsi && git pull
+ $(MAKE) $(GIT_LIBRARIES)/ffmpeg && git pull
+ $(MAKE) $(GIT_DRIVERS) && git pull
+
+update-svn-target:
+ $(MAKE) modules includes-and-libs
+
+all:
+ @echo ""
+ @echo " ****************************************************************************** "
+ @echo " !!! 'make all' is not a valid target, please read the documentation !!!"
+ @echo " ****************************************************************************** "
+
+# wittinobi
+wittinobi-init:
+ $(MAKE) prerequisites bootstrap
+ @echo ""
+ @echo ' ============================================================================== '
+ @echo " make wittinobi-init done"
+ @echo ' ============================================================================== '
+
+wittinobi-neutrino:
+ if [ $(MULTIMEDIA) == no ]; then \
+ $(MAKE) neutrino applications-all plugins skeleton rootfs; \
+ elif [ $(MULTIMEDIA) == yes ]; then \
+ $(MAKE) neutrino applications-all plugins multimedia skeleton rootfs; \
+ else \
+ $(MAKE) neutrino applications-all plugins skeleton rootfs; \
+ fi
+ @echo ""
+ @echo ' ============================================================================== '
+ @echo " make wittinobi-neutrino done"
+ @echo ' ============================================================================== '
+
+wittinobi-neutrino-new:
+ if [ $(MULTIMEDIA) == no ]; then \
+ $(MAKE) neutrino-new applications-all-new plugins skeleton rootfs; \
+ elif [ $(MULTIMEDIA) == yes ]; then \
+ $(MAKE) neutrino-new applications-all-new plugins multimedia-new skeleton rootfs; \
+ else \
+ $(MAKE) neutrino-new applications-all-new plugins skeleton rootfs; \
+ fi
+ @echo ""
+ @echo ' ============================================================================== '
+ @echo " make wittinobi-neutrino-new done"
+ @echo ' ============================================================================== '
+
+wittinobi-neutrino-flash:
+ if [ $(MULTIMEDIA) == no ]; then \
+ $(MAKE) neutrino applications-all plugins skeleton rootfs flash; \
+ elif [ $(MULTIMEDIA) == yes ]; then \
+ $(MAKE) neutrino applications-all plugins multimedia skeleton rootfs flash; \
+ else \
+ $(MAKE) neutrino applications-all plugins skeleton rootfs flash; \
+ fi
+ @echo ""
+ @echo ' ============================================================================== '
+ @echo " make wittinobi-neutrino-flash done"
+ @echo ' ============================================================================== '
+
+wittinobi-neutrino-flash-new:
+ if [ $(MULTIMEDIA) == no ]; then \
+ $(MAKE) neutrino-new applications-all-new plugins skeleton rootfs flash; \
+ elif [ $(MULTIMEDIA) == yes ]; then \
+ $(MAKE) neutrino-new applications-all-new plugins multimedia-new skeleton rootfs flash; \
+ else \
+ $(MAKE) neutrino-new applications-all-new plugins skeleton rootfs flash; \
+ fi
+ @echo ""
+ @echo ' ============================================================================== '
+ @echo " make wittinobi-neutrino-flash-new done"
+ @echo ' ============================================================================== '
+
+wittinobi-all:
+ if [ $(MULTIMEDIA) == no ]; then \
+ $(MAKE) neutrino applications-all plugins skeleton bootloader kernel drivers rootfs flash flash-full; \
+ elif [ $(MULTIMEDIA) == yes ]; then \
+ $(MAKE) neutrino applications-all plugins multimedia skeleton bootloader kernel drivers rootfs flash flash-full; \
+ else \
+ $(MAKE) neutrino applications-all plugins skeleton bootloader kernel drivers rootfs flash flash-full; \
+ fi
+ @echo ""
+ @echo ' ============================================================================== '
+ @echo " make wittinobi-all done"
+ @echo ' ============================================================================== '
+
+wittinobi-all-new:
+ if [ $(MULTIMEDIA) == no ]; then \
+ $(MAKE) neutrino-new applications-all-new plugins skeleton bootloader kernel-new drivers-new rootfs flash flash-full; \
+ elif [ $(MULTIMEDIA) == yes ]; then \
+ $(MAKE) neutrino-new applications-all-new plugins multimedia-new skeleton bootloader kernel-new drivers-new rootfs flash flash-full; \
+ else \
+ $(MAKE) neutrino-new applications-all-new plugins skeleton bootloader kernel-new drivers-new rootfs flash flash-full; \
+ fi
+ @echo ""
+ @echo ' ============================================================================== '
+ @echo " make wittinobi-all-new done"
+ @echo ' ============================================================================== '
+
+# prerequisites.mk
+prerequisites:
+ $(MAKE) $(SOURCE_DIR)/neutrino-hd $(SVN_COOLSTREAM) $(SVN_CROSSENVIROMENT) $(SVN_THIRDPARTY)/applications/tools/busybox-1.2.0 $(SVN_THIRDPARTY)/applications/tools/hotplug $(SVN_THIRDPARTY)/applications/plugins/lbreakout2-2.6 $(SVN_THIRDPARTY)/applications/plugins/links $(SVN_THIRDPARTY)/applications/plugins/ltris-1.0.13 $(SVN_THIRDPARTY)/libraries $(SVN_THIRDPARTY)/lib $(SVN_THIRDPARTY)/kernel $(SVN_THIRDPARTY)/drivers $(SVN_THIRDPARTY)/bootloader $(GIT_LIBRARIES)/dvbsi $(GIT_LIBRARIES)/ffmpeg $(GIT_DRIVERS)
+
+# bootstrap.mk
+bootstrap:
+ $(MAKE) targetprefix $(BUILD_TMP) $(CROSS_BASE) $(HOSTPREFIX)/bin includes-and-libs modules $(TARGETPREFIX)/lib/libc.so.6 $(ARCHIVE)
+includes-and-libs:
+ $(MAKE) $(TARGETPREFIX)/lib/libnxp.so $(TARGETPREFIX)/lib/libcoolstream.so $(TARGETPREFIX)/lib/firmware $(TARGETPREFIX)/include/coolstream
+modules:
+ if [ $(CST_KERNEL_VERSION) == 2.6.26.8-nevis ]; then \
+ $(MAKE) $(TARGETPREFIX)/lib/modules/2.6.26.8-nevis; \
+ elif [ $(CST_KERNEL_VERSION) == beta-2.6.26.8-nevis ]; then \
+ $(MAKE) $(TARGETPREFIX)/lib/modules/beta-2.6.26.8-nevis; \
+ elif [ $(CST_KERNEL_VERSION) == 2.6.39.3-nevis+ ]; then \
+ $(MAKE) $(TARGETPREFIX)/lib/modules/2.6.39.3-nevis+; \
+ else \
+ $(MAKE) $(TARGETPREFIX)/lib/modules/2.6.26.8-nevis; \
+ fi
+
+# neutrino.mk
+neutrino:
+ $(MAKE) $(D)/neutrino-hd
+neutrino-new:
+ $(MAKE) $(D)/neutrino-hd-new
+
+# libraries.mk
+libraries:
+ $(MAKE) $(D)/libraries-int
+libraries-new:
+ $(MAKE) $(D)/libraries-int-new
+
+# applications.mk
+applications-all:
+ if [ $(LCD4LINUX) == no ]; then \
+ $(MAKE) $(D)/links $(D)/procps $(D)/busybox $(D)/e2fsprogs $(D)/hotplug $(D)/fbshot $(D)/vsftpd $(D)/flashcp; \
+ elif [ $(LCD4LINUX) == yes ]; then \
+ $(MAKE) $(D)/links $(D)/procps $(D)/busybox $(D)/e2fsprogs $(D)/hotplug $(D)/fbshot $(D)/vsftpd $(D)/flashcp $(D)/lcd4linux; \
+ else \
+ $(MAKE) $(D)/links $(D)/procps $(D)/busybox $(D)/e2fsprogs $(D)/hotplug $(D)/fbshot $(D)/vsftpd $(D)/flashcp; \
+ fi
+applications-all-new:
+ if [ $(LCD4LINUX) == no ]; then \
+ $(MAKE) $(D)/links-new $(D)/procps-new $(D)/busybox-new $(D)/e2fsprogs-new $(D)/hotplug $(D)/fbshot $(D)/vsftpd-new $(D)/flashcp; \
+ elif [ $(LCD4LINUX) == yes ]; then \
+ $(MAKE) $(D)/links-new $(D)/procps-new $(D)/busybox-new $(D)/e2fsprogs-new $(D)/hotplug $(D)/fbshot $(D)/vsftpd-new $(D)/flashcp $(D)/lcd4linux-new; \
+ else \
+ $(MAKE) $(D)/links-new $(D)/procps-new $(D)/busybox-new $(D)/e2fsprogs-new $(D)/hotplug $(D)/fbshot $(D)/vsftpd-new $(D)/flashcp; \
+ fi
+
+# plugins.mk
+plugins:
+ $(MAKE) $(D)/tuxcom $(D)/tuxcal $(D)/getrc $(D)/msgbox $(D)/input $(D)/shellexec $(D)/cooliTSclimax $(D)/rcsim
+plugins-all:
+ $(MAKE) $(D)/tuxcom $(D)/tuxcal $(D)/blockad $(D)/getrc $(D)/msgbox $(D)/input $(D)/shellexec $(D)/liga_nat $(D)/boerse $(D)/rssnews $(D)/tanken $(D)/wetter $(D)/formel1 $(D)/cooliTSclimax $(D)/rcsim $(D)/logomask
+
+# multimedia.mk
+multimedia:
+ $(MAKE) $(D)/libsdl-mixer
+multimedia-new:
+ $(MAKE) $(D)/libsdl-mixer-new
+
+# kernel.mk
+kernel:
+ if [ $(CST_KERNEL_VERSION) == 2.6.26.8-nevis ]; then \
+ $(MAKE) $(D)/coolstream-kernel-2.6.26.8-nevis; \
+ elif [ $(CST_KERNEL_VERSION) == beta-2.6.26.8-nevis ]; then \
+ $(MAKE) $(D)/coolstream-kernel-beta-2.6.26.8-nevis; \
+ elif [ $(CST_KERNEL_VERSION) == 2.6.39.3-nevis+ ]; then \
+ $(MAKE) $(D)/coolstream-kernel-2.6.39.3-nevis+; \
+ else \
+ $(MAKE) $(D)/coolstream-kernel-2.6.26.8-nevis; \
+ fi
+kernel-new:
+ if [ $(CST_KERNEL_VERSION) == 2.6.26.8-nevis ]; then \
+ $(MAKE) $(D)/coolstream-kernel-2.6.26.8-nevis-new; \
+ elif [ $(CST_KERNEL_VERSION) == beta-2.6.26.8-nevis ]; then \
+ $(MAKE) $(D)/coolstream-kernel-beta-2.6.26.8-nevis-new; \
+ elif [ $(CST_KERNEL_VERSION) == 2.6.39.3-nevis+ ]; then \
+ $(MAKE) $(D)/coolstream-kernel-2.6.39.3-nevis+-new; \
+ else \
+ $(MAKE) $(D)/coolstream-kernel-2.6.26.8-nevis-new; \
+ fi
+
+# bootloader.mk (needed and included by kernel.mk > $(D)/coolstream-kernel)
+bootloader:
+ $(MAKE) $(D)/coolstream-u-boot
+
+# drivers.mk
+drivers:
+ if [ $(CST_KERNEL_VERSION) == 2.6.26.8-nevis ]; then \
+ $(MAKE) $(D)/realtek-wireless-kernel-2.6.26.8-nevis; \
+ elif [ $(CST_KERNEL_VERSION) == beta-2.6.26.8-nevis ]; then \
+ $(MAKE) $(D)/realtek-wireless-kernel-beta-2.6.26.8-nevis; \
+ elif [ $(CST_KERNEL_VERSION) == 2.6.39.3-nevis+ ]; then \
+ $(MAKE) $(D)/realtek-wireless-kernel-2.6.39.3-nevis+; \
+ else \
+ $(MAKE) $(D)/realtek-wireless-kernel-2.6.26.8-nevis; \
+ fi
+drivers-new:
+ if [ $(CST_KERNEL_VERSION) == 2.6.26.8-nevis ]; then \
+ $(MAKE) $(D)/realtek-wireless-kernel-2.6.26.8-nevis-new; \
+ elif [ $(CST_KERNEL_VERSION) == beta-2.6.26.8-nevis ]; then \
+ $(MAKE) $(D)/realtek-wireless-kernel-beta-2.6.26.8-nevis-new; \
+ elif [ $(CST_KERNEL_VERSION) == 2.6.39.3-nevis+ ]; then \
+ $(MAKE) $(D)/realtek-wireless-kernel-2.6.39.3-nevis+-new; \
+ else \
+ $(MAKE) $(D)/realtek-wireless-kernel-2.6.26.8-nevis-new; \
+ fi
+
+# for local extensions, e.g. special plugins or similar...
+# put them into $(BASE_DIR)/local since that is ignored in .gitignore
+-include ./Makefile.local
+
+.print-phony:
+ @echo $(PHONY)
+
+PHONY += all help printenv .print-phony
+PHONY += toolcheck update-svn update-svn-target update-neutrino update-self
+PHONY += wittinobi-init wittinobi-neutrino wittinobi-neutrino-new wittinobi-neutrino-flash wittinobi-neutrino-flash-new wittinobi-all wittinobi-all-new
+PHONY += prerequisites download
+PHONY += bootstrap includes-and-libs modules
+PHONY += neutrino neutrino-new
+PHONY += libraries libraries-new
+PHONY += applications-all applications-all-new
+PHONY += plugins plugins-all
+PHONY += multimedia multimedia-new
+PHONY += kernel kernel-new
+PHONY += bootloader
+PHONY += drivers drivers-new
+.PHONY: $(PHONY)