zoukankan      html  css  js  c++  java
  • makefile模板

      从项目文档中发现一个很实用的makefile模板

      makefile写出来容易,但要达到专业可用,着实困难.以后就用这个了,妈妈再也不用担心我的make了

     

    # ----------------------------------------------------------------------
    #
    # This makefile has been automatically generated by WinGDB 2.2, build 1191
    # Do not edit.
    #
    # Project: vpurun
    #
    # ----------------------------------------------------------------------
    
    PLATFORM=unix
    BUILD_CONFIGURATION=Debug_Embedded_Linux
    
    
    ifeq ("$(BUILD_CONFIGURATION)","Debug_Embedded_Linux")
    CC= arm-linux-gcc
    CXX= arm-linux-g++
    AR= arm-linux-ar
    
    #include path
    CFLAGS= -g  -I./vpuapi -I./include  -I./vdi -Wall
    CXXFLAGS= -g  -I./vpuapi -I./include -Wall
    ARFLAGS= cru
    LDFLAGS= -lpthread  -lm -Wall
    
    #the program name
    RESULT=vpurun
    
    #intermediate dir, objs
    INTERMEDIATE_DIR=Debug_Embedded_Linux/obj
    
    #destination
    DESTINATION_DIR=.
    VPATH= $(INTERMEDIATE_DIR):mvpuapi:src:vdi:vdi/linux:vpuapi:vdi/windows
    endif
    
    
    #.c and path and .h
    SOURCES=cdb.c hpi.c main.c cpen.c mm.c vdi.c vdi_osal.c vpuapi.c vpuapifunc.c vpuhelper.c vpuio.c vpurun.c
    
    SOURCEPATHS= src/cdb.c src/main.c  src/cpen.c src/vpuhelper.c src/vpuio.c src/vpurun.c vdi/linux/vdi.c vdi/linux/vdi_osal.c vdi/mm.c vdi/nonos/vdi.c vdi/nonos/vdi_osal.c vdi/windows/hpi.c vdi/windows/vdi.c vdi/windows/vdi_osal.c vpuapi/vpuapi.c vpuapi/vpuapifunc.c
    
    HEADERS= harrier.h cdb.h config.h hpi.h mixer.h cpen.h mm.h regdefine.h vdi.h vdi_osal.h vpuapi.h vpuapifunc.h vpuconfig.h vpuhelper.h vpuio.h vpurun.h vputypes.h
    
    
    OBJECTNAMES=$(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCES)))
    OBJECTPATHS=$(addprefix $(INTERMEDIATE_DIR)/,$(OBJECTNAMES))
    
    $(DESTINATION_DIR)/$(RESULT): $(OBJECTNAMES)
    ifeq ("$(wildcard $(DESTINATION_DIR) )","")
    	-$(MKDIR) $(DESTINATION_DIR_MK)
    endif
    	$(CC) $(CFLAGS) $(SYSROOTFLAGS) $(OBJECTPATHS) -o $@ $(LDFLAGS)
    
    $(INTERMEDIATE_DIR)/vpurun.d: $(SOURCES) $(HEADERS)
    ifeq ("$(wildcard $(DESTINATION_DIR) )","")
    	-$(MKDIR) $(DESTINATION_DIR_MK)
    endif
    ifeq ("$(wildcard $(INTERMEDIATE_DIR) )","")
    	-$(MKDIR) $(INTERMEDIATE_DIR_MK)
    endif
    	$(CXX) $(CXXFLAGS) -MM $(SOURCEPATHS) > $@
    
    -include $(INTERMEDIATE_DIR)/vpurun.d
    
    #make clean 
    clean:
    	$(RM) $(DESTINATION_DIR)/$(RESULT)
    	$(RM) $(INTERMEDIATE_DIR)/vpurun.d
    	$(RM) $(OBJECTPATHS)
    
    #.o
    %.o: %.cpp
    	$(CXX) $(CXXFLAGS) -c -o $(INTERMEDIATE_DIR)/$@ $<
    
    %.o: %.c
    	$(CC) $(CFLAGS) -c -o $(INTERMEDIATE_DIR)/$@ $<
    

    每天早上叫醒你的不是闹钟,而是心中的梦~
  • 相关阅读:
    让DateTimePicker显示空时间值 (转) 武胜
    Webcam in C#: AForge.NET (转) 武胜
    C#自定义事件的步骤 武胜
    交换机VLAN的配置 (转) 武胜
    虚拟LAN安全的最佳实践经验 (转) 武胜
    绿色版 MySQL 的安装配置 (转) 武胜
    net 中捕获摄像头视频的方式及对比(How to Capture Camera Video via .Net) (转) 武胜
    C# WndProc的使用方法 (转) 武胜
    金融证券业Windows NT服务器热备份系统工作示意图 (转) 武胜
    ubuntu下配置samba实现文件夹共享
  • 原文地址:https://www.cnblogs.com/vintion/p/4116900.html
Copyright © 2011-2022 走看看