mk 文件一些写法

  1.  ifeq   ifneq

ifeq
ifneq ($(COMPILE_FACTORY_VERSION),no) //如果不等于no则进入

xxx
xxx

endif

 

 

 编译带SO  (.a   和 C 文件)

LOCAL_PATH := $(call my-dir)

//1.-------------------------- 编译 refiner----
include $(CLEAR_VARS) 
LOCAL_MODULE := refiner

//-------------依赖  xxxx.a 文件 ----------

LOCAL_SRC_FILES := xxxxx.a
include $(PREBUILT_STATIC_LIBRARY) 


include $(CLEAR_VARS)

//2. -------------------------- 编译 jpeg----
include $(CLEAR_VARS) 
LOCAL_MODULE := jpeg
LOCAL_SRC_FILES := aaa/pp.a
include $(PREBUILT_STATIC_LIBRARY) 


include $(CLEAR_VARS)

//3. -------------------------- 编译 image_refiner----
LOCAL_MODULE := image_refiner

LOCAL_C_INCLUDES += $(LOCAL_PATH)/include
LOCAL_C_INCLUDES += $(LOCAL_PATH)/libmorpho_jpeg_engine_lite/src/core/interface
LOCAL_C_INCLUDES += $(LOCAL_PATH)/libmorpho_jpeg_engine_lite/src/image/interface
LOCAL_C_INCLUDES += $(LOCAL_PATH)/libmorpho_jpeg_engine_lite/src/jpeg_engine/interface

LOCAL_LDLIBS := -llog -ljnigraphics
LOCAL_SRC_FILES := morpho_image_refiner_jni.c
//------引用 static lib------
LOCAL_STATIC_LIBRARIES := refiner
LOCAL_STATIC_LIBRARIES += jpeg

#LOCAL_CFLAGS := -fvisibility=default

include $(BUILD_SHARED_LIBRARY)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
.mk文件是一个makefile文件,用于描述如何编译和链接一个程序。它通常包含了一系列规则,每个规则描述了如何将一个或多个源文件编译成目标文件,然后链接到一个可执行文件或库中。make工具会读取这个文件,并根据其中的规则来生成目标文件。 一个.mk文件通常包含以下内容: 1. 定义变量:用于保存编译器和链接器的路径、编译选项、源文件和目标文件等信息。 2. 定义规则:用于描述如何将源文件编译成目标文件,并链接到可执行文件或库中。 3. 定义伪目标:用于描述一些特殊的操作,如清空目标文件、打印变量值等。 一个常见的.mk文件示例: ``` CC = gcc CFLAGS = -Wall -O2 .PHONY: clean all: program program: main.o func1.o func2.o $(CC) -o $@ $^ main.o: main.c $(CC) $(CFLAGS) -c $< -o $@ func1.o: func1.c $(CC) $(CFLAGS) -c $< -o $@ func2.o: func2.c $(CC) $(CFLAGS) -c $< -o $@ clean: rm -f *.o program ``` 这个.mk文件定义了三个变量:CC表示编译器的路径,CFLAGS表示编译选项,.PHONY表示伪目标。 它还定义了一个规则all,用于生成可执行文件program。这个规则依赖于三个目标文件main.o、func1.o和func2.o。当这三个目标文件都存在时,make会执行链接操作,生成可执行文件program。 另外,这个.mk文件还定义了三个规则,分别用于将源文件编译成目标文件。每个规则都依赖于一个源文件,当这个源文件被修改时,make会重新编译它。 最后,这个.mk文件还定义了一个伪目标clean,用于清空目标文件。当执行make clean命令时,make会删除所有目标文件和可执行文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空白的泡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值