• 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)/$@ $<
    

    每天早上叫醒你的不是闹钟,而是心中的梦~
  • 相关阅读:
    2013寒假ACM集训_最小生成树
    hdu 1025 Constructing Roads In JGShining's Kingdom
    拓扑排序模版hdu 1285 确定比赛名次
    HDU 1232 并查集
    2013寒假ACM集训_最短路
    字典树 sdut acm 1500 Message Flood
    优化后的 求素数
    HDU 1253 三维搜索bfs
    sdut 2176 递归的函数
    HDU 1176 免费馅饼
  • 原文地址:https://www.cnblogs.com/vintion/p/4116900.html
Copyright © 2020-2023  润新知