summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2013-11-29 16:06:00 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2013-11-29 16:06:00 +0100
commit8e8512391c668fc7074f812f15eabe8f176fb01e (patch)
treef9f0862dd6eb962fe3fc4803180b431843f6c5be /mk
parentc491653a1f9574a42965025805d472c3d145f699 (diff)
parentae3d4616ed9c19a29d656193254657f93d612fa2 (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'mk')
-rw-r--r--mk/build.mk41
-rw-r--r--mk/buildhlp.mk5
-rw-r--r--mk/host-bottom.mk107
-rw-r--r--mk/host.mk66
-rw-r--r--mk/image.mk15
-rw-r--r--mk/kernel-build.mk25
-rw-r--r--mk/kernel-ver.mk6
-rw-r--r--mk/package.mk74
-rw-r--r--mk/pkg-bottom.mk50
-rw-r--r--mk/python.mk2
-rw-r--r--mk/vars.mk45
11 files changed, 342 insertions, 94 deletions
diff --git a/mk/build.mk b/mk/build.mk
index 3f0fca18e..f5d62460f 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -12,20 +12,15 @@ CONFIG_CONFIG_IN = Config.in
CONFIG = config
DEFCONFIG= ADK_DEBUG=n \
ADK_STATIC=n \
- ADK_LOCALES=n \
ADK_MAKE_PARALLEL=y \
ADK_MAKE_JOBS=4 \
ADK_LEAVE_ETC_ALONE=n \
ADK_SIMPLE_NETWORK_CONFIG=n \
ADK_USE_CCACHE=n \
ADK_TOOLCHAIN_GDB=n \
- ADK_PACKAGE_LIBAU=n \
ADK_PACKAGE_E2FSCK_STATIC=n \
- ADK_PACKAGE_AUFS2_UTIL=n \
ADK_PACKAGE_KEXECINIT=n \
ADK_PACKAGE_INSTALLER=n \
- ADK_PACKAGE_CXXTOOLS_DEV=n \
- ADK_PACKAGE_XORG_SERVER_DEV=n \
ADK_PACKAGE_LM_SENSORS_DETECT=n \
ADK_PACKAGE_PACEMAKER=n \
ADK_PACKAGE_PACEMAKER_MGMTD=n \
@@ -33,25 +28,17 @@ DEFCONFIG= ADK_DEBUG=n \
ADK_PACKAGE_OPENJDK=n \
ADK_PACKAGE_OPENJDK7=n \
ADK_PACKAGE_CLASSPATH=n \
- ADK_PACKAGE_GPSD=n \
- ADK_PACKAGE_GPSD_CLIENTS=n \
ADK_PACKAGE_GRUB=n \
ADK_PACKAGE_BASE_FILES=y \
ADK_PACKAGE_CRYPTINIT=n \
- ADK_PACKAGE_HEIMDAL_SERVER=n \
- ADK_PACKAGE_LIBHEIMDAL=n \
ADK_PACKAGE_PAM=n \
- ADK_PACKAGE_PYTHON=n \
ADK_PACKAGE_VIRTINST=n \
ADK_PACKAGE_URLGRABBER=n \
ADK_PACKAGE_PERL=n \
ADK_PACKAGE_LIBSSP=n \
- ADK_PKG_DESKTOP=n \
- ADK_PKG_LAPTOP=n \
+ ADK_PKG_XORG=n \
ADK_PKG_MPDBOX=n \
ADK_PKG_DEVELOPMENT=n \
- ADK_PKG_VPN_CLIENT=n \
- ADK_PKG_VPN_SERVER=n \
ADK_TOOLCHAIN_GCC_JAVA=n \
ADK_TOOLCHAIN_GCC_OBJC=n \
ADK_TOOLCHAIN_GCC_USE_SSP=n \
@@ -112,7 +99,7 @@ POSTCONFIG= -@\
touch .rebuild.busybox;\
rebuild=1;\
fi; \
- for i in ADK_RUNTIME_PASSWORD ADK_RUNTIME_HOSTNAME ADK_TARGET_ROOTFS ADK_RUNTIME_CONSOLE;do \
+ for i in ADK_RUNTIME_PASSWORD ADK_RUNTIME_TMPFS_SIZE ADK_RUNTIME_HOSTNAME ADK_TARGET_ROOTFS ADK_RUNTIME_CONSOLE;do \
if [ "$$(grep ^$$i .config|md5sum)" != "$$(grep ^$$i .config.old|md5sum)" ];then \
touch .rebuild.base-files;\
rebuild=1;\
@@ -183,7 +170,7 @@ endif
${STAGING_DIR} ${STAGING_DIR}/etc ${STAGING_HOST_DIR}:
mkdir -p ${STAGING_DIR}/{bin,etc,lib,usr/bin,usr/include,usr/lib/pkgconfig} \
- ${STAGING_HOST_DIR}/{bin,lib,usr/bin,usr/lib}
+ ${STAGING_HOST_DIR}/{bin,lib,usr/bin,usr/lib,usr/include}
${STAGING_DIR}/etc/ipkg.conf: ${STAGING_DIR}/etc
ifeq ($(ADK_TARGET_PACKAGE_IPKG),y)
@@ -244,7 +231,7 @@ kernelconfig:
# create a new package from package/.template
newpackage:
@echo "Creating new package $(PKG)"
- $(CP) $(TOPDIR)/package/.template $(TOPDIR)/package/$(PKG)
+ $(CP) $(TOPDIR)/package/.template$(TYPE) $(TOPDIR)/package/$(PKG)
pkg=$$(echo $(PKG)|tr '[:lower:]-' '[:upper:]_'); \
$(SED) "s#@UPKG@#$$pkg#" $(TOPDIR)/package/$(PKG)/Makefile
$(SED) 's#@PKG@#$(PKG)#' $(TOPDIR)/package/$(PKG)/Makefile
@@ -570,8 +557,9 @@ bulktoolchain:
$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit;fi; \
rm .config; \
) 2>&1 | tee $(TOPDIR)/bin/toolchain_$${arch}_$${libc}/build.log; \
- if [ -f .exit ];then echo "Bulk build failed!"; rm .exit; exit 1;fi \
+ if [ -f .exit ];then break;fi \
done <${TOPDIR}/target/tarch.lst ;\
+ if [ -f .exit ];then echo "Bulk build failed!"; rm .exit; exit 1;fi \
done
# build all target architecture, target systems and libc combinations
@@ -585,12 +573,14 @@ bulk:
echo === building $$arch $$system $$libc on $$(date); \
$(GMAKE) prereq && \
$(GMAKE) ARCH=$$arch SYSTEM=$$system LIBC=$$libc FS=archive defconfig; \
- $(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit;fi; \
+ $(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \
rm .config; \
) 2>&1 | tee $(TOPDIR)/bin/$${system}_$${arch}_$$libc/build.log; \
+ if [ -f .exit ]; then break;fi \
done; \
- if [ -f .exit ];then echo "Bulk build failed!"; rm .exit; exit 1;fi \
+ if [ -f .exit ]; then break;fi \
done <${TOPDIR}/target/arch.lst ;\
+ if [ -f .exit ];then echo "Bulk build failed!"; rm .exit; exit 1;fi \
done
bulkall:
@@ -603,12 +593,14 @@ bulkall:
echo === building $$arch $$system $$libc on $$(date); \
$(GMAKE) prereq && \
$(GMAKE) ARCH=$$arch SYSTEM=$$system LIBC=$$libc FS=archive allconfig; \
- $(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit;fi; \
+ $(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \
rm .config; \
) 2>&1 | tee $(TOPDIR)/bin/$${system}_$${arch}_$$libc/build.log; \
+ if [ -f .exit ]; then break;fi \
done; \
- if [ -f .exit ];then echo "Bulk build failed!"; rm .exit; exit 1;fi \
+ if [ -f .exit ]; then break;fi \
done <${TOPDIR}/target/arch.lst ;\
+ if [ -f .exit ];then echo "Bulk build failed!"; rm .exit; exit 1;fi \
done
bulkallmod:
@@ -622,11 +614,14 @@ bulkallmod:
$(GMAKE) prereq && \
$(GMAKE) ARCH=$$arch SYSTEM=$$system LIBC=$$libc FS=archive allmodconfig; \
$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then echo $$system-$$libc >.exit; exit 1;fi; \
+ $(GMAKE) cleantarget; \
rm .config; \
) 2>&1 | tee $(TOPDIR)/bin/$${system}_$${arch}_$$libc/build.log; \
+ if [ -f .exit ]; then break;fi \
done; \
- if [ -f .exit ];then echo "Bulk build failed!"; cat .exit;rm .exit; exit 1;fi \
+ if [ -f .exit ]; then break;fi \
done <${TOPDIR}/target/arch.lst ;\
+ if [ -f .exit ];then echo "Bulk build failed!"; cat .exit;rm .exit; exit 1;fi \
done
${TOPDIR}/bin/tools/pkgmaker: $(TOPDIR)/tools/adk/pkgmaker.c $(TOPDIR)/tools/adk/sortfile.c $(TOPDIR)/tools/adk/strmap.c
diff --git a/mk/buildhlp.mk b/mk/buildhlp.mk
index 19b761f46..587a97125 100644
--- a/mk/buildhlp.mk
+++ b/mk/buildhlp.mk
@@ -93,6 +93,11 @@ ifeq ($(strip ${_IN_PACKAGE})$(strip ${_IN_CVTC}),1)
else
@$(MAKE) -s V=0 prepare WRKDIR=${WRKDIR}.orig PREVENT_PATCH=: NO_CHECKSUM=1
endif
+ @-test ! -r ${WRKDIR}/.autoreconf_done || \
+ (wrkdist=$(WRKDIST) dir=$${wrkdist#$(WRKDIR)}; \
+ cd ${WRKDIR}.orig$${dir}; \
+ env ${AUTOTOOL_ENV} autoreconf -if; \
+ rm -rf ${WRKDIR}.orig$${dir}/autom4te.cache ) $(MAKE_TRACE)
@# restore config.sub/config.guess
@for i in $$(find ${WRKDIR} -name config.sub);do \
if [ -f $$i.bak ];then \
diff --git a/mk/host-bottom.mk b/mk/host-bottom.mk
new file mode 100644
index 000000000..b672df7f0
--- /dev/null
+++ b/mk/host-bottom.mk
@@ -0,0 +1,107 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+host-extract: ${_HOST_PATCH_COOKIE}
+
+host-configure:
+${_HOST_CONFIGURE_COOKIE}: ${_HOST_PATCH_COOKIE}
+ @mkdir -p ${WRKBUILD}
+ @$(CMD_TRACE) "host configuring... "
+ifneq (,$(filter autoreconf,${AUTOTOOL_STYLE}))
+ cd ${WRKSRC}; env ${AUTOTOOL_ENV} autoreconf -if $(MAKE_TRACE)
+ @rm -rf ${WRKSRC}/autom4te.cache
+ @touch ${WRKDIR}/.autoreconf_done
+endif
+ @cd ${WRKBUILD}; \
+ for i in $$(find . -name config.sub);do \
+ if [ -f $$i ]; then \
+ ${CP} $$i $$i.bak; \
+ ${CP} ${SCRIPT_DIR}/config.sub $$i; \
+ fi; \
+ done; \
+ for i in $$(find . -name config.guess);do \
+ if [ -f $$i ]; then \
+ ${CP} $$i $$i.bak; \
+ ${CP} ${SCRIPT_DIR}/config.guess $$i; \
+ fi; \
+ done;
+ifneq (${HOST_STYLE},manual)
+ifeq ($(strip ${HOST_STYLE}),)
+ cd ${WRKBUILD}; rm -f config.{cache,status}; \
+ env ${HOST_CONFIGURE_ENV} \
+ ${BASH} ${WRKSRC}/${CONFIGURE_PROG} \
+ --program-prefix= \
+ --program-suffix= \
+ --prefix=/usr \
+ --bindir=/usr/bin \
+ --datadir=/usr/share \
+ --mandir=/usr/share/man \
+ --libexecdir=/usr/libexec \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --disable-dependency-tracking \
+ --disable-libtool-lock \
+ --disable-nls \
+ ${HOST_CONFIGURE_ARGS} $(MAKE_TRACE)
+else
+ cd ${WRKBUILD}; rm -f config.{cache,status}; \
+ env ${HOST_CONFIGURE_ENV} \
+ ${BASH} ${WRKSRC}/${CONFIGURE_PROG} \
+ --program-prefix= \
+ --program-suffix= \
+ --prefix=${STAGING_HOST_DIR}/usr \
+ --bindir=${STAGING_HOST_DIR}/usr/bin \
+ --datadir=${STAGING_HOST_DIR}/usr/share \
+ --mandir=${STAGING_HOST_DIR}/usr/share/man \
+ --libexecdir=${STAGING_HOST_DIR}/usr/libexec \
+ --sysconfdir=${STAGING_HOST_DIR}/etc \
+ --disable-dependency-tracking \
+ --disable-libtool-lock \
+ --disable-nls \
+ ${HOST_CONFIGURE_ARGS} $(MAKE_TRACE)
+endif
+endif
+ ${MAKE} host-configure $(MAKE_TRACE)
+ touch $@
+
+host-build:
+${_HOST_BUILD_COOKIE}: ${_HOST_CONFIGURE_COOKIE}
+ifneq (${HOST_STYLE},manual)
+ @$(CMD_TRACE) "host compiling... "
+ cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+ ${HOST_MAKE_FLAGS} ${HOST_ALL_TARGET} $(MAKE_TRACE)
+endif
+ ${MAKE} host-build $(MAKE_TRACE)
+ touch $@
+
+hostpost-install:
+hpkg-install: ${ALL_HOSTINST}
+host-install:
+${_HOST_FAKE_COOKIE}: ${_HOST_BUILD_COOKIE}
+ @$(CMD_TRACE) "host installing... "
+ifneq (${HOST_STYLE},manual)
+ifeq ($(strip ${HOST_STYLE}),)
+ cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+ DESTDIR='${HOST_WRKINST}' ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE)
+ env ${HOST_MAKE_ENV} ${MAKE} hpkg-install $(MAKE_TRACE)
+else
+ cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+ DESTDIR='' ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE)
+endif
+else
+ env ${HOST_MAKE_ENV} ${MAKE} hpkg-install $(MAKE_TRACE)
+endif
+ env ${HOST_MAKE_ENV} ${MAKE} hostpost-install $(MAKE_TRACE)
+ rm -rf ${WRKBUILD} ${WRKDIST} ${WRKSRC}
+ exec ${MAKE} host-extract $(MAKE_TRACE)
+ mkdir -p ${HOST_WRKINST}
+ # avoid rebuild
+ touch ${_HOST_CONFIGURE_COOKIE}
+ touch ${_HOST_BUILD_COOKIE}
+ touch $@
+
+${_HOST_COOKIE}:
+ exec ${MAKE} hostpackage
+
+hostpackage: ${ALL_HOSTDIRS}
+ touch ${_HOST_COOKIE}
diff --git a/mk/host.mk b/mk/host.mk
new file mode 100644
index 000000000..1f5f4c48a
--- /dev/null
+++ b/mk/host.mk
@@ -0,0 +1,66 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+HOST_CONFIGURE_ENV+= AUTOM4TE=${STAGING_HOST_DIR}/usr/bin/autom4te \
+ CONFIG_SHELL='$(strip ${SHELL})' \
+ PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig' \
+ PATH='${HOST_PATH}' \
+ CFLAGS='$(strip ${CFLAGS_FOR_BUILD})' \
+ CXXFLAGS='$(strip ${CXXFLAGS_FOR_BUILD})' \
+ CPPFLAGS='$(strip ${CPPFLAGS_FOR_BUILD})' \
+ LDFLAGS='$(strip ${LDFLAGS_FOR_BUILD})'
+
+# this is environment for 'make all' and 'make install'
+HOST_MAKE_ENV?=
+# this is arguments for 'make all' and 'make install'
+HOST_XAKE_FLAGS?=
+# this is arguments for 'make all' ONLY
+HOST_MAKE_FLAGS?=
+# this is arguments for 'make install' ONLY
+HOST_FAKE_FLAGS?=
+HOST_ALL_TARGET?= all
+HOST_INSTALL_TARGET?= install
+
+HOST_MAKE_ENV+= PATH='${HOST_PATH}' \
+ PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig' \
+ CFLAGS='$(strip ${CFLAGS_FOR_BUILD})' \
+ CXXFLAGS='$(strip ${CXXFLAGS_FOR_BUILD})' \
+ CPPFLAGS='$(strip ${CPPFLAGS_FOR_BUILD})' \
+ LDFLAGS='$(strip ${LDFLAGS_FOR_BUILD})'
+HOST_MAKE_FLAGS+= ${HOST_XAKE_FLAGS} V=1
+HOST_FAKE_FLAGS+= ${HOST_XAKE_FLAGS}
+
+HOST_WRKINST= ${WRKDIR}/host
+
+_HOST_EXTRACT_COOKIE= ${WRKDIST}/.extract_done
+_HOST_PATCH_COOKIE= ${WRKDIST}/.prepared
+_HOST_CONFIGURE_COOKIE= ${WRKDIR}/.host_configure_done
+_HOST_BUILD_COOKIE= ${WRKDIR}/.host_build_done
+_HOST_FAKE_COOKIE= ${HOST_WRKINST}/.host_fake_done
+_HOST_COOKIE= ${PACKAGE_DIR}/.stamps/${PKG_NAME}${PKG_VERSION}-${PKG_RELEASE}-host
+
+hostextract: ${_HOST_EXTRACT_COOKIE}
+hostpatch: ${_HOST_PATCH_COOKIE}
+hostconfigure: ${_HOST_CONFIGURE_COOKIE}
+hostbuild: ${_HOST_BUILD_COOKIE}
+hostfake: ${_HOST_FAKE_COOKIE}
+
+# there are some parameters to the HOST_template function
+# 1.) Config.in identifier ADK_PACKAGE_$(1)
+# 2.) name of the package, for single package mostly $(PKG_NAME)
+# 3.) package version (upstream version) and package release (adk version),
+# always $(PKG_VERSION)-$(PKG_RELEASE)
+
+define HOST_template
+ALL_PKGOPTS+= $(1)
+PKGNAME_$(1)= $(2)
+HOSTDIR_$(1)= $(WRKDIR)/host
+ALL_HOSTDIRS+= $${HOSTDIR_$(1)}
+ALL_HOSTINST+= $(2)-hostinstall
+
+$$(HOSTDIR_$(1)): ${_HOST_PATCH_COOKIE} ${_HOST_FAKE_COOKIE}
+
+endef
+
+.PHONY: all hostextract hostpatch hostconfigure \
+ hostbuild hostpackage hostfake
diff --git a/mk/image.mk b/mk/image.mk
index 095b69c1d..2273b4af7 100644
--- a/mk/image.mk
+++ b/mk/image.mk
@@ -60,6 +60,16 @@ ifeq ($(ADK_LINUX_X86_64),y)
rm -rf ${TARGET_DIR}/usr/lib/
(cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib)
endif
+ifeq ($(ADK_LINUX_PPC64),y)
+ # fixup lib dirs
+ mv ${TARGET_DIR}/lib/* ${TARGET_DIR}/${ADK_TARGET_LIBC_PATH}
+ rm -rf ${TARGET_DIR}/lib/
+ ln -sf /${ADK_TARGET_LIBC_PATH} ${TARGET_DIR}/lib
+ -mkdir ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} 2>/dev/null
+ mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
+ rm -rf ${TARGET_DIR}/usr/lib/
+ (cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib)
+endif
ifeq ($(ADK_LINUX_SPARC64),y)
# fixup lib dirs
mv ${TARGET_DIR}/lib/* ${TARGET_DIR}/${ADK_TARGET_LIBC_PATH}
@@ -85,6 +95,7 @@ ifeq ($(ADK_TARGET_ABI_N64),y)
mv ${TARGET_DIR}/lib/* ${TARGET_DIR}/${ADK_TARGET_LIBC_PATH}
rm -rf ${TARGET_DIR}/lib/
ln -sf /${ADK_TARGET_LIBC_PATH} ${TARGET_DIR}/lib
+ -mkdir ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} 2>/dev/null
mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
rm -rf ${TARGET_DIR}/usr/lib/
(cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib)
@@ -179,12 +190,12 @@ ifeq ($(ADK_KERNEL_COMP_BZIP2),y)
echo "CONFIG_RD_BZIP2=y" >> ${LINUX_DIR}/.config
echo "CONFIG_INITRAMFS_COMPRESSION_BZIP2=y" >> ${LINUX_DIR}/.config
endif
- @-rm $(LINUX_DIR)/usr/initramfs_data.cpio* $(MAKE_TRACE)
+ @-rm $(LINUX_DIR)/usr/initramfs_data.cpio* 2>/dev/null
echo N | \
$(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(TARGET_CROSS)" \
ARCH=$(ARCH) CC="$(TARGET_CC)" -j${ADK_MAKE_JOBS} oldconfig $(MAKE_TRACE)
$(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(TARGET_CROSS)" \
- ARCH=$(ARCH) CC="$(TARGET_CC)" -j${ADK_MAKE_JOBS} $(MAKE_TRACE)
+ ARCH=$(ARCH) CC="$(TARGET_CC)" -j${ADK_MAKE_JOBS} $(ADK_TARGET_KERNEL) $(MAKE_TRACE)
imageclean:
rm -f $(BIN_DIR)/$(ADK_TARGET_SYSTEM)-* ${BUILD_DIR}/$(ADK_TARGET_SYSTEM)-*
diff --git a/mk/kernel-build.mk b/mk/kernel-build.mk
index b7385c272..3f055e255 100644
--- a/mk/kernel-build.mk
+++ b/mk/kernel-build.mk
@@ -5,6 +5,17 @@ include $(TOPDIR)/rules.mk
include $(TOPDIR)/mk/linux.mk
include ${TOPDIR}/mk/kernel-vars.mk
+KERNEL_FILE:=$(ADK_TARGET_KERNEL)
+KERNEL_TARGET:=$(ADK_TARGET_KERNEL)
+ifeq ($(ADK_TARGET_KERNEL_ZIMAGE),y)
+KERNEL_FILE:=vmlinux
+KERNEL_TARGET:=$(ADK_TARGET_KERNEL)
+endif
+ifeq ($(ADK_TARGET_KERNEL_BZIMAGE),y)
+KERNEL_FILE:=vmlinux
+KERNEL_TARGET:=all
+endif
+
$(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_VERSION)/.patched:
$(TRACE) target/kernel-patch
$(PATCH) $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_VERSION) \
@@ -19,30 +30,30 @@ $(LINUX_DIR)/.prepared: $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PK
$(LINUX_DIR)/.config: $(LINUX_DIR)/.prepared $(BUILD_DIR)/.kernelconfig $(TOPDIR)/mk/modules.mk
$(TRACE) target/$(ADK_TARGET_ARCH)-kernel-configure
- for f in $(TARGETS);do if [ -f $$f ];then rm $$f;fi;done $(MAKE_TRACE)
+ -for f in $(TARGETS);do if [ -f $$f ];then rm $$f;fi;done
$(CP) $(BUILD_DIR)/.kernelconfig $(LINUX_DIR)/.config
echo N | ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} oldconfig $(MAKE_TRACE)
${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} prepare scripts $(MAKE_TRACE)
touch -c $(LINUX_DIR)/.config
-$(LINUX_DIR)/vmlinux: $(LINUX_DIR)/.config
- -rm $(LINUX_DIR)/vmlinux $(MAKE_TRACE)
+$(LINUX_DIR)/$(KERNEL_FILE): $(LINUX_DIR)/.config
+ -rm $(LINUX_DIR)/$(KERNEL_TARGET) 2>/dev/null
$(TRACE) target/$(ADK_TARGET_ARCH)-kernel-compile
- ${KERNEL_MAKE_ENV} $(MAKE) V=1 ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} LOCALVERSION="" $(MAKE_TRACE)
+ ${KERNEL_MAKE_ENV} $(MAKE) V=1 ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} LOCALVERSION="" $(KERNEL_TARGET) $(MAKE_TRACE)
$(TRACE) target/$(ADK_TARGET_ARCH)-kernel-modules-install
rm -rf $(LINUX_BUILD_DIR)/modules
${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} DEPMOD=true \
INSTALL_MOD_PATH=$(LINUX_BUILD_DIR)/modules \
LOCALVERSION="" \
- modules_install $(MAKE_TRACE)
+ modules modules_install $(MAKE_TRACE)
$(TRACE) target/$(ADK_TARGET_ARCH)-create-packages
ifneq ($(strip $(TARGETS)),)
$(MAKE) $(TARGETS)
endif
- touch -c $(LINUX_DIR)/vmlinux
+ touch -c $(LINUX_DIR)/$(KERNEL_FILE)
prepare:
-compile: $(LINUX_DIR)/vmlinux
+compile: $(LINUX_DIR)/$(KERNEL_FILE)
install: compile
ifneq ($(strip $(INSTALL_TARGETS)),)
$(TRACE) target/${ADK_TARGET_ARCH}-modules-install
diff --git a/mk/kernel-ver.mk b/mk/kernel-ver.mk
index 957465ee3..d4587aa7d 100644
--- a/mk/kernel-ver.mk
+++ b/mk/kernel-ver.mk
@@ -16,9 +16,9 @@ KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
KERNEL_MD5SUM:= edbf88eb7f7d34dbd5d3887726790755
endif
-ifeq ($(ADK_KERNEL_VERSION_3_4_60),y)
-KERNEL_VERSION:= 3.4.60
+ifeq ($(ADK_KERNEL_VERSION_3_4_65),y)
+KERNEL_VERSION:= 3.4.65
KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
-KERNEL_MD5SUM:= 6173c731d43939c133d0c575e6e0735e
+KERNEL_MD5SUM:= c1d4cbf921a74e0234006d6cd9a3ac2b
endif
diff --git a/mk/package.mk b/mk/package.mk
index 9e880d5ef..01db36030 100644
--- a/mk/package.mk
+++ b/mk/package.mk
@@ -10,7 +10,14 @@ CONFIGURE_ARGS+= --enable-debug
endif
endif
+AUTOTOOL_ENV+= AUTOM4TE='${STAGING_HOST_DIR}/usr/bin/autom4te' \
+ M4='${STAGING_HOST_DIR}/usr/bin/m4' \
+ LIBTOOLIZE='${STAGING_HOST_DIR}/usr/bin/libtoolize -q' \
+ PATH='${AUTOTOOL_PATH}'
+
CONFIGURE_ENV+= GCC_HONOUR_COPTS=s \
+ AUTOM4TE=${STAGING_HOST_DIR}/usr/bin/autom4te \
+ M4='${STAGING_HOST_DIR}/usr/bin/m4' \
PATH='${TARGET_PATH}' \
CONFIG_SHELL='$(strip ${SHELL})' \
CFLAGS='$(strip ${TARGET_CFLAGS})' \
@@ -98,11 +105,12 @@ build-all-pkgs: ${_IPKGS_COOKIE}
# 4.) dependencies to other packages, $(PKG_DEPENDS)
# 5.) description for the package, $(PKG_DESCR)
# 6.) section of the package, $(PKG_SECTION)
-# 7.) special package options
-# noscripts -> do not install scripts to $(STAGING_TARGET_DIR)/target/scripts
+# 7.) special package options $(PKG_OPTS)
+# noscripts -> do not install scripts to $(STAGING_TARGET_DIR)/scripts
# (needed for example for autoconf/automake)
# noremove -> do not remove files from $(STAGING_TARGET_DIR)/target while
# cleaning (needed for toolchain packages like glibc/eglibc)
+# dev -> create a development subpackage with headers and pkg-config files
# should be package format independent and modular in the future
define PKG_template
ALL_PKGOPTS+= $(1)
@@ -111,7 +119,11 @@ PKGDEPS_$(1)= $(4)
PKGDESC_$(1)= $(5)
PKGSECT_$(1)= $(6)
IPKG_$(1)= $(PACKAGE_DIR)/$(2)_$(3)_${CPU_ARCH}.${PKG_SUFFIX}
+IPKG_$(1)_DEV= $(PACKAGE_DIR)/$(2)-dev_$(3)_${CPU_ARCH}.${PKG_SUFFIX}
+IPKG_$(1)_DBG= $(PACKAGE_DIR)/$(2)-dbg_$(3)_${CPU_ARCH}.${PKG_SUFFIX}
IDIR_$(1)= $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(2)
+IDIR_$(1)_DEV= $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(2)-dev
+IDIR_$(1)_DBG= $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(2)-dbg
ifneq (${ADK_PACKAGE_$(1)}${DEVELOPER},)
ALL_IPKGS+= $$(IPKG_$(1))
ALL_IDIRS+= $${IDIR_$(1)}
@@ -119,20 +131,37 @@ ALL_POSTINST+= $(2)-install
$(2)-install:
endif
INFO_$(1)= $(PKG_STATE_DIR)/info/$(2).list
+INFO_$(1)_DEV= $(PKG_STATE_DIR)/info/$(2)-dev.list
+INFO_$(1)_DBG= $(PKG_STATE_DIR)/info/$(2)-dbg.list
ifeq ($(ADK_PACKAGE_$(1)),y)
+ifeq ($(ADK_PACKAGE_$(1)_DBG),y)
+install-targets: $$(INFO_$(1)) $$(INFO_$(1)_DBG)
+ifeq ($(ADK_PACKAGE_$(1)_DEV),y)
+install-targets: $$(INFO_$(1)) $$(INFO_$(1)_DBG) $$(INFO_$(1)_DEV)
+else
+install-targets: $$(INFO_$(1)) $$(INFO_$(1)_DBG)
+endif
+else
+ifeq ($(ADK_PACKAGE_$(1)_DEV),y)
+install-targets: $$(INFO_$(1)) $$(INFO_$(1)_DEV)
+else
install-targets: $$(INFO_$(1))
endif
+endif
+endif
IDEPEND_$(1):= $$(strip $(4))
_ALL_CONTROLS+= $$(IDIR_$(1))/CONTROL/control
ICONTROL_$(1)?= $(WRKDIR)/.$(2).control
+ICONTROL_$(1)_DEV?= $(WRKDIR)/.$(2)-dev.control
+ICONTROL_$(1)_DBG?= $(WRKDIR)/.$(2)-dbg.control
$$(IDIR_$(1))/CONTROL/control: ${_PATCH_COOKIE}
@echo "Package: $$(shell echo $(2) | tr '_' '-')" > $(WRKDIR)/.$(2).control
@echo "Section: $(6)" >> $(WRKDIR)/.$(2).control
@echo "Description: $(5)" >> $(WRKDIR)/.$(2).control
- ${BASH} ${SCRIPT_DIR}/make-ipkg-dir.sh $${IDIR_$(1)} $${ICONTROL_$(1)} $(3) ${CPU_ARCH}
+ @${BASH} ${SCRIPT_DIR}/make-ipkg-dir.sh $${IDIR_$(1)} $${ICONTROL_$(1)} $(3) ${CPU_ARCH}
@adeps='$$(strip $${IDEPEND_$(1)})'; if [[ -n $$$$adeps ]]; then \
comma=; \
deps=; \
@@ -151,6 +180,20 @@ $$(IDIR_$(1))/CONTROL/control: ${_PATCH_COOKIE}
@for file in conffiles preinst postinst prerm postrm; do \
[ ! -f ./files/$(2).$$$$file ] || cp ./files/$(2).$$$$file $$(IDIR_$(1))/CONTROL/$$$$file; \
done
+ifneq ($(ADK_DEBUG),y)
+ @echo "Package: $$(shell echo $(2) | tr '_' '-')-dbg" > $(WRKDIR)/.$(2)-dbg.control
+ @echo "Section: debug" >> $(WRKDIR)/.$(2)-dbg.control
+ @echo "Description: debugging symbols for $(2)" >> $(WRKDIR)/.$(2)-dbg.control
+ @${BASH} ${SCRIPT_DIR}/make-ipkg-dir.sh $${IDIR_$(1)_DBG} $${ICONTROL_$(1)_DBG} $(3) ${CPU_ARCH}
+ @echo "Depends: $$(shell echo $(2) | tr '_' '-')" >> $${IDIR_$(1)_DBG}/CONTROL/control
+endif
+ifneq (,$(filter dev,$(7)))
+ @echo "Package: $$(shell echo $(2) | tr '_' '-')-dev" > $(WRKDIR)/.$(2)-dev.control
+ @echo "Section: devel" >> $(WRKDIR)/.$(2)-dev.control
+ @echo "Description: development files for $(2)" >> $(WRKDIR)/.$(2)-dev.control
+ @${BASH} ${SCRIPT_DIR}/make-ipkg-dir.sh $${IDIR_$(1)_DEV} $${ICONTROL_$(1)_DEV} $(3) ${CPU_ARCH}
+ @echo "Depends: $$(shell echo $(2) | tr '_' '-')" >> $${IDIR_$(1)_DEV}/CONTROL/control
+endif
$$(IPKG_$(1)): $$(IDIR_$(1))/CONTROL/control $${_FAKE_COOKIE}
ifeq ($(ADK_DEBUG),)
@@ -222,9 +265,17 @@ ifeq (,$(filter noscripts,$(7)))
endif
ifeq (,$(filter libmix,$(7)))
ifeq (,$(filter libonly,$(7)))
+ifeq (,$(filter devonly,$(7)))
$${PKG_BUILD} $${IDIR_$(1)} $${PACKAGE_DIR} $(MAKE_TRACE)
+ifneq ($(ADK_DEBUG),y)
+ $${PKG_BUILD} $${IDIR_$(1)_DBG} $${PACKAGE_DIR} $(MAKE_TRACE)
+endif
endif
endif
+endif
+ifneq (,$(filter dev,$(7)))
+ $${PKG_BUILD} $${IDIR_$(1)_DEV} $${PACKAGE_DIR} $(MAKE_TRACE)
+endif
clean-targets: clean-dev-$(1)
@@ -237,10 +288,25 @@ ifeq (,$(filter noremove,$(7)))
done <'$${STAGING_PKG_DIR}/$(1)'; \
fi
endif
- rm -f '$${STAGING_PKG_DIR}/$(1)'
+ @rm -f '$${STAGING_PKG_DIR}/$(1)'
$$(INFO_$(1)): $$(IPKG_$(1))
$(PKG_INSTALL) $$(IPKG_$(1))
+
+$$(INFO_$(1)_DBG): $$(IPKG_$(1)_DBG)
+ $(PKG_INSTALL) $$(IPKG_$(1)_DBG)
+
+ifneq ($(1),UCLIBC)
+ifneq ($(1),EGLIBC)
+ifneq ($(1),GLIBC)
+ifneq ($(1),MUSL)
+$$(INFO_$(1)_DEV): $$(IPKG_$(1)_DEV)
+ $(PKG_INSTALL) $$(IPKG_$(1)_DEV)
+endif
+endif
+endif
+endif
+
endef
install-targets:
diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk
index 9f92f9349..782a91284 100644
--- a/mk/pkg-bottom.mk
+++ b/mk/pkg-bottom.mk
@@ -11,26 +11,20 @@
# * if you have a style -> define a pre-foo: and post-foo: if they
# are required, but the do-foo: magic is done here
-REORDER_DEPENDENCIES= ${TOPDIR}/scripts/automake.dep
+PKG_LIBNAME?= $(PKG_NAME)
pre-configure:
do-configure:
post-configure:
${_CONFIGURE_COOKIE}: ${_PATCH_COOKIE}
- @sed -e '/^#/d' ${REORDER_DEPENDENCIES} | \
- tsort | while read f; do \
- cd ${WRKSRC}; \
- case $$f in \
- /*) \
- find . -name "$${f#/}" -print | while read i; do \
- touch "$$i"; \
- done;; \
- *) \
- if test -e "$$f" ; then \
- touch "$$f"; \
- fi;; \
- esac; \
- done
+ifneq (,$(filter autoconf,${AUTOTOOL_STYLE}))
+ cd ${WRKSRC}; env ${AUTOTOOL_ENV} autoconf $(MAKE_TRACE)
+endif
+ifneq (,$(filter autoreconf,${AUTOTOOL_STYLE}))
+ cd ${WRKSRC}; env ${AUTOTOOL_ENV} autoreconf -if $(MAKE_TRACE)
+ @rm -rf ${WRKSRC}/autom4te.cache
+ @touch ${WRKDIR}/.autoreconf_done
+endif
mkdir -p ${WRKBUILD}
@${MAKE} pre-configure $(MAKE_TRACE)
@@ -86,7 +80,7 @@ else ifeq ($(strip ${CONFIG_STYLE}),)
--enable-static \
--disable-dependency-tracking \
--disable-libtool-lock \
- $(NLS) \
+ --disable-nls \
${CONFIGURE_ARGS} $(MAKE_TRACE)
else
@echo "Invalid CONFIG_STYLE '${CONFIG_STYLE}'" >&2
@@ -108,7 +102,6 @@ post-build:
${_BUILD_COOKIE}: ${_CONFIGURE_COOKIE}
@env ${MAKE_ENV} ${MAKE} pre-build $(MAKE_TRACE)
@$(CMD_TRACE) "compiling... "
-
ifneq ($(filter manual,${BUILD_STYLE}),)
env ${MAKE_ENV} ${MAKE} do-build $(MAKE_TRACE)
else ifeq ($(strip ${BUILD_STYLE}),)
@@ -126,7 +119,7 @@ do-install:
post-install:
spkg-install: ${ALL_POSTINST}
${_FAKE_COOKIE}: ${_BUILD_COOKIE}
- -rm -f ${_ALL_CONTROLS}
+ @-rm -f ${_ALL_CONTROLS}
@mkdir -p '${STAGING_PKG_DIR}' ${WRKINST} '${STAGING_DIR}/scripts'
@${MAKE} ${_ALL_CONTROLS} $(MAKE_TRACE)
@env ${MAKE_ENV} ${MAKE} pre-install $(MAKE_TRACE)
@@ -142,6 +135,8 @@ else
@echo "Invalid INSTALL_STYLE '${INSTALL_STYLE}'" >&2
@exit 1
endif
+ env ${MAKE_ENV} ${MAKE} spkg-install $(MAKE_TRACE)
+ @rm -f '${STAGING_PKG_DIR}/${PKG_NAME}.scripts'
@for a in ${WRKINST}/usr/bin/*-config*; do \
[[ -e $$a ]] || continue; \
sed -e "s,^prefix=.*,prefix=${STAGING_TARGET_DIR}/usr," $$a > \
@@ -156,7 +151,6 @@ endif
sed -e "s,^prefix=.*,prefix=${STAGING_TARGET_DIR}/usr," $$a > \
${STAGING_DIR}/usr/lib/pkgconfig/$$(basename $$a); \
done
- env ${MAKE_ENV} ${MAKE} spkg-install $(MAKE_TRACE)
ifeq (,$(filter noremove,${PKG_OPTS}))
@if test -s '${STAGING_PKG_DIR}/${PKG_NAME}'; then \
cd '${STAGING_DIR}'; \
@@ -166,6 +160,22 @@ ifeq (,$(filter noremove,${PKG_OPTS}))
fi
endif
@rm -f '${STAGING_PKG_DIR}/${PKG_NAME}'
+ifneq (,$(filter dev,${PKG_OPTS}))
+ @mkdir -p $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/include
+ @test -d ${WRKINST}/usr/include && cd ${WRKINST}/usr/include; \
+ find . -name \*.h | \
+ $(TOOLS_DIR)/cpio -padlmu $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/include
+ @mkdir -p $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/lib/pkgconfig
+ @test -d ${WRKINST}/usr/lib/pkgconfig && cd ${WRKINST}/usr/lib/pkgconfig; \
+ find . -name \*.pc | \
+ $(TOOLS_DIR)/cpio -padlmu $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/lib/pkgconfig
+ @for a in ${WRKINST}/usr/bin/*-config*; do \
+ [[ -e $$a ]] || continue; \
+ mkdir -p $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/bin; \
+ cp $$a $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/bin; \
+ chmod 755 $(WRKDIR)/fake-${CPU_ARCH}/pkg-$(PKG_LIBNAME)-dev/usr/bin/$$(basename $$a); \
+ done
+endif
@-cd ${WRKINST}; \
if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "eglibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libgcc" -a "${PKG_NAME}" != "libthread-db" -a "${PKG_NAME}" != "musl" ];then \
find lib \( -name lib\*.so\* -o -name lib\*.a \) \
@@ -204,6 +214,7 @@ ${_IPKGS_COOKIE}:
exec ${MAKE} package
package: ${ALL_IPKGS}
+ifneq ($(DEVELOPER),)
@cd ${WRKDIR}/fake-${CPU_ARCH} || exit 1; \
y=; sp=; for x in ${ALL_IDIRS}; do \
y="$$y$$sp$${x#$(WRKDIR)/fake-${CPU_ARCH}/}"; \
@@ -239,6 +250,7 @@ package: ${ALL_IPKGS}
ln=$$name; \
li=$$inode; \
done
+endif
touch ${_IPKGS_COOKIE}
clean-targets: clean-dev-generic
diff --git a/mk/python.mk b/mk/python.mk
index 933bd0065..1ef92e664 100644
--- a/mk/python.mk
+++ b/mk/python.mk
@@ -1,7 +1,7 @@
PYTHON_VERSION=2.7
ifeq ($(ADK_NATIVE),)
PYTHON_LIBDIR:=$(STAGING_HOST_DIR)/usr/lib
-PYTHON:=${STAGING_HOST_DIR}/usr/bin/hostpython
+PYTHON:=${STAGING_HOST_DIR}/usr/bin/python
else
PYTHON_LIBDIR:=/usr/lib
PYTHON:=/usr/bin/python
diff --git a/mk/vars.mk b/mk/vars.mk
index e84e8b86b..50e02a204 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -43,7 +43,9 @@ BIN_DIR_PFX:= $(BASE_DIR)/bin
PACKAGE_DIR:= $(BIN_DIR)/packages
TARGET_DIR:= $(BASE_DIR)/root_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
TARGET_DIR_PFX:= $(BASE_DIR)/root_*
-TARGET_PATH= ${SCRIPT_DIR}:${TOOLS_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH}
+TARGET_PATH= ${SCRIPT_DIR}:${TOOLS_DIR}:${STAGING_TARGET_DIR}/scripts:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
+HOST_PATH= ${SCRIPT_DIR}:${TOOLS_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
+AUTOTOOL_PATH= ${TOOLS_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH}
REAL_GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX)
GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux
@@ -53,31 +55,6 @@ else
GCC_CHECK:=
endif
-ifeq ($(CPU_ARCH),arm)
-QEMU:= qemu-arm
-endif
-ifeq ($(CPU_ARCH),mipsel)
-QEMU:= qemu-mipsel
-endif
-ifeq ($(CPU_ARCH),mips64el)
-QEMU:= qemu-mipsel
-endif
-ifeq ($(CPU_ARCH),mips)
-QEMU:= qemu-mips
-endif
-ifeq ($(CPU_ARCH),i486)
-QEMU:= qemu-i386
-endif
-ifeq ($(CPU_ARCH),i586)
-QEMU:= qemu-i386
-endif
-ifeq ($(CPU_ARCH),i686)
-QEMU:= qemu-i386
-endif
-ifeq ($(CPU_ARCH),x86_64)
-QEMU:= qemu-x86_64
-endif
-
ifeq ($(ADK_NATIVE),y)
TARGET_CROSS:=
TARGET_COMPILER_PREFIX?=
@@ -129,6 +106,10 @@ TARGET_CFLAGS+= -g3 -fno-omit-frame-pointer
else
TARGET_CPPFLAGS+= -DNDEBUG
TARGET_CFLAGS+= -fomit-frame-pointer $(TARGET_OPTIMIZATION)
+# stop generating eh_frame stuff
+TARGET_CFLAGS+= -fno-unwind-tables -fno-asynchronous-unwind-tables
+# always add debug information
+TARGET_CFLAGS+= -g3
endif
@@ -141,10 +122,10 @@ CF_FOR_BUILD=$(call check_gcc,-fhonour-copts,)
# host compiler flags
CXX_FOR_BUILD?= g++
-CPPFLAGS_FOR_BUILD?=
+CPPFLAGS_FOR_BUILD?= -I$(STAGING_HOST_DIR)/usr/include
CFLAGS_FOR_BUILD= -O2 -Wall $(CF_FOR_BUILD)
CXXFLAGS_FOR_BUILD?= -O2 -Wall
-LDFLAGS_FOR_BUILD?=
+LDFLAGS_FOR_BUILD?= -L$(STAGING_HOST_DIR)/usr/lib
FLAGS_FOR_BUILD= ${CPPFLAGS_FOR_BUILD} ${CFLAGS_FOR_BUILD} ${LDFLAGS_FOR_BUILD}
PATCH= ${BASH} $(SCRIPT_DIR)/patch.sh
@@ -200,7 +181,7 @@ endif
ifeq ($(ADK_NATIVE),y)
RSTRIP:= prefix=' ' ${BASH} ${SCRIPT_DIR}/rstrip.sh
else
-RSTRIP:= prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh
+RSTRIP:= PATH="$(TARGET_PATH)" prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/rstrip.sh
endif
STATCMD:=$(shell if stat -qs .>/dev/null 2>&1; then echo 'stat -f %z';else echo 'stat -c %s';fi)
@@ -242,10 +223,4 @@ ifeq ($(ADK_HOST_CYGWIN),y)
EXEEXT:= .exe
endif
-ifeq ($(ADK_LOCALES),y)
-NLS:= --enable-nls
-else
-NLS:= --disable-nls
-endif
-
include $(TOPDIR)/mk/mirrors.mk