#===============================================================================
include Rules.make
OT_SDK_ROOT_DIR = .
include $(OT_SDK_ROOT_DIR)/OtDeviceType.mk
TOP_DIR=$(PWD)
APP=$(TOP_DIR)/app
OUT_DIR=$(TOP_DIR)
OUT_APP_RLS_DIR=$(OUT_DIR)/release
RELEASE_DIR=$(OUT_DIR)/images
UBOOT_DIR=$(TOP_DIR)/uboot
UBOOT_TOOLS=$(TOP_DIR)/tools/tools/uboot_tools
KERNEL_DIR=$(TOP_DIR)/linux-3.0.y
COMPILE_PREFIX=arm-hisiv100nptl-linux-
DRIVER_DIR=$(TOP_DIR)/driver(外挂驱动)
APP_DIR=$(TOP_DIR)/app
ROOTFS_DIR=$(TOP_DIR)/rootfs
TARGET_ROOTFS=$(OUT_DIR)/target
APPBIN_DIR=$(APP_DIR)/bin
APP_RLS_DIR=$(APP_RELEASE_DIR)/bin
UBOOT_BIN=hi3520d_uboot.img
KERNEL_BIN=hi3520d_kernel.img
ROOTFS_BIN=hi3520d_rootfs.img
ifeq ($(CHIP),3515)
DRIVER_FOLDER:=adxl345 gpio gpio-i2c hi3515v100-sdio hi3515v100-sfv300 hisi-dma hisi-irda hisi-mmz isl1208 mp2807 wtdg DPO_RT3070_LinuxSTA_V2.3.0.4_20100604
else
DRIVER_FOLDER:=
DRIVER_FOLDER+=
endif
#===============================================================================
.PHONY: app
all: u_boot kernel drv app root_fs
u_boot:
echo "make u_boot..."
#cp -f $(UBOOT_DIR)/flash_size_32M.h $(UBOOT_DIR)/include/flash_size.h
make -C $(UBOOT_DIR) ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX) distclean
make -C $(UBOOT_DIR) ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX) clean
make -C $(UBOOT_DIR) ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX) hi3520d_config
make -j6 -C $(UBOOT_DIR) ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX)
$(UBOOT_TOOLS)/mkboot-hi3520d.sh $(UBOOT_TOOLS)/reg_info_Hi3520D-bvt_No1_660_330_660_ddr_innerFEPHY.bin $(UBOOT_TOOLS)/reg_info_Hi3515A-bvt_No1_600_300_600_ddr_innerFEPHY.bin $(RELEASE_DIR)/$(UBOOT_BIN)
# $(UBOOT_TOOLS)/mkboot.sh $(UBOOT_DIR)/u-boot.bin $(UBOOT_TOOLS)/reg_info_Hi3520D-bvt_No1_660_330_660_ddr_innerFEPHY.bin $(RELEASE_DIR)/$(UBOOT_BIN)
#$(UBOOT_DIR)/u-boot.bin $(UBOOT_TOOLS)/reg_info.bin $(RELEASE_DIR)/$(UBOOT_BIN)
kernel_menu:
cd $(KERNEL_DIR); make ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX) menuconfig
kernel:
echo "make kernel..."
# cd $(KERNEL_DIR); make ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX) menuconfig
# make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- menuconfig
cd $(KERNEL_DIR); make ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX) uImage
cp $(KERNEL_DIR)/arch/arm/boot/uImage $(RELEASE_DIR)/$(KERNEL_BIN)
cp $(RELEASE_DIR)/$(KERNEL_BIN) /tftpboot
drv:
echo "make driver..."
cd $(KERNEL_DIR) && make ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX) modules
#20150429#cd drivers && make
#echo $(DRIVER_FOLDER)
#for folder in $(DRIVER_FOLDER); do \
# cd $(DRIVER_DIR)/$$folder; \
# make; \
#done
app:
echo "make app..."
make -C app/fuho
make -C app/fuho/ot_pm
make -C app/fuho/ncs
make -C app/fuho/webcgi
ifeq ($(DEF_USES_3GWIFI_AUTO), 1)
make -C app/fuho/ot_udhcp
make -C app/wifi_ctrl
endif
make -C app/fuho/ot_ppp-2.4.3/pppd/plugins/rp-pppoe
make -C app/fuho/ot_ppp-2.4.3
#make -C app/fuho/searcher_hi
make -C app/gpio_init
make -C app/gpio_rw
make -C app/carbox
rm -rf $(TOP_DIR)/app_release/pic
cp -rf app/carbox/pic $(TOP_DIR)/app_release/
ifeq ($(DEF_USES_MMS), 1)
ifndef DEF_USES_TTX_PLATFORM
make -C app/platform
endif
make -C app/fs_reader
endif
root_fs:
echo "make rootfs..."
rm -rf $(RELEASE_DIR)/$(ROOTFS_BIN)
rm -rf $(TARGET_ROOTFS)
mkdir -p $(TARGET_ROOTFS)
cp -a $(ROOTFS_DIR)/* $(TARGET_ROOTFS)/
cd $(KERNEL_DIR); make ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX) INSTALL_MOD_PATH=$(TARGET_ROOTFS) modules_install
rm -rf $(TARGET_ROOTFS)/lib/modules/3.0.8/build
rm -rf $(TARGET_ROOTFS)/lib/modules/3.0.8/source
make -C $(TOP_DIR)/busybox-1.16.1 CONFIG_PREFIX=$(TARGET_ROOTFS) install
cp -a $(APP)/lib/zlib-1.2.5/libz.so* $(TARGET_ROOTFS)/lib/
cp $(APP)/udev-100/udevd $(TARGET_ROOTFS)/bin/
cp $(APP)/udev-100/udevstart $(TARGET_ROOTFS)/bin/
cp $(APP)/udev-100/udevinfo $(TARGET_ROOTFS)/bin/
cp $(APP)/reg-tools-1.0.0/btools $(TARGET_ROOTFS)/sbin/
cp $(APP)/reg-tools-1.0.0/hiddrs $(TARGET_ROOTFS)/sbin/
cp $(APP)/reg-tools-1.0.0/himc $(TARGET_ROOTFS)/sbin/
cp $(APP)/reg-tools-1.0.0/himd $(TARGET_ROOTFS)/sbin/
cp $(APP)/reg-tools-1.0.0/himd.l $(TARGET_ROOTFS)/sbin/
cp $(APP)/reg-tools-1.0.0/himm $(TARGET_ROOTFS)/sbin/
cp -a $(TOP_DIR)/app_release/* $(TARGET_ROOTFS)/app/
make -C app/fuho/ot_pm install
make -C app/fuho/ncs install
make -C app/fuho/ot_pm install
make -C app/fuho/ot_ppp-2.4.3/pppd/plugins/rp-pppoe install
make -C app/fuho/ot_ppp-2.4.3 install
#$(TOP_DIR)/tools/tools/mkfs.jffs2 -e 0x10000 -d $(TARGET_ROOTFS)/ -o $(RELEASE_DIR)/$(ROOTFS_BIN)
$(TOP_DIR)/tools/tools/mksquashfs $(TARGET_ROOTFS) $(RELEASE_DIR)/$(ROOTFS_BIN) -comp xz
./mk_run_img.sh
#cp $(RELEASE_DIR)/$(ROOTFS_BIN) /tftpboot
clean_kernel:
echo "clean kernel..."
make -C $(KERNEL_DIR) clean
clean_drv:
echo "clean driver..."
cd drivers && make clean
#for folder in $(DRIVER_FOLDER); do \
# cd $(DRIVER_DIR)/$$folder; \
# make clean; \
#done
clean_root_fs:
echo "clean rootfs..."
rm -rf $(TARGET_ROOTFS)
clean: clean_drv clean_app clean_root_fs
echo "clean all..."
include Rules.make
OT_SDK_ROOT_DIR = .
include $(OT_SDK_ROOT_DIR)/OtDeviceType.mk
TOP_DIR=$(PWD)
APP=$(TOP_DIR)/app
OUT_DIR=$(TOP_DIR)
OUT_APP_RLS_DIR=$(OUT_DIR)/release
RELEASE_DIR=$(OUT_DIR)/images
UBOOT_DIR=$(TOP_DIR)/uboot
UBOOT_TOOLS=$(TOP_DIR)/tools/tools/uboot_tools
KERNEL_DIR=$(TOP_DIR)/linux-3.0.y
COMPILE_PREFIX=arm-hisiv100nptl-linux-
DRIVER_DIR=$(TOP_DIR)/driver(外挂驱动)
APP_DIR=$(TOP_DIR)/app
ROOTFS_DIR=$(TOP_DIR)/rootfs
TARGET_ROOTFS=$(OUT_DIR)/target
APPBIN_DIR=$(APP_DIR)/bin
APP_RLS_DIR=$(APP_RELEASE_DIR)/bin
UBOOT_BIN=hi3520d_uboot.img
KERNEL_BIN=hi3520d_kernel.img
ROOTFS_BIN=hi3520d_rootfs.img
ifeq ($(CHIP),3515)
DRIVER_FOLDER:=adxl345 gpio gpio-i2c hi3515v100-sdio hi3515v100-sfv300 hisi-dma hisi-irda hisi-mmz isl1208 mp2807 wtdg DPO_RT3070_LinuxSTA_V2.3.0.4_20100604
else
DRIVER_FOLDER:=
DRIVER_FOLDER+=
endif
#===============================================================================
.PHONY: app
all: u_boot kernel drv app root_fs
u_boot:
echo "make u_boot..."
#cp -f $(UBOOT_DIR)/flash_size_32M.h $(UBOOT_DIR)/include/flash_size.h
make -C $(UBOOT_DIR) ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX) distclean
make -C $(UBOOT_DIR) ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX) clean
make -C $(UBOOT_DIR) ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX) hi3520d_config
make -j6 -C $(UBOOT_DIR) ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX)
$(UBOOT_TOOLS)/mkboot-hi3520d.sh $(UBOOT_TOOLS)/reg_info_Hi3520D-bvt_No1_660_330_660_ddr_innerFEPHY.bin $(UBOOT_TOOLS)/reg_info_Hi3515A-bvt_No1_600_300_600_ddr_innerFEPHY.bin $(RELEASE_DIR)/$(UBOOT_BIN)
# $(UBOOT_TOOLS)/mkboot.sh $(UBOOT_DIR)/u-boot.bin $(UBOOT_TOOLS)/reg_info_Hi3520D-bvt_No1_660_330_660_ddr_innerFEPHY.bin $(RELEASE_DIR)/$(UBOOT_BIN)
#$(UBOOT_DIR)/u-boot.bin $(UBOOT_TOOLS)/reg_info.bin $(RELEASE_DIR)/$(UBOOT_BIN)
kernel_menu:
cd $(KERNEL_DIR); make ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX) menuconfig
kernel:
echo "make kernel..."
# cd $(KERNEL_DIR); make ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX) menuconfig
# make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- menuconfig
cd $(KERNEL_DIR); make ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX) uImage
cp $(KERNEL_DIR)/arch/arm/boot/uImage $(RELEASE_DIR)/$(KERNEL_BIN)
cp $(RELEASE_DIR)/$(KERNEL_BIN) /tftpboot
drv:
echo "make driver..."
cd $(KERNEL_DIR) && make ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX) modules
#20150429#cd drivers && make
#echo $(DRIVER_FOLDER)
#for folder in $(DRIVER_FOLDER); do \
# cd $(DRIVER_DIR)/$$folder; \
# make; \
#done
app:
echo "make app..."
make -C app/fuho
make -C app/fuho/ot_pm
make -C app/fuho/ncs
make -C app/fuho/webcgi
ifeq ($(DEF_USES_3GWIFI_AUTO), 1)
make -C app/fuho/ot_udhcp
make -C app/wifi_ctrl
endif
make -C app/fuho/ot_ppp-2.4.3/pppd/plugins/rp-pppoe
make -C app/fuho/ot_ppp-2.4.3
#make -C app/fuho/searcher_hi
make -C app/gpio_init
make -C app/gpio_rw
make -C app/carbox
rm -rf $(TOP_DIR)/app_release/pic
cp -rf app/carbox/pic $(TOP_DIR)/app_release/
ifeq ($(DEF_USES_MMS), 1)
ifndef DEF_USES_TTX_PLATFORM
make -C app/platform
endif
make -C app/fs_reader
endif
root_fs:
echo "make rootfs..."
rm -rf $(RELEASE_DIR)/$(ROOTFS_BIN)
rm -rf $(TARGET_ROOTFS)
mkdir -p $(TARGET_ROOTFS)
cp -a $(ROOTFS_DIR)/* $(TARGET_ROOTFS)/
cd $(KERNEL_DIR); make ARCH=arm CROSS_COMPILE=$(COMPILE_PREFIX) INSTALL_MOD_PATH=$(TARGET_ROOTFS) modules_install
rm -rf $(TARGET_ROOTFS)/lib/modules/3.0.8/build
rm -rf $(TARGET_ROOTFS)/lib/modules/3.0.8/source
make -C $(TOP_DIR)/busybox-1.16.1 CONFIG_PREFIX=$(TARGET_ROOTFS) install
cp -a $(APP)/lib/zlib-1.2.5/libz.so* $(TARGET_ROOTFS)/lib/
cp $(APP)/udev-100/udevd $(TARGET_ROOTFS)/bin/
cp $(APP)/udev-100/udevstart $(TARGET_ROOTFS)/bin/
cp $(APP)/udev-100/udevinfo $(TARGET_ROOTFS)/bin/
cp $(APP)/reg-tools-1.0.0/btools $(TARGET_ROOTFS)/sbin/
cp $(APP)/reg-tools-1.0.0/hiddrs $(TARGET_ROOTFS)/sbin/
cp $(APP)/reg-tools-1.0.0/himc $(TARGET_ROOTFS)/sbin/
cp $(APP)/reg-tools-1.0.0/himd $(TARGET_ROOTFS)/sbin/
cp $(APP)/reg-tools-1.0.0/himd.l $(TARGET_ROOTFS)/sbin/
cp $(APP)/reg-tools-1.0.0/himm $(TARGET_ROOTFS)/sbin/
cp -a $(TOP_DIR)/app_release/* $(TARGET_ROOTFS)/app/
make -C app/fuho/ot_pm install
make -C app/fuho/ncs install
make -C app/fuho/ot_pm install
make -C app/fuho/ot_ppp-2.4.3/pppd/plugins/rp-pppoe install
make -C app/fuho/ot_ppp-2.4.3 install
#$(TOP_DIR)/tools/tools/mkfs.jffs2 -e 0x10000 -d $(TARGET_ROOTFS)/ -o $(RELEASE_DIR)/$(ROOTFS_BIN)
$(TOP_DIR)/tools/tools/mksquashfs $(TARGET_ROOTFS) $(RELEASE_DIR)/$(ROOTFS_BIN) -comp xz
./mk_run_img.sh
#cp $(RELEASE_DIR)/$(ROOTFS_BIN) /tftpboot
clean_kernel:
echo "clean kernel..."
make -C $(KERNEL_DIR) clean
clean_drv:
echo "clean driver..."
cd drivers && make clean
#for folder in $(DRIVER_FOLDER); do \
# cd $(DRIVER_DIR)/$$folder; \
# make clean; \
#done
clean_root_fs:
echo "clean rootfs..."
rm -rf $(TARGET_ROOTFS)
clean: clean_drv clean_app clean_root_fs
echo "clean all..."