############################################################# # # dummy # ############################################################# # Current version, use the latest unless there are any known issues. DUMMY_VERSION=1.2.3 # The filename of the package to download. DUMMY_SOURCE=dummy-$(DUMMY_VERSION).tar.bz2 # The site and path to where the source packages are. DUMMY_SITE=http://www.example.net/dummy/source # The directory which the source package is extracted to. DUMMY_DIR=$(BUILD_DIR)/dummy-$(DUMMY_VERSION) # Which decompression to use, BZCAT or ZCAT. DUMMY_CAT:=$(BZCAT) # Target binary for the package. DUMMY_BINARY:=dummy # Not really needed, but often handy define. DUMMY_TARGET_BINARY:=usr/bin/$(DUMMY_BINARY) # The download rule. Main purpose is to download the source package. $(DL_DIR)/$(DUMMY_SOURCE): $(call DOWNLOAD,$(DUMMY_SITE),$(DUMMY_SOURCE)) # The unpacking rule. Main purpose is to extract the source package, apply any # patches and update config.guess and config.sub. $(DUMMY_DIR)/.unpacked: $(DL_DIR)/$(DUMMY_SOURCE) $(DUMMY_CAT) $(DL_DIR)/$(DUMMY_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - toolchain/patch-kernel.sh $(DUMMY_DIR) package/dummy/ dummy-$(DUMMY_VERSION)-\*.patch\* $(CONFIG_UPDATE) $(DUMMY_DIR) touch $@ # The configure rule. Main purpose is to get the package ready for compilation, # usually by running the configure script with different kinds of options # specified. $(DUMMY_DIR)/.configured: $(DUMMY_DIR)/.unpacked (cd $(DUMMY_DIR); rm -rf config.cache; \ $(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_ARGS) \ ./configure $(QUIET) \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ --build=$(GNU_HOST_NAME) \ --prefix=/usr \ --sysconfdir=/etc \ $(DISABLE_NLS) \ $(DISABLE_LARGEFILE) \ ) touch $@ $(DUMMY_DIR)/$(DUMMY_BINARY): $(DUMMY_DIR)/.configured $(MAKE) -C $(DUMMY_DIR) # The installing rule. Main purpose is to install the binary into the target # root directory and make sure it is stripped from debug symbols to reduce the # space requirements to a minimum. # # Only the files needed to run the application should be installed to the # target root directory, to not waste valuable flash space. $(TARGET_DIR)/$(DUMMY_TARGET_BINARY): $(DUMMY_DIR)/$(DUMMY_BINARY) cp -dpf $(DUMMY_DIR)/dummy $@ $(STRIPCMD) --strip-unneeded $@ # Main rule which shows which other packages must be installed before the dummy # package is installed. This to ensure that all depending libraries are # installed. dummy: $(TARGET_DIR)/$(DUMMY_TARGET_BINARY) # Source download rule. Main purpose to download the source package. Since some # people would like to work offline, it is mandotory to implement a rule which # downloads everything this package needs. dummy-source: $(DL_DIR)/$(DUMMY_SOURCE) # Clean rule. Main purpose is to clean the build directory, thus forcing a new # rebuild the next time Buildroot is made. dummy-clean: -$(MAKE) -C $(DUMMY_DIR) clean # Directory clean rule. Main purpose is to remove the build directory, forcing # a new extraction, patching and rebuild the next time Buildroot is made. dummy-dirclean: rm -rf $(DUMMY_DIR) ############################################################# # # Toplevel Makefile options # ############################################################# # This is how the dummy package is added to the list of rules to build. ifeq ($(BR2_PACKAGE_DUMMY),y) TARGETS+=dummy endif