source: branches/backfire/include/package-version-override.mk @ 21324

Last change on this file since 21324 was 21324, checked in by nico, 6 years ago

[backfire] merge r21242

File size: 2.8 KB
Line 
1# remember the provided package version
2PKG_VERSION_ORGINAL:=$(PKG_VERSION)
3
4# in case that another version is provided, overwrite the original
5ifeq ($(CONFIG_$(PKG_NAME)_USE_CUSTOM_VERSION),y)
6PKG_VERSION:=$(call qstrip,$(CONFIG_$(PKG_NAME)_CUSTOM_VERSION))
7PKG_SOURCE:=$(subst $(PKG_VERSION_ORGINAL),$(PKG_VERSION),$(PKG_SOURCE))
8PKG_MD5SUM:=
9endif
10
11# package specific configuration
12# if includeded the package version can be overwritten within the .config file (instead of changing the package specific Makefile)
13define Package/$(PKG_NAME)/override_version
14        menu "overwrite package version"
15                depends on PACKAGE_$(PKG_NAME)
16        config $(PKG_NAME)_USE_CUSTOM_VERSION
17                depends on PACKAGE_$(PKG_NAME)
18                bool "Use custom package version"
19                default n
20        config $(PKG_NAME)_CUSTOM_VERSION
21                depends on $(PKG_NAME)_USE_CUSTOM_VERSION
22                string "$(PKG_BASE_NAME) version as string (default version: $(PKG_VERSION_ORGINAL))"
23                default "$(PKG_VERSION_ORGINAL)"
24        endmenu
25endef
26
27# in case that an customer source path is provided, set the acc. default variable
28ifeq ($(CONFIG_$(PKG_NAME)_USE_CUSTOM_SOURCE_DIR),y)
29PKG_DEFAULT_CUSTOM_SOURCE_DIR:= $(call qstrip,$(CONFIG_$(PKG_NAME)_CUSTOM_SOURCE_DIR))
30endif
31
32# package specific configuration
33# if includeded the package source path can be overwritten within the .config file (instead of changing the package specific Makefile)
34# instead of using a source ball (eg tar.gz) the specified path will point to the location of the sources
35define Package/$(PKG_NAME)/override_source_path
36        menu "custom source directory"
37                depends on PACKAGE_$(PKG_NAME)
38        config $(PKG_NAME)_USE_CUSTOM_SOURCE_DIR
39                depends on PACKAGE_$(PKG_NAME)
40                bool "Use custom source directory"
41                default n
42        config $(PKG_NAME)_CUSTOM_SOURCE_DIR
43                depends on $(PKG_NAME)_USE_CUSTOM_SOURCE_DIR
44                string "Custom source directory"
45                default "$(PKG_DEFAULT_CUSTOM_SOURCE_DIR)"
46        endmenu
47endef
48
49# default:
50# include both configurations as long this file is included before package.mk
51# in case that you're defining your own onfiguration within the package Makefile just include the stuff by yourself
52define Package/$(PKG_NAME)/config
53   $(call Package/$(PKG_NAME)/override_version)
54   $(call Package/$(PKG_NAME)/override_source_path)
55endef
56
57# hook for custom source path
58# in case that the specified path is valid a link to the PKG_SOURCE_DIR is created
59# otherwise the make is stopped
60define prepare_custom_source_directory
61        if [ -d $(CONFIG_$(PKG_NAME)_CUSTOM_SOURCE_DIR) ]; then \
62                rm -Rf $(PKG_BUILD_DIR); \
63                echo "Preparing Custom Source Directory link: $(CONFIG_$(PKG_NAME)_CUSTOM_SOURCE_DIR)"; \
64                ln -snf $(CONFIG_$(PKG_NAME)_CUSTOM_SOURCE_DIR) $(PKG_BUILD_DIR); \
65                ( cd $(PKG_BUILD_DIR); autoreconf -i; ) \
66        else \
67                echo "Custom Source Directory $(CONFIG_$(PKG_NAME)_CUSTOM_SOURCE_DIR) is invalid"; \
68                false; \
69        fi
70endef
71
Note: See TracBrowser for help on using the repository browser.