summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
Diffstat (limited to 'mk')
-rw-r--r--mk/build.mk2
-rw-r--r--mk/buildhlp.mk18
-rw-r--r--mk/fetch.mk7
-rw-r--r--mk/image.mk21
-rw-r--r--mk/modules.mk4
-rw-r--r--mk/rootfs.mk2
-rw-r--r--mk/vars.mk19
7 files changed, 51 insertions, 22 deletions
diff --git a/mk/build.mk b/mk/build.mk
index cd50be90f..854fdb19d 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -266,7 +266,7 @@ ifeq ($(filter-out distclean,${MAKECMDGOALS}),)
include ${TOPDIR}/mk/vars.mk
else
include $(TOPDIR)/prereq.mk
-export BASH MAKE LANGUAGE LC_ALL OStype PATH CC_FOR_BUILD
+export BASH MAKE LANGUAGE LC_ALL OStype PATH CC_FOR_BUILD QEMU
endif
all: menuconfig
diff --git a/mk/buildhlp.mk b/mk/buildhlp.mk
index 3c79fc1e8..19b761f46 100644
--- a/mk/buildhlp.mk
+++ b/mk/buildhlp.mk
@@ -49,15 +49,27 @@ ifeq (${_CHECKSUM_COOKIE},)
endif
ifeq ($(EXTRACT_OVERRIDE),1)
${MAKE} do-extract
-else
+else
${EXTRACT_CMD}
endif
@${MAKE} post-extract $(MAKE_TRACE)
touch $@
__use_generic_patch_target:=42
-else ifeq ($(strip ${_IN_PACKAGE}),1)
-$(warning This package does not use the generic extraction and patch target; it's most likely to fail.)
+else
+include ${TOPDIR}/mk/fetch.mk
+${WRKDIST}/.extract_done: ${_CHECKSUM_COOKIE}
+ $(MAKE) fetch
+ifeq (${_CHECKSUM_COOKIE},)
+ rm -rf ${WRKDIST} ${WRKSRC} ${WRKBUILD}
+endif
+ifeq ($(EXTRACT_OVERRIDE),1)
+ ${MAKE} do-extract
+else
+ ${EXTRACT_CMD}
+endif
+ @${MAKE} post-extract $(MAKE_TRACE)
+ touch $@
endif
ifeq ($(strip ${__use_generic_patch_target}),42)
diff --git a/mk/fetch.mk b/mk/fetch.mk
index 5c3edf918..a2590d467 100644
--- a/mk/fetch.mk
+++ b/mk/fetch.mk
@@ -59,14 +59,7 @@ endif
define FETCH_template
$(1):
@fullname='$(1)'; \
- subname=$$$${fullname##$${DISTDIR}/}; \
filename=$$$${fullname##*/}; \
- i='$${LOCAL_DISTDIR}'; \
- if [[ -n $$$$i && -e $$$$i/$$$$subname ]]; then \
- cd "$$$$i"; \
- echo pax -rw "$$$$subname" '$${DISTDIR}/'; \
- exec pax -rw "$$$$subname" '$${DISTDIR}/'; \
- fi; \
mkdir -p "$$$${fullname%%/$$$$filename}"; \
cd "$$$${fullname%%/$$$$filename}"; \
for site in $${PKG_SITES} $${MASTER_SITE_BACKUP}; do \
diff --git a/mk/image.mk b/mk/image.mk
index 24e31aa0b..185164c22 100644
--- a/mk/image.mk
+++ b/mk/image.mk
@@ -65,12 +65,21 @@ kernel-package: $(KERNEL)
$(TRACE) target/$(ADK_TARGET_ARCH)-install-kernel-package
$(PKG_INSTALL) $(KERNEL_PKG) $(MAKE_TRACE)
-TARGET_KERNEL= ${ADK_TARGET_SYSTEM}-${CPU_ARCH}-${ADK_TARGET_FS}-kernel
-INITRAMFS= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_ARCH}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}
-ROOTFSSQUASHFS= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_ARCH}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.img
-ROOTFSTARBALL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_ARCH}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}+kernel.tar.gz
-ROOTFSUSERTARBALL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_ARCH}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.tar.gz
-INITRAMFS_PIGGYBACK= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_ARCH}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.cpio
+ifeq ($(ADK_HARDWARE_QEMU),y)
+TARGET_KERNEL= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_FS}-kernel
+INITRAMFS= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}
+ROOTFSSQUASHFS= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.img
+ROOTFSTARBALL= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}+kernel.tar.gz
+ROOTFSUSERTARBALL= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.tar.gz
+INITRAMFS_PIGGYBACK= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.cpio
+else
+TARGET_KERNEL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_FS}-kernel
+INITRAMFS= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}
+ROOTFSSQUASHFS= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.img
+ROOTFSTARBALL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}+kernel.tar.gz
+ROOTFSUSERTARBALL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.tar.gz
+INITRAMFS_PIGGYBACK= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.cpio
+endif
${BIN_DIR}/${ROOTFSTARBALL}: ${TARGET_DIR} kernel-package
cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | \
diff --git a/mk/modules.mk b/mk/modules.mk
index c9819c697..e51732a4c 100644
--- a/mk/modules.mk
+++ b/mk/modules.mk
@@ -1180,13 +1180,11 @@ $(eval $(call KMOD_template,INPUT_EVDEV,input-evdev,\
# USB
#
-ifeq ($(ADK_TARGET_SYSTEM_FOXBOARD_LX832),)
-ifeq ($(ADK_TARGET_SYSTEM_FOXBOARD_LX416),)
+ifeq ($(ADK_TARGET_SYSTEM_FOXBOARD_LX),)
$(eval $(call KMOD_template,USB,usb,\
$(MODULES_DIR)/kernel/drivers/usb/core/usbcore \
,50))
endif
-endif
$(eval $(call KMOD_template,USB_EHCI_HCD,usb-ehci-hcd,\
$(MODULES_DIR)/kernel/drivers/usb/host/ehci-hcd \
diff --git a/mk/rootfs.mk b/mk/rootfs.mk
index 241a237fa..5080944e6 100644
--- a/mk/rootfs.mk
+++ b/mk/rootfs.mk
@@ -17,7 +17,7 @@ ROOTFS:= root=/dev/sda2
MTDDEV:= root=/dev/mtdblock1
endif
-ifeq ($(ADK_TARGET_SYSTEM_MIKROTIK_RB433),y)
+ifeq ($(ADK_TARGET_SYSTEM_MIKROTIK_RB4XX),y)
MTDDEV:= root=/dev/mtdblock2
endif
diff --git a/mk/vars.mk b/mk/vars.mk
index 3776b57b4..89d78be83 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -47,6 +47,22 @@ TARGET_PATH= ${SCRIPT_DIR}:${TOOLS_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_HOST_
REAL_GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX)
GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux
+ifeq ($(CPU_ARCH),arm)
+QEMU:= qemu-arm
+endif
+ifeq ($(CPU_ARCH),mipsel)
+QEMU:= qemu-mipsel
+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?=
@@ -138,7 +154,8 @@ TARGET_CONFIGURE_OPTS= PATH='${TARGET_PATH}' \
HOST_CONFIGURE_OPTS= CC_FOR_BUILD='${CC_FOR_BUILD}' \
CPPFLAGS_FOR_BUILD='${CPPFLAGS_FOR_BUILD}' \
CFLAGS_FOR_BUILD='${CFLAGS_FOR_BUILD}' \
- LDFLAGS_FOR_BUILD='${LDFLAGS_FOR_BUILD}'
+ LDFLAGS_FOR_BUILD='${LDFLAGS_FOR_BUILD}' \
+ QEMU='$(QEMU)'
PKG_SUFFIX:= $(strip $(subst ",, $(ADK_PACKAGE_SUFFIX)))