When using the make system to generate T files, if you change
T_messages.txt you may have problems compiling the gnb with ninja.
If you want to see the problem:
First run: cd cmake_targets; ./build_oai --ninja --gNB
Then: cd common/utils/T
edit T_messages.txt, add a trace, for example:
---
ID = ENB_PHY_UL_TOCK
DESC = eNodeB uplink tick - one tick per ms at start of uplink processing
GROUP = ALL:PHY:GRAPHIC:ENB
FORMAT = int,eNB_ID : int,frame : int,subframe
---
then run: make
then: cd cmake_targets/ran_build/build; ninja nr-softmodem
You should have an error looking like this:
---
[3/81] Checking validity of VCD files
FAILED: common/utils/T/CMakeFiles/check_vcd /tmp/develop/cmake_targets/ran_build/build/common/utils/T/CMakeFiles/check_vcd
cd /tmp/develop/cmake_targets/ran_build/build/common/utils/T && /tmp/develop/cmake_targets/ran_build/build/common/utils/T/_check_vcd /tmp/develop/common/utils/T/T_messages.txt /tmp/develop/common/utils/T/../LOG/vcd_signal_dumper.h
error: VCD_FIRST_VARIABLE is not correct in T_defs.h
You probably added a VCD trace (variable or function) but you did not
update T_messages.txt and/or T_defs.h in common/utils/T/
[...]
---
Let's first isolate the generated T .h files when using make because
we have two versions of T_IDs.h and T_messages.txt.h when mixing
make/cmake.
A next commit will regenerate T_IDs.h and T_messages.txt.h when
T_messages.txt chages for the cmake system, because this commit
does not solve the problem.
36 lines
874 B
Makefile
36 lines
874 B
Makefile
CC=gcc
|
|
CFLAGS=-Wall -g -Iincgen
|
|
|
|
GENIDS=genids
|
|
GENIDS_OBJS=genids.o
|
|
|
|
all : $(GENIDS) incgen/T_messages.txt.h incgen/T_IDs.h
|
|
|
|
$(GENIDS): $(GENIDS_OBJS)
|
|
$(CC) $(CFLAGS) -o $(GENIDS) $(GENIDS_OBJS)
|
|
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
incgen/T_messages.txt.h: T_messages.txt
|
|
mkdir -p incgen
|
|
xxd -i T_messages.txt incgen/T_messages.txt.h
|
|
|
|
incgen/T_IDs.h: $(GENIDS) T_messages.txt
|
|
mkdir -p incgen
|
|
./$(GENIDS) T_messages.txt incgen/T_IDs.h
|
|
|
|
check_vcd: incgen/T_IDs.h incgen/T_messages.txt.h
|
|
gcc -Wall -I. -I.. -I../itti -I../../../openair2/COMMON -Itracer -o _check_vcd check_vcd.c tracer/database.c tracer/utils.c -lm -pthread
|
|
./_check_vcd T_messages.txt ../LOG/vcd_signal_dumper.h || (rm -rf ./_check_vcd ./incgen && false)
|
|
rm -f ./_check_vcd
|
|
|
|
.PHONY: check_vcd
|
|
|
|
clean:
|
|
rm -f *.o $(GENIDS) core _check_vcd
|
|
rm -rf incgen
|
|
|
|
cleanall: clean
|
|
cd tracer && $(MAKE) clean
|