本月博客排行
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- benladeng5225
- wy_19921005
- fantaxy025025
- e_e
- zysnba
- ssydxa219
- sam123456gz
- javashop
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- wiseboyloves
- xiangjie88
- ranbuijj
- ganxueyun
- sichunli_030
- xyuma
- wangchen.ily
- jh108020
- lemonhandsome
- zxq_2017
- jbosscn
- Xeden
- luxurioust
- zhanjia
- lzyfn123
- forestqqqq
- ajinn
- nychen2000
- wjianwei666
- hanbaohong
- daizj
- 喧嚣求静
- mwhgJava
- silverend
- kingwell.leng
- lchb139128
- kristy_yy
- lich0079
- johnsmith9th
- jveqi
- java-007
- sunj
最新文章列表
makefile 文件基本规则
makefile 文件中包含了一组用来编译应用程序的规则。make 命令执行时所看到的第一项规则,会被作为默认规则使用。一项规则可分成三个部分:工作目标(target)、它的必要条件(prerequisite)以及所要执行的命令(commend)。
# 注释:没指定必要条件时,只有在工作目标代表的文件不存在时才会进行更新。
target1 [target2...]: [prereq1 ...
makefile 的用法
什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解 HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从 ...
Android 6.0工程下, 通过mm / mmm命令编译出classes.jar
在6.0的工程下面, 尝试通过mm / mmm编译单个module, 但是发现编译完后, 不产生classes.jar.
请教过后, 得到这个方法:
LOCAL_JACK_ENABLED := disabled
Android工程(AOSP)下对default java library新增库
疑问与解答:
1. 在AOSP编译过程中, 每个module, 都需要通过Android.mk, 配置编译module需要依赖的lib. 这个配置一般通过 LOCAL_JAVA_LIBRARIES 或者 LOCAL_STATIC_JAVA_LIBRARIES 实现;
2. 某些module, 如果不依赖特定的lib, 那么上述lib依赖关系的字段是可以不写的. 但是在这些module在编译过 ...
makefile 字符串分隔
makefile中提供了字符串查找,替换函数,却没有提供字符串分隔函数,可以通过shell表达式解决。
TEST=1.8.2
MajorVer = $(shell $(TEST) | awk -F'.' '{print $$1}')
注:上例中$$VAR就是获取shell中的变量,而$(VAR)是Makefile的中的变量,否则无法分割
新增AIDL文件至framework.jar的编译
需求:
在frameworks/base/core/java下新增了aidl文件, 需要将其加入至编译
实现:
1. 由于frameworks/base/core/java路径下的内容, 最终会编译至framework.jar, 故需要修改framework.jar的编译配置, 即frameworks/base/Android.mk
2. 无论*.java还是*.aidl, 都是通过 ...
加入一个新的apk模块到Android系统镜像
需求:
集成一个新的apk模块到Android系统镜像.
实现:
这里要分两种情况, 一种是带源码的, 一种是不带源码的.
1. 无论带源码与否, 都需要在工程目录下建议Android.mk文件, 并在其中指定模块名称:
# 一种写法
LOCAL_PACKAGE_NAME := [模块名]
# 另一种写法
LOCAL_MODULE := [模块名]
2. 带源码的, 需 ...
集成一个三方jar包至Android系统镜像
需求:
有一三方提供的SDK, 以jar包形式存在, 对Context等frameworks内容有依赖. 现需要将其编译进系统, 并供framework.jar中的类调用.
实现:
1. 在frameworks/base/Android.mk中加入对jar包的引用:
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIE ...
写个makefile编译erlang_protobuffs
erlang_protobuffs源码下载地址:
https://github.com/basho/erlang_protobuffs
因为这个项目是用rebar编译的,本人比较笨 ,不会玩rebar,所以就提取了src文件夹里面的代码,自己写了个makefile来编译
下面就来记录一下我的实验步骤
1 创建项目目录结构
cd /data
mkdir -p protobuffs/{ebi ...
makefile参数详解
一般情况下,我们习惯直接使用cc编译程序,实际上AIX的C/C++编译器还提供了其他的使用方法,如后缀为_r就有xlc_r、xlC_r,这里我们做一个完整的介绍。 AIX平台上缺省的C++编译器为xlC,而C的编译器有三个:cc: 这是最习惯用的,扩展模式的C编译器xlc: ANSI C编译器,使用UNIX的头文件c89: ANSI C编译器,使用ANSI头文件具体选择何种编译器,需根据程序的情 ...
一个最简单的Makefile例子(转)
1.hello.c
#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
2.Makefile
hello : hello.o
cc -o hello hello.o
hello.o : hello.c
cc -c hel ...
Android Build系统bash filename too long问题
在对Android Build系统进行修改的过程中,可能会在整体编译时发现整个bash环境发生了变化。
如:filename too long等。且再运行其它command等时,都有可能出错。
在简单分析了整个编译系统后,发现在
source build/envsetup.sh时,会通过make(例如:get_build_var ANDROID_BUILD_PATHS:make --n ...
跟我一起写makefile
转自:陈皓 概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一 个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要 了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了, ...