您的位置:首页 > 运维架构 > Linux

智能家居项目(2):项目工程框架的搭建

2016-10-13 16:16 288 查看
项目管理器:
       
Linux中的项目管理器“make”有些类似于windows中的Visual C++里的“工程”,它是一种控制编译或者重复编译软件的工具,另外,它还能自动管理软件编译的内容、方式和时机,使程序员能够把精力集中在代码的编写上而不是在源代码的组织上。

|-- Makefile

|-- Readme.txt(记录文件)

|-- board(嵌入式应用程序)

|   |-- include

|   |   |-- common.h

|   |   |-- device.h

|   |   |-- log.h

|   |   |-- msg.h

|   |   `-- socket.h

|   `-- src

|       `-- Main

|           |-- Makefile

|           |-- init.c

|           |-- log.c

|           |-- main.c

|           |-- serial.c

|           |-- socket.c

|           |-- socket_dev.c

|           |-- systeminfo.c

|           `-- thread.c

|-- drivers(驱动程序)

|-- kernel(内核源码)

|-- script(脚本文件)

|   `-- build.sh

|-- tools(使用到的工具)

|   `-- images_tools

|       `-- mkyaffs2image

|-- u-boot(bootloader源码)


   初步规划好项目的代码结构,编写makefile文件,并使工程能够顺利的编译通过。

[objc]
view plain
copy





.PHONY:help all uboot kernel app ramdisk system clean drivers  
SRC_PATH=$(shell pwd)  
export SRC_PATH  
  
help:  
    @echo "Usage:"  
    @echo "\tmake uboot # Compile UBoot"  
    @echo "\tmake kernel    # Compile Linux Kernel"  
    @echo "\tmake ramdisk   # Generate ramdisk.img"  
    @echo "\tmake system    # Generate system.img"  
    @echo "\tmake app   # Build Project applicatins"  
    @echo "\tmake drivers   # Build drivers"  
    @echo "\tmake all   # make uboot kernel ramdisk system app drivers"  
  
#$@是Makefile的通配符,代指你前面指定的文件名,     
uboot kernel ramdisk system app drivers:  
    @script/build.sh $@  
      
all:  
    @script/build.sh uboot  
    @script/build.sh kernel  
    @script/build.sh drivers  
    @script/build.sh app  
    @script/build.sh ramdisk  
    @script/build.sh system  
  
# -C 大写,切换到指定目录再执行 make 过程,makefile 在这个指定目录里面  
clean:    
    rm -fr images/*  
    rm -fr system/modules/*.ko  
    rm -fr system/app/*  
    make -C board/src/Main  
    make -C u-boot distclean  
    make -C drivers clean  
    make -C kernel clean  
      

接下来的文章,将详细熟悉board目录中的文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息