Skip to content

Commit a876348

Browse files
refactor: improve compile efficiency cont. again
1 parent 05a0837 commit a876348

4 files changed

Lines changed: 13 additions & 11 deletions

File tree

.gitignore

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ target/
3232
/agent/src/ebpf/kernel/*.ll
3333
/agent/src/ebpf/kernel/*.objdump
3434
/agent/src/ebpf/kernel/*.elf
35-
/agent/src/ebpf/kernel/*.elf.debug
35+
/agent/src/ebpf/.output/
3636
/agent/src/ebpf/user/socket_trace_bpf_5_2.c
3737
/agent/src/ebpf/user/socket_trace_bpf_core.c
3838
/agent/src/ebpf/user/socket_trace_bpf_common.c
@@ -54,6 +54,3 @@ target/
5454
/agent/src/ebpf/samples/rust/socket-tracer/src/ebpf.rs
5555
/agent/src/ebpf/.flamegraph.pl
5656
/agent/src/ebpf/kernel/*.tmp
57-
/agent/src/ebpf/kernel/.output/
58-
/agent/src/ebpf/.last_ebpf_build_target
59-

agent/.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ src/flow_generator/protocol_logs/mq/pulsar.proto.rs
1212
src/ebpf/data
1313
src/ebpf/.data_done
1414
src/ebpf/libtrace.a
15-
src/ebpf/staticobjs/
15+
src/ebpf/.output/
1616
src/ebpf/deepflow-ebpfctl
1717
src/ebpf/kernel/*.elf.tmp
1818
src/ebpf/kernel/socket_trace.ll

agent/build.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515
*/
1616

1717
use std::{
18-
env,
19-
fs,
18+
env, fs,
2019
path::{Path, PathBuf},
2120
process::Command,
2221
str,
@@ -171,7 +170,10 @@ fn set_build_libtrace() -> Result<()> {
171170
target_env
172171
);
173172
let root = PathBuf::from(env::var("CARGO_MANIFEST_DIR")?);
174-
let state_file = root.join("src/ebpf/.last_ebpf_build_target");
173+
let state_file = root.join("src/ebpf/.output/.last_ebpf_build_target");
174+
if let Some(parent) = state_file.parent() {
175+
fs::create_dir_all(parent)?;
176+
}
175177
let previous_target = fs::read_to_string(&state_file)
176178
.ok()
177179
.map(|s| s.trim().to_owned());
@@ -197,7 +199,8 @@ fn set_build_libtrace() -> Result<()> {
197199
Err(_) => true,
198200
};
199201
let objdump_value = if objdump_enabled { "1" } else { "0" };
200-
let kernel_output_dir = format!(".output/{}", target_id);
202+
let ebpf_output_dir = format!(".output/{}", target_id);
203+
let kernel_output_dir = format!("../{}/kernel", ebpf_output_dir);
201204

202205
let cargo_makeflags = env::var("CARGO_MAKEFLAGS").ok();
203206
let num_jobs = env::var("NUM_JOBS").ok();
@@ -213,6 +216,7 @@ fn set_build_libtrace() -> Result<()> {
213216
cmd.arg("--no-print-directory");
214217
cmd.arg(format!("VMLINUX_OBJDUMP={}", objdump_value));
215218
cmd.arg(format!("KERNEL_OUTPUT_DIR={}", kernel_output_dir));
219+
cmd.arg(format!("OBJDIR={}", ebpf_output_dir));
216220
match target_env.as_str() {
217221
"gnu" => {}
218222
"musl" => {

agent/src/ebpf/Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ MUSL_CC ?= musl-gcc
3838
LLVM_STRIP ?= /usr/bin/llvm-strip
3939
LLVM_OBJDUMP ?= /usr/bin/llvm-objdump
4040
VMLINUX_OBJDUMP ?= 1
41-
OBJDIR ?= .
41+
OBJDIR ?= .output
4242
STATIC_OBJDIR := $(OBJDIR)/staticobjs
43-
KERNEL_OUTPUT_DIR ?= .output
43+
KERNEL_OUTPUT_DIR ?= ../.output/kernel
4444

4545
-include user/extended/feature.top.mk
4646

@@ -382,6 +382,7 @@ clean:
382382
$(Q)$(MAKE) -C libs/jattach clean --no-print-directory
383383
$(Q)rm -rf $(ELFFILES) data deepflow-ebpfctl $(STATIC_OBJDIR) $(LIBTRACE) *.a
384384
$(Q)rm -rf kernel/$(KERNEL_OUTPUT_DIR)
385+
$(Q)rm -rf .output
385386
$(Q)rm -rf .profiler .socket-tracer
386387
$(Q)rm -rf samples/rust/socket-tracer/target
387388
$(Q)rm -rf samples/rust/profiler/target

0 commit comments

Comments
 (0)