UPGRADE_PENDING:=dhcpcd ebtables collectd dropbear SLIGHTLY_BROKEN:=ghostscript eagle-usb # iproute misses an element in a header file # ghostscript dependencies are broken # eagle-usb needs full kernel sources and seems to be unmaintained since 2005 REALLY_BROKEN=dhcpv6 lftp # dhcpv6 has a broken patch BROKEN:=$(SLIGHTLY_BROKEN) $(REALLY_BROKEN) TARGETS:= LIBRARIES:= # zlib libpng libiconv libnl jpeg freetype lzo sysfsutils-lib libevent # libpcre gettext freetype pixman cairo libgpg-error libgcrypt liboping # # directories # FLI4L_PACKAGE_DIR:=src/buildroot/package BASE_DIR:=$(shell pwd) TARGET_DIR:=$(BASE_DIR)/target/$(USER) BUILD_DIR:=$(BASE_DIR)/build/$(USER) # BUILD_DIR:=build/$(USER) DL_DIR:=dl SF_DL_HOST:=kent.dl.sourceforge.net BR2_SOURCEFORGE_MIRROR:=$(SF_DL_HOST) DEBIAN_DL_HOST:= LINUX_DIR:=/usr/src/linux-2.6.30.1 FLI4L_SRC:=$(shell pwd)/../fli4l # # tools # WGET:=sh toolchain/wget.sh STRIP:=strip TAR_OPTIONS:=-xf TARGET_CC=gcc TARGET_CFLAGS=-Os -march=i486 -fomit-frame-pointer TARGET_CONFIGURE_CFLAGS=-Os -march=i486 -fomit-frame-pointer TARGET_CONFIGURE_OPTS=CFLAGS="$(TARGET_CONFIGURE_CFLAGS)" SH=sh SED=sed FAKEROOT=fakeroot -- ZCAT=zcat BZCAT=bzcat TAR=tar # # config files # #ifeq ($(FLI4L_DIR),) #include package/*/Makefile.in #else #include $(FLI4L_DIR)/*/$(FLI4L_PACKAGE_DIR)/*/Makefile.in #endif all: targets broken: ${BROKEN} # # package make files # ifeq ($(FLI4L_DIR),) include package/*/*.mk else include $(FLI4L_DIR)/*/$(FLI4L_PACKAGE_DIR)/*/*.mk endif LIBRARIES_SOURCE:=$(patsubst %,%-source,$(LIBRARIES)) TARGETS:=$(filter-out $(BROKEN),$(TARGETS)) TARGETS:=$(filter-out $(LIBRARIES),$(TARGETS)) TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS)) TARGETS_SOURCE:=$(patsubst %,%-source,$(TARGETS)) $(LIBRARIES_SOURCE) TARGETS_DIRCLEAN:=$(patsubst %,%-dirclean,$(TARGETS)) prep: $(DL_DIR) $(BUILD_DIR) $(TARGET_DIR) libs: /lib/.libraries world: libs $(TARGETS) targets: prep libs $(TARGETS) targets-only: prep $(TARGETS) .PHONY: all prep libs world clean dirclean distclean source lib-source $(TARGETS) \ $(TARGETS_CLEAN) $(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) \ $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) $(STAGING_DIR) /lib/.libraries: make prep $(LIBRARIES) touch $@ ############################################################# # # staging and target directories do NOT list these as # dependancies anywhere else # ############################################################# $(DL_DIR): @mkdir -p $(DL_DIR) $(BUILD_DIR): @mkdir -p $(BUILD_DIR) $(TARGET_DIR): @mkdir -p $(TARGET_DIR) source: $(TARGETS_SOURCE) lib-source: $(LIBRARIES_SOURCE) ############################################################# # # Cleanup and misc junk # ############################################################# clean: $(TARGETS_CLEAN) dirclean: $(TARGETS_DIRCLEAN) distclean: rm -rf $(BUILD_DIR) # rm -rf $(DL_DIR) showtargets: @echo "Libraries: $(LIBRARIES)" @echo "Targets: $(TARGETS)" @echo "Target-Dir: $(TARGET_DIR)" @echo "Build-Dir: $(BUILD_DIR)" @echo "Broken: $(BROKEN)" @echo " slighly: $(SLIGHTLY_BROKEN)" @echo " really: $(REALLY_BROKEN)" @echo "Upgrade: $(UPGRADE_PENDING)" @echo @echo "Sources: $(TARGETS_SOURCE)" help: @echo "just type 'make' to build all files" @echo "or type 'make TARGETS=' to build only this target" @echo "to view all targets, type 'make showtargets'" .PHONY: dummy subdirs release distclean clean config oldconfig \ menuconfig tags check test depend showtargets kernel_headers