support makefile for c/cpp files

Fix: #33
usage:
    make
    ./gradlew unpack
    ./gradlew pack
pull/41/head
cfig 5 years ago
parent 88dc24e04b
commit 4d1a3912d0

@ -0,0 +1,14 @@
all:
-git apply external/remove_projects.diff
make -C aosp/mkbootfs
make -C aosp/libsparse/base/
make -C aosp/libsparse/sparse/
make -C aosp/libsparse
make -C aosp/libavb
clean:
-git apply -R external/remove_projects.diff
make clean -C aosp/mkbootfs
make clean -C aosp/libsparse/base/
make clean -C aosp/libsparse/sparse/
make clean -C aosp/libsparse
make clean -C aosp/libavb

@ -0,0 +1,26 @@
.PHONY: clean nativeLibrary
.DEFAULT_GOAL: nativeLibrary
src_dir := src/avb/c
header_dir := src/avb/headers
build_dir := build
CFLAGS := \
-I$(header_dir) \
-D_FILE_OFFSET_BITS=64 \
-D_POSIX_C_SOURCE=199309L \
-DAVB_ENABLE_DEBUG \
-DAVB_COMPILATION \
-Wall -g
nativeLibrary: build/libs/avb/shared/libavb.so
CPP_FILES := $(wildcard src/avb/c/*.c)
OBJ_FILES := $(patsubst src/avb/c/%,build/%,$(CPP_FILES:.c=.o))
clean:
rm -fr $(build_dir)
build/%.o: $(src_dir)/%.c
mkdir -p $(dir $@)
$(CC) -fPIC $(CFLAGS) -c -o $@ $<
build/libs/avb/shared/libavb.so: $(OBJ_FILES)
mkdir -p $(dir $@)
$(CC) -shared -fPIC $^ -o $@

@ -0,0 +1,27 @@
.PHONY: nativeExecutable clean
osSuffix := linux
nativeExecutable: \
build/append2simg \
simg2img/build/install/main/release/$(osSuffix)/simg2img \
build/simg2simg \
build/img2simg
CFLAGS := -Isparse/src/main/public
LDFLAGS := \
-Lsparse/build/lib/main/release/linux/ -lsparse \
-Lbase/build/lib/main/release/linux/ -lbase \
-lz
build/append2simg: append2simg/src/main/cpp/append2simg.cpp
mkdir -p $(dir $@)
$(CXX) $^ $(CFLAGS) $(LDFLAGS) -o $@
simg2img/build/install/main/release/$(osSuffix)/simg2img: simg2img/src/main/cpp/simg2img.cpp
mkdir -p $(dir $@)
$(CXX) $^ $(CFLAGS) $(LDFLAGS) -o $@
build/img2simg: img2simg/src/main/cpp/img2simg.cpp
mkdir -p $(dir $@)
$(CXX) $^ $(CFLAGS) $(LDFLAGS) -o $@
build/simg2simg: simg2simg/src/main/cpp/simg2simg.cpp
mkdir -p $(dir $@)
$(CXX) $^ $(CFLAGS) $(LDFLAGS) -o $@
clean:
rm -fr build
rm -fr simg2img/build/

@ -0,0 +1,20 @@
.PHONY: clean nativeLibrary
.DEFAULT_GOAL: nativeLibrary
src_dir := src/main/cpp
header_dir := src/main/public
build_dir := build
CFLAGS :=
nativeLibrary: build/lib/main/release/linux/libbase.a
CPP_FILES := $(wildcard $(src_dir)/*.cpp)
OBJ_FILES := $(patsubst $(src_dir)/%,build/%,$(CPP_FILES:.cpp=.o))
clean:
rm -fr $(build_dir)
build/%.o: $(src_dir)/%.cpp
mkdir -p $(dir $@)
$(CC) $(CFLAGS) -c -o $@ $<
build/lib/main/release/linux/libbase.a: $(OBJ_FILES)
mkdir -p $(dir $@)
ar rcs $@ $^

@ -0,0 +1,20 @@
.PHONY: clean nativeLibrary
.DEFAULT_GOAL: nativeLibrary
src_dir := src/main/cpp
header_dir := src/main/public
build_dir := build
CFLAGS := -I$(header_dir) -I../base/src/main/public/
nativeLibrary: build/lib/main/release/linux/libsparse.a
CPP_FILES := $(wildcard $(src_dir)/*.cpp)
OBJ_FILES := $(patsubst $(src_dir)/%,build/%,$(CPP_FILES:.cpp=.o))
clean:
rm -fr $(build_dir)
build/%.o: $(src_dir)/%.cpp
mkdir -p $(dir $@)
$(CC) $(CFLAGS) -c -o $@ $<
build/lib/main/release/linux/libsparse.a: $(OBJ_FILES)
mkdir -p $(dir $@)
ar rcs $@ $^

@ -0,0 +1,19 @@
src_dir := src/mkbootfs/cpp
header_dir := src/mkbootfs/headers
build_dir := build
CXX_FLAGS := -I$(header_dir) -std=gnu++11 -Wno-write-strings -D__ANDROID_VNDK__
.PHONY: clean nativeExecutable
nativeExecutable: $(build_dir)/exe/mkbootfs/mkbootfs
$(build_dir)/exe/mkbootfs/mkbootfs: $(build_dir)/fs_config.o $(build_dir)/mkbootfs.o |$(build_dir)/exe/mkbootfs
$(CXX) $^ -o $@
$(build_dir)/fs_config.o: $(src_dir)/fs_config.cpp |$(build_dir)
$(CXX) -c $(CXX_FLAGS) $< -o $@
$(build_dir)/mkbootfs.o: $(src_dir)/mkbootfs.c |$(build_dir)
$(CXX) -c $(CXX_FLAGS) $< -o $@
$(build_dir):
mkdir $@
$(build_dir)/exe/mkbootfs: |$(build_dir)
mkdir -p $@
clean:
rm -rf $(build_dir)

@ -0,0 +1,40 @@
diff --git a/aosp/libavb/src/avb/c/avb_slot_verify.c b/aosp/libavb/src/avb/c/avb_slot_verify.c
index 0d75210..4c44755 100644
--- a/aosp/libavb/src/avb/c/avb_slot_verify.c
+++ b/aosp/libavb/src/avb/c/avb_slot_verify.c
@@ -29,10 +29,12 @@
#include "avb_hash_descriptor.h"
#include "avb_hashtree_descriptor.h"
#include "avb_kernel_cmdline_descriptor.h"
+#include "avb_property_descriptor.h"
#include "avb_sha.h"
#include "avb_util.h"
#include "avb_vbmeta_image.h"
#include "avb_version.h"
+#include <stdio.h>
/* Maximum number of partitions that can be loaded with avb_slot_verify(). */
#define MAX_NUMBER_OF_LOADED_PARTITIONS 32
@@ -1199,8 +1201,21 @@ static AvbSlotVerifyResult load_and_verify_vbmeta(
}
} break;
- case AVB_DESCRIPTOR_TAG_PROPERTY:
+ case AVB_DESCRIPTOR_TAG_PROPERTY: {
/* Do nothing. */
+ AvbPropertyDescriptor property_desc;
+ const uint8_t* prop_key = NULL;
+ const char* prop_value = NULL;
+ if (!avb_property_descriptor_validate_and_byteswap((AvbPropertyDescriptor *)descriptors[n], &property_desc)) {
+ avb_errorv(full_partition_name, ": Property descriptor is invalid.\n", NULL);
+ ret = AVB_SLOT_VERIFY_RESULT_ERROR_INVALID_METADATA;
+ goto out;
+ }
+ prop_key = (const uint8_t*)descriptors[n] + sizeof(AvbPropertyDescriptor);
+ prop_value = (const char*)descriptors[n] + sizeof(AvbPropertyDescriptor) + property_desc.key_num_bytes + 1;
+ fprintf(stderr, "PROPERTY DESCRIPTOR: k=[%s], v=[%s]\n", prop_key, prop_value);
+ /* Do nothing. */
+ }
break;
}
}

