From: Michael Tremer Date: Sun, 24 Jan 2010 23:36:17 +0000 (+0100) Subject: naoki: Split pkgs/Include into seperate files. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f07caf9e9e3fa73be880640be40bcb94fd038ce2;p=ipfire-3.x.git naoki: Split pkgs/Include into seperate files. --- diff --git a/pkgs/Constants b/pkgs/Constants new file mode 100644 index 000000000..1f47d818f --- /dev/null +++ b/pkgs/Constants @@ -0,0 +1,72 @@ + +############################################################################### +# +# Constant definitions of the naoki build system +# +############################################################################### + +ifeq "$(CHROOT)" "1" + BASEDIR = /usr/src +endif + +THISAPP = $(PKG_NAME)-$(PKG_VER) + +DIR_APP = $(DIR_SRC)/$(THISAPP) +DIR_DL = $(BASEDIR)/cache/tarballs +DIR_PATCHES = $(DIR_DL)/../patches +DIR_SRC = $(ROOT)/usr/src +DIR_TMP = /tmp +DIR_SOURCE = $(CURDIR) +DIR_PACKAGES = /usr/src/packages +DIR_TOOLS = $(BASEDIR)/tools +DIR_LOGS = $(BASEDIR)/logs + +BUILD_HOST ?= $(shell cat /proc/sys/kernel/hostname) + +VPATH = $(DIR_DL):$(DIR_PATCHES) + +PKG_OBJECTS = $(PKG_TARBALL) +OBJECTS = $(PKG_OBJECTS) $(PKG_PATCHES) + +PKG_NAME_REAL = $(notdir $(CURDIR)) +PKG_PACKAGES = $(PKG_NAME_REAL) +PKG_PACKAGES_FILES = $(foreach package,$(PKG_PACKAGES),$(call DO_PACKAGE_FILENAME,$(package))) + +DO_PACKAGE_FILENAME = $(1)$(PKG_SUFFIX) +PKG_SUFFIX = -$(PKG_VER)-$(DISTRO_SNAME)$(DISTRO_EPOCH)-$(PKG_REL).ipk + +DO_EXTRACT = $(DIR_TOOLS)/extractor +DO_PATCHES = cd $(DIR_APP) && $(DIR_TOOLS)/patch $(foreach patch,$(PKG_PATCHES),$(DIR_PATCHES)/$(patch)) +DO_QUALITY_AGENT = $(DIR_TOOLS)/quality-agent + +PKG_DESCRIPTION_$(PKG_NAME_REAL)-devel = Development files of $(THISAPP). + +define PKG_FILES_$(PKG_NAME_REAL)-devel + /usr/include + */lib/*.so +endef + +PKG_BUILD_DEPS += glibc gcc + +CONFIGURE_OPTIONS = --prefix=/usr + +ifeq "$(TARGET_MACHINE)" "x86_64" + LINKER = /lib64/ld-linux-x86-64.so.2 +else + LINKER = /lib/ld-linux.so.2 +endif + +STAGE_PACKAGE_TARGETS = $(call reverse,$(PKG_PACKAGES_FILES)) +ifeq "$(TOOLCHAIN)" "1" + STAGE_DONE = $(ROOT)/$(PKG_NAME_REAL) +else + STAGE_DONE = $(ROOT)/.done +endif + +export CFLAGS CXXFLAGS BUILD_HOST + +export PKG_NAME PKG_VER PKG_REL PKG_MAINTAINER PKG_GROUP PKG_URL PKG_LICENSE +export PKG_SUMMARY PKG_DESCRIPTION=$(strip $(PKG_DESCRIPTION)) +export PKG_DEPS PKG_BUILD_DEPS + +export CONTROL_PREIN CONTROL_PREUN CONTROL_POSTIN CONTROL_POSTUN diff --git a/pkgs/Functions b/pkgs/Functions new file mode 100644 index 000000000..770679de8 --- /dev/null +++ b/pkgs/Functions @@ -0,0 +1,86 @@ + +############################################################################### +# +# Function definitions of the naoki build system +# +############################################################################### + +include $(PKGROOT)/gmsl + +define DO_FILELIST + @echo "# Filelist dump" + @cd $(BUILDROOT) && find -ls +endef + +define DO_PREPARE + @echo "#####################################################################" + @echo "# $(PKG_NAME) - Preparation started" + @echo "#####################################################################" + + $(STAGE_PREPARE) + + @echo "#####################################################################" + @echo "# $(PKG_NAME) - Preparation finished" + @echo "#####################################################################" +endef + +define DO_BUILD + @echo "#####################################################################" + @echo "# $(PKG_NAME) - Build started" + @echo "#####################################################################" + + $(STAGE_BUILD) + + @echo "#####################################################################" + @echo "# $(PKG_NAME) - Build finished" + @echo "#####################################################################" +endef + +define DO_TEST + @echo "#####################################################################" + @echo "# $(PKG_NAME) - Test started" + @echo "#####################################################################" + + $(STAGE_TEST) + + @echo "#####################################################################" + @echo "# $(PKG_NAME) - Test finished" + @echo "#####################################################################" +endef + +define DO_INSTALL + @echo "#####################################################################" + @echo "# $(PKG_NAME) - Install started" + @echo "#####################################################################" + + $(STAGE_INSTALL) + + @echo "#####################################################################" + @echo "# $(PKG_NAME) - Install finished" + @echo "#####################################################################" + + $(if $(TOOLCHAIN),,$(DO_QUALITY_AGENT)) + + $(if $(TOOLCHAIN),,$(DO_FILELIST)) +endef + +define STAGE_PREPARE + $(if $(PKG_TARBALL),cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(PKG_TARBALL)) + + $(if $(PKG_PATCHES),$(DO_PATCHES)) + + $(STAGE_PREPARE_CMDS) + $(STAGE_PREPARE_CMDS2) +endef + +define STAGE_BUILD + cd $(DIR_APP) && \ + ./configure \ + $(CONFIGURE_OPTIONS) + + cd $(DIR_APP) && make $(PARALLELISMFLAGS) +endef + +define STAGE_INSTALL + cd $(DIR_APP) && make install $(if $(TOOLCHAIN),,DESTDIR=$(BUILDROOT)) +endef diff --git a/pkgs/Include b/pkgs/Include index 308aa0d10..50541e4f8 100644 --- a/pkgs/Include +++ b/pkgs/Include @@ -20,192 +20,6 @@ .SECONDEXPANSION: -include $(PKGROOT)/gmsl - -ifeq "$(CHROOT)" "1" - BASEDIR = /usr/src -endif - -THISAPP = $(PKG_NAME)-$(PKG_VER) - -DIR_APP = $(DIR_SRC)/$(THISAPP) -DIR_DL = $(BASEDIR)/cache/tarballs -DIR_PATCHES = $(DIR_DL)/../patches -DIR_SRC = $(ROOT)/usr/src -DIR_TMP = /tmp -DIR_SOURCE = $(CURDIR) -DIR_PACKAGES = /usr/src/packages -DIR_TOOLS = $(BASEDIR)/tools -DIR_LOGS = $(BASEDIR)/logs - -BUILD_HOST ?= $(shell cat /proc/sys/kernel/hostname) - -VPATH = $(DIR_DL):$(DIR_PATCHES) - -PKG_OBJECTS = $(PKG_TARBALL) -OBJECTS = $(PKG_OBJECTS) $(PKG_PATCHES) - -PKG_NAME_REAL = $(notdir $(CURDIR)) -PKG_PACKAGES = $(PKG_NAME_REAL) -PKG_PACKAGES_FILES = $(foreach package,$(PKG_PACKAGES),$(call DO_PACKAGE_FILENAME,$(package))) - -DO_PACKAGE_FILENAME = $(1)$(PKG_SUFFIX) -PKG_SUFFIX = -$(PKG_VER)-$(DISTRO_SNAME)$(DISTRO_EPOCH)-$(PKG_REL).ipk - -DO_EXTRACT = $(DIR_TOOLS)/extractor -DO_PATCHES = cd $(DIR_APP) && $(DIR_TOOLS)/patch $(foreach patch,$(PKG_PATCHES),$(DIR_PATCHES)/$(patch)) -DO_QUALITY_AGENT = $(DIR_TOOLS)/quality-agent - -PKG_DESCRIPTION_$(PKG_NAME_REAL)-devel = Development files of $(THISAPP). - -define PKG_FILES_$(PKG_NAME_REAL)-devel - /usr/include - */lib/*.so -endef - -PKG_BUILD_DEPS += glibc gcc - -CONFIGURE_OPTIONS = --prefix=/usr - -ifeq "$(TARGET_MACHINE)" "x86_64" - LINKER = /lib64/ld-linux-x86-64.so.2 -else - LINKER = /lib/ld-linux.so.2 -endif - -STAGE_PACKAGE_TARGETS = $(call reverse,$(PKG_PACKAGES_FILES)) -ifeq "$(TOOLCHAIN)" "1" - STAGE_DONE = $(ROOT)/$(PKG_NAME_REAL) -else - STAGE_DONE = $(ROOT)/.done -endif - -export CFLAGS CXXFLAGS BUILD_HOST - -export PKG_NAME PKG_VER PKG_REL PKG_MAINTAINER PKG_GROUP PKG_URL PKG_LICENSE -export PKG_SUMMARY PKG_DESCRIPTION=$(strip $(PKG_DESCRIPTION)) -export PKG_DEPS PKG_BUILD_DEPS - -export CONTROL_PREIN CONTROL_PREUN CONTROL_POSTIN CONTROL_POSTUN - -define DO_FILELIST - @echo "# Filelist dump" - @cd $(BUILDROOT) && find -ls -endef - -define DO_PREPARE - @echo "#####################################################################" - @echo "# $(PKG_NAME) - Preparation started" - @echo "#####################################################################" - - $(STAGE_PREPARE) - - @echo "#####################################################################" - @echo "# $(PKG_NAME) - Preparation finished" - @echo "#####################################################################" -endef - -define DO_BUILD - @echo "#####################################################################" - @echo "# $(PKG_NAME) - Build started" - @echo "#####################################################################" - - $(STAGE_BUILD) - - @echo "#####################################################################" - @echo "# $(PKG_NAME) - Build finished" - @echo "#####################################################################" -endef - -define DO_TEST - @echo "#####################################################################" - @echo "# $(PKG_NAME) - Test started" - @echo "#####################################################################" - - $(STAGE_TEST) - - @echo "#####################################################################" - @echo "# $(PKG_NAME) - Test finished" - @echo "#####################################################################" -endef - -define DO_INSTALL - @echo "#####################################################################" - @echo "# $(PKG_NAME) - Install started" - @echo "#####################################################################" - - $(STAGE_INSTALL) - - @echo "#####################################################################" - @echo "# $(PKG_NAME) - Install finished" - @echo "#####################################################################" - - $(if $(TOOLCHAIN),,$(DO_QUALITY_AGENT)) - - $(if $(TOOLCHAIN),,$(DO_FILELIST)) -endef - -define STAGE_PREPARE - $(if $(PKG_TARBALL),cd $(DIR_SRC) && $(DO_EXTRACT) $(DIR_DL)/$(PKG_TARBALL)) - - $(if $(PKG_PATCHES),$(DO_PATCHES)) - - $(STAGE_PREPARE_CMDS) - $(STAGE_PREPARE_CMDS2) -endef - -define STAGE_BUILD - cd $(DIR_APP) && \ - ./configure \ - $(CONFIGURE_OPTIONS) - - cd $(DIR_APP) && make $(PARALLELISMFLAGS) -endef - -define STAGE_INSTALL - cd $(DIR_APP) && make install $(if $(TOOLCHAIN),,DESTDIR=$(BUILDROOT)) -endef - -.PHONY: info -info: - @echo "PKG_BUILD_DEPENDENCIES=\"$(PKG_BUILD_DEPS)\"" - @echo "PKG_DEPENDENCIES=\"$(PKG_DEPS)\"" - @echo "PKG_DESCRIPTION=\"$(strip $(PKG_DESCRIPTION))\"" - @echo "PKG_GROUP=\"$(PKG_GROUP)\"" - @echo "PKG_LICENSE=\"$(PKG_LICENSE)\"" - @echo "PKG_MAINTAINER=\"$(PKG_MAINTAINER)\"" - @echo "PKG_NAME=\"$(PKG_NAME_REAL)\"" - @echo "PKG_OBJECTS=\"$(strip $(OBJECTS))\"" - @echo "PKG_PACKAGES=\"$(PKG_PACKAGES)\"" - @echo "PKG_PACKAGES_FILES=\"$(PKG_PACKAGES_FILES)\"" - @echo "PKG_PATCHES=\"$(PKG_PATCHES)\"" - @echo "PKG_VER=\"$(PKG_VER)\"" - @echo "PKG_REL=\"$(PKG_REL)\"" - @echo "PKG_SUMMARY=\"$(strip $(PKG_SUMMARY))\"" - @echo "PKG_URL=\"$(PKG_URL)\"" - @echo "PKG_TOOLCHAIN_DEPENDENCIES=\"$(PKG_TOOLCHAIN_DEPS)\"" - -$(OBJECTS): - @echo "Object file \"$@\" is required." >&2 - @exit 1 - -%.ipk: $(STAGE_DONE) - @echo "$(strip $(PKG_FILES_$(patsubst %$(PKG_SUFFIX),%,$@)))" \ - > $(DIR_TMP)/filelist_$(patsubst %$(PKG_SUFFIX),%,$@) - @/usr/src/src/pakfire/compressor $(DIR_PACKAGES)/$@ \ - --root=$(BUILDROOT) $(if $(PKG_FILES_$(patsubst %$(PKG_SUFFIX),%,$@)), \ - --regexes=$(DIR_TMP)/filelist_$(patsubst %$(PKG_SUFFIX),%,$@)) - -.PHONY: package -package: $(if $(TOOLCHAIN),$(STAGE_DONE),$$(STAGE_PACKAGE_TARGETS)) - -.PHONY: shell -shell: $(OBJECTS) - $(if $(STAGE_PREPARE),$(DO_PREPARE)) - -$(STAGE_DONE): $(OBJECTS) - $(if $(STAGE_PREPARE),$(DO_PREPARE)) - $(if $(STAGE_BUILD),$(DO_BUILD)) - $(if $(STAGE_TEST),$(DO_TEST)) - $(if $(STAGE_INSTALL),$(DO_INSTALL)) - @touch $@ +include $(PKGROOT)/Constants +include $(PKGROOT)/Functions +include $(PKGROOT)/Targets diff --git a/pkgs/Targets b/pkgs/Targets new file mode 100644 index 000000000..e15b973a2 --- /dev/null +++ b/pkgs/Targets @@ -0,0 +1,50 @@ + +############################################################################### +# +# Target definitions of the naoki build system +# +############################################################################### + +.PHONY: info +info: + @echo "PKG_BUILD_DEPENDENCIES=\"$(PKG_BUILD_DEPS)\"" + @echo "PKG_DEPENDENCIES=\"$(PKG_DEPS)\"" + @echo "PKG_DESCRIPTION=\"$(strip $(PKG_DESCRIPTION))\"" + @echo "PKG_GROUP=\"$(PKG_GROUP)\"" + @echo "PKG_LICENSE=\"$(PKG_LICENSE)\"" + @echo "PKG_MAINTAINER=\"$(PKG_MAINTAINER)\"" + @echo "PKG_NAME=\"$(PKG_NAME_REAL)\"" + @echo "PKG_OBJECTS=\"$(strip $(OBJECTS))\"" + @echo "PKG_PACKAGES=\"$(PKG_PACKAGES)\"" + @echo "PKG_PACKAGES_FILES=\"$(PKG_PACKAGES_FILES)\"" + @echo "PKG_PATCHES=\"$(PKG_PATCHES)\"" + @echo "PKG_VER=\"$(PKG_VER)\"" + @echo "PKG_REL=\"$(PKG_REL)\"" + @echo "PKG_SUMMARY=\"$(strip $(PKG_SUMMARY))\"" + @echo "PKG_URL=\"$(PKG_URL)\"" + @echo "PKG_TOOLCHAIN_DEPENDENCIES=\"$(PKG_TOOLCHAIN_DEPS)\"" + +$(OBJECTS): + @echo "Object file \"$@\" is required." >&2 + @exit 1 + +%.ipk: $(STAGE_DONE) + @echo "$(strip $(PKG_FILES_$(patsubst %$(PKG_SUFFIX),%,$@)))" \ + > $(DIR_TMP)/filelist_$(patsubst %$(PKG_SUFFIX),%,$@) + @/usr/src/src/pakfire/compressor $(DIR_PACKAGES)/$@ \ + --root=$(BUILDROOT) $(if $(PKG_FILES_$(patsubst %$(PKG_SUFFIX),%,$@)), \ + --regexes=$(DIR_TMP)/filelist_$(patsubst %$(PKG_SUFFIX),%,$@)) + +.PHONY: package +package: $(if $(TOOLCHAIN),$(STAGE_DONE),$$(STAGE_PACKAGE_TARGETS)) + +.PHONY: shell +shell: $(OBJECTS) + $(if $(STAGE_PREPARE),$(DO_PREPARE)) + +$(STAGE_DONE): $(OBJECTS) + $(if $(STAGE_PREPARE),$(DO_PREPARE)) + $(if $(STAGE_BUILD),$(DO_BUILD)) + $(if $(STAGE_TEST),$(DO_TEST)) + $(if $(STAGE_INSTALL),$(DO_INSTALL)) + @touch $@