X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=Android.mk;h=bf4d7280cfff7dd69b4cecac23750ee1e02f6c39;hb=d68f8f8986dbd571185bae98a81f4038a179e384;hp=404d9985095147088b3d25cc6bb252124507a67e;hpb=24dd719b53c25d0a3825d8bae29ce43cfa305c77;p=android-x86%2Fbootable-newinstaller.git diff --git a/Android.mk b/Android.mk index 404d998..bf4d728 100644 --- a/Android.mk +++ b/Android.mk @@ -1,4 +1,4 @@ -# Copyright 2009-2010, The Android-x86 Open Source Project +# Copyright 2009-2014, The Android-x86 Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,47 +12,29 @@ # See the License for the specific language governing permissions and # limitations under the License. -ifeq ($(TARGET_ARCH),x86) +ifneq ($(filter x86%,$(TARGET_ARCH)),) LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) -VER ?= $(shell date +"%F") +include $(CLEAR_VARS) +LOCAL_IS_HOST_MODULE := true +LOCAL_SRC_FILES := rpm/qemu-android +LOCAL_MODULE := $(notdir $(LOCAL_SRC_FILES)) +LOCAL_MODULE_TAGS := debug +LOCAL_MODULE_CLASS := EXECUTABLES +LOCAL_POST_INSTALL_CMD := $(hide) sed -i "s|CMDLINE|$(BOARD_KERNEL_CMDLINE)|" $(HOST_OUT_EXECUTABLES)/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) -LOCAL_MODULE := newinstaller -LOCAL_MODULE_TAGS := system_builder +VER ?= $$(date +"%F") # use squashfs for iso, unless explictly disabled ifneq ($(USE_SQUASHFS),0) -MKSQUASHFS = $(shell which mksquashfs) +MKSQUASHFS := $(MAKE_SQUASHFS) define build-squashfs-target - $(if $(shell $(MKSQUASHFS) -version | grep "version [0-3].[0-9]"),\ - $(error Your mksquashfs is too old to work with kernel 2.6.29. Please upgrade to squashfs-tools 4.0)) - $(hide) $(MKSQUASHFS) $(1) $(2) -noappend + $(hide) $(MKSQUASHFS) $(1) $(2) -noappend -comp gzip endef endif -define check-density - eval d=$$(grep ^ro.sf.lcd_density $(INSTALLED_DEFAULT_PROP_TARGET) $(INSTALLED_BUILD_PROP_TARGET) | sed 's|\(.*\)=\(.*\)|\2|'); \ - [ -z "$$d" ] || ( awk -v d=$$d ' BEGIN { \ - if (d <= 180) { \ - label="liveh"; dpi="HDPI"; \ - } else { \ - label="livem"; dpi="MDPI"; \ - } \ - } { \ - if (match($$2, label)) \ - s=5; \ - else if (match($$0, dpi)) \ - s=4; \ - else \ - s=0; \ - for (i = 0; i < s; ++i) \ - getline; \ - gsub(" DPI=[0-9]*",""); print $$0; \ - }' $(1) > $(1)_ && mv $(1)_ $(1) ) -endef - initrd_dir := $(LOCAL_PATH)/initrd initrd_bin := \ $(initrd_dir)/init \ @@ -60,42 +42,72 @@ initrd_bin := \ systemimg := $(PRODUCT_OUT)/system.$(if $(MKSQUASHFS),sfs,img) -INITRD_RAMDISK := $(PRODUCT_OUT)/initrd.img +TARGET_INITRD_OUT := $(PRODUCT_OUT)/initrd +INITRD_RAMDISK := $(TARGET_INITRD_OUT).img $(INITRD_RAMDISK): $(initrd_bin) $(systemimg) $(TARGET_INITRD_SCRIPTS) | $(ACP) $(MKBOOTFS) - rm -rf $(TARGET_INSTALLER_OUT) - $(ACP) -pr $(initrd_dir) $(TARGET_INSTALLER_OUT) - $(if $(TARGET_INITRD_SCRIPTS),$(ACP) -p $(TARGET_INITRD_SCRIPTS) $(TARGET_INSTALLER_OUT)/scripts) - ln -s /bin/ld-linux.so.2 $(TARGET_INSTALLER_OUT)/lib - mkdir -p $(addprefix $(TARGET_INSTALLER_OUT)/,android iso mnt proc sys tmp sfs hd) - echo "VER=$(VER)" > $(TARGET_INSTALLER_OUT)/scripts/00-ver - $(MKBOOTFS) $(TARGET_INSTALLER_OUT) | gzip -9 > $@ + $(hide) rm -rf $(TARGET_INITRD_OUT) + mkdir -p $(addprefix $(TARGET_INITRD_OUT)/,android hd iso lib mnt proc scripts sfs sys tmp) + $(if $(TARGET_INITRD_SCRIPTS),$(ACP) -p $(TARGET_INITRD_SCRIPTS) $(TARGET_INITRD_OUT)/scripts) + ln -s /bin/ld-linux.so.2 $(TARGET_INITRD_OUT)/lib + echo "VER=$(VER)" > $(TARGET_INITRD_OUT)/scripts/00-ver + $(if $(RELEASE_OS_TITLE),echo "OS_TITLE=$(RELEASE_OS_TITLE)" >> $(TARGET_INITRD_OUT)/scripts/00-ver) + $(if $(INSTALL_PREFIX),echo "INSTALL_PREFIX=$(INSTALL_PREFIX)" >> $(TARGET_INITRD_OUT)/scripts/00-ver) + $(MKBOOTFS) $( $@ INSTALL_RAMDISK := $(PRODUCT_OUT)/install.img -$(INSTALL_RAMDISK): $(wildcard $(LOCAL_PATH)/install/*/*) | $(MKBOOTFS) $(TARGET_OUT_OPTIONAL_EXECUTABLES)/busybox - $(if $(TARGET_INSTALL_SCRIPTS),$(ACP) -p $(TARGET_INSTALL_SCRIPTS) $(TARGET_INSTALLER_OUT)/scripts) - $(MKBOOTFS) $(dir $(dir $( $@ +INSTALLER_BIN := $(TARGET_INSTALLER_OUT)/sbin/efibootmgr +$(INSTALL_RAMDISK): $(wildcard $(LOCAL_PATH)/install/*/* $(LOCAL_PATH)/install/*/*/*/*) $(INSTALLER_BIN) | $(MKBOOTFS) + $(if $(TARGET_INSTALL_SCRIPTS),mkdir -p $(TARGET_INSTALLER_OUT)/scripts; $(ACP) -p $(TARGET_INSTALL_SCRIPTS) $(TARGET_INSTALLER_OUT)/scripts) + $(MKBOOTFS) $(dir $(dir $( $@ + +isolinux_files := $(addprefix external/syslinux/bios/com32/, \ + ../core/isolinux.bin \ + chain/chain.c32 \ + elflink/ldlinux/ldlinux.c32 \ + lib/libcom32.c32 \ + libutil/libutil.c32 \ + menu/vesamenu.c32) boot_dir := $(PRODUCT_OUT)/boot -$(boot_dir): $(wildcard $(LOCAL_PATH)/boot/isolinux/*) $(systemimg) $(GENERIC_X86_CONFIG_MK) | $(ACP) - rm -rf $@ +$(boot_dir): $(shell find $(LOCAL_PATH)/boot -type f | sort -r) $(isolinux_files) $(systemimg) $(INSTALL_RAMDISK) $(GENERIC_X86_CONFIG_MK) | $(ACP) + $(hide) rm -rf $@ $(ACP) -pr $(dir $( /dev/null),xorriso -as mkisofs,genisoimage) ISO_IMAGE := $(PRODUCT_OUT)/$(TARGET_PRODUCT).iso +ISOHYBRID := LD_LIBRARY_PATH=$(LOCAL_PATH)/install/lib external/syslinux/bios/utils/isohybrid $(ISO_IMAGE): $(boot_dir) $(BUILT_IMG) @echo ----- Making iso image ------ - $(hide) $(call check-density,$