@ -0,0 +1,54 @@
diff --git a/build.gradle.kts b/build.gradle.kts
index fae7552..a871a89 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -59,15 +59,15 @@ tasks {
flashTask.dependsOn("bbootimg:jar")
//sparse image dependencies
- packTask.dependsOn("aosp:mkbootfs:mkbootfsExecutable")
- unpackTask.dependsOn("aosp:mkbootfs:mkbootfsExecutable")
- if (System.getProperty("os.name").contains("Mac")) {
- unpackTask.dependsOn("aosp:libsparse:simg2img:installReleaseMacos")
- packTask.dependsOn("aosp:libsparse:img2simg:installReleaseMacos")
- } else {
- unpackTask.dependsOn("aosp:libsparse:simg2img:installReleaseLinux")
- packTask.dependsOn("aosp:libsparse:img2simg:installReleaseLinux")
- }
+ //packTask.dependsOn("aosp:mkbootfs:mkbootfsExecutable")
+ //unpackTask.dependsOn("aosp:mkbootfs:mkbootfsExecutable")
+ //if (System.getProperty("os.name").contains("Mac")) {
+ // unpackTask.dependsOn("aosp:libsparse:simg2img:installReleaseMacos")
+ // packTask.dependsOn("aosp:libsparse:img2simg:installReleaseMacos")
+ //} else {
+ // unpackTask.dependsOn("aosp:libsparse:simg2img:installReleaseLinux")
+ // packTask.dependsOn("aosp:libsparse:img2simg:installReleaseLinux")
+ //}
}
fun parseGradleVersion(version: String): Int {
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 1485b37..fd953dc 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -1,11 +1,11 @@
include("bbootimg")
include("aosp:boot_signer")
-include("aosp:mkbootfs")
-include("aosp:libsparse:base")
-include("aosp:libsparse:sparse")
-include("aosp:libsparse:img2simg")
-include("aosp:libsparse:simg2img")
-include("aosp:libsparse:simg2simg")
-include("aosp:libsparse:append2simg")
-include("aosp:libavb")
-include("avbImpl")
+//include("aosp:mkbootfs")
+//include("aosp:libsparse:base")
+//include("aosp:libsparse:sparse")
+//include("aosp:libsparse:img2simg")
+//include("aosp:libsparse:simg2img")
+//include("aosp:libsparse:simg2simg")
+//include("aosp:libsparse:append2simg")
+//include("aosp:libavb")
+//include("avbImpl")
Loading…
Cancel
Save