本地makefile 编译其他文件夹文件 指定obj目录

57 篇文章 0 订阅
11 篇文章 0 订阅

PRJ_HOME := $(shell pwd)
PRJ := car
VERSION := 1.0.0.0
NAME_LIB := libu.a


DIR_LIB := $(PRJ_HOME)/lib
DIR_OBJ := $(PRJ_HOME)/obj
DIR_INC_CUR_BPS := $(PRJ_HOME)/bpslib
DIR_INC_CUR := ./

DIR_UI := $(PRJ_HOME)/../MDS
DIR_UI_API := $(DIR_UI)/api
DIR_UI_LOG := $(DIR_UI)/log
 

DIR_INC_SUBS :=  -I$(DIR_UI_API) -I$(DIR_UI_LOG)/native  -I$(DIR_UI)/interface


SRCS := $(DIR_UI_API)/api_call.o \
    $(DIR_UI_API)/api_common.o \   
    $(DIR_UI_API)/empty_fun.o \
    $(DIR_UI_LOG)/native/log.o \

$(info $(PRJ_HOME))
$(info $(DIR_UI))
$(info $(SRCS))
$(info "debug info---------------1----------")
    #echo "debug info---------------1e-------------------"
CC    = arm-none-linux-gnueabi-gcc
AR     = arm-none-linux-gnueabi-ar
RANLIB = arm-none-linux-gnueabi-ranlib
MAKE := make --no-print-directory
CPPFLAGS = -Os -ggdb -c -Wall -DLINUX -I$(DIR_INC_CUR) -I$(DIR_INC_CUR_BPS) $(DIR_INC_SUBS)
CFLAGS += -D QT_CAR2

SRCS_NAME := $(notdir $(SRCS))
#OBJS = $(SRCS_NAME:%.o=$(DIR_OBJ)/%.o)
OBJS := $(addprefix $(DIR_OBJ)/,$(SRCS_NAME))
$(info $(SRCS_NAME))
$(info $(OBJS))

$(info "debug info---------------2----------")
    #echo  "debug info--------------2e-------------------"

TARGET = $(DIR_LIB)/$(NAME_LIB)
all: $(DIR_OBJ) $(DIR_LIB) $(TARGET)
    $(info "debug info------3-------------------")
    @echo  "debug info------3e-------------------"    
$(DIR_OBJ):
    @test -d $@ || mkdir $@
$(DIR_LIB):
    @test -d $@ || mkdir $@
%.o: %.c
    $(info "--------------4--here add the debug info")    
    #@echo "--------------4--here add the debug info"
    $(CC) $(CFLAGS) $(CPPFLAGS) -o $(DIR_OBJ)/$(notdir $@) $<
    $(info "--------------4e--here add the debug info")
    #@echo "--------------4e--here add the debug info")
    
$(TARGET): $(SRCS) 
    $(info "debug info------5-------------------")
    @echo  "debug info------5e-------------------"
    $(AR) rv $(TARGET) $(OBJS)
    $(RANLIB) $(TARGET)
    $(info "debug info------6-------------------")
    @echo  "debug info------6e-------------------"
    
    cp ./lib/libu.a ../qt
    $(info "debug info------7-------------------")
    @echo  "debug info------7e-------------------"
clean:
    @rm -rf $(DIR_LIB)
    @rm -rf $(DIR_OBJ)
    $(info "debug info------clean-------------------")
    @echo  "debug info------clean  e-------------------"
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值