About the modification of makefile

I will write their own library( ncrapi ) independent of include and Src in the root directory.

│  ├─display
│  │  ├─lv_core
│  │  ├─lv_draw
│  │  ├─lv_fonts
│  │  ├─lv_hal
│  │  ├─lv_misc
│  │  ├─lv_objx
│  │  └─lv_themes
│  └─pros
│  ├─include
│  │  ├─chassis
│  │  ├─device
│  │  ├─filter
│  │  ├─generic
│  │  ├─pid
│  │  ├─system
│  │  ├─units
│  │  ├─userConfig
│  │  ├─userDisplay
│  │  └─util
│  └─src
│      ├─chassis
│      ├─device
│      ├─generic
│      ├─pid
│      ├─system
│      ├─userDisplay
│      └─util

I try to modify it like this. The current test is not working.
common.mk It should also be revised
I want a demo of makefile
I’ve tried cmake before. But main.cpp Cmake is compiled into a static library, so cmake always fails to compile








isn’t this what students are supposed to do, rather than mentors?

Open source library similar to okapi.
Just to make the project clearer and easier to manage on GitHub

1 Like

According the github contributor which has the same handle as the vex forum account, it states that you are the “Head Coach of team 8982, 7671, 7995”, so you’re probably the mentor of these teams.

My main concern is that, why is a mentor helping students design a full blown programming library? According to your post history i see a lot of examples of you personally programming for students, rather than assisting your students on how to program. Even in this post you’re using wordings like “I will” and “I try to”

Isn’t this a violation of vex’s “Student Centered Policy”?


I don’t think there is any problem
We have a full set of CAD and git submission history
Okapi and Pros are also mentoring projects
We are a public welfare organization. I like this project better
The members of the group of the 2019 World Championships conducted a spot check interview on my students

1 Like

you should probably leave the programming to the students. It helps them learn how things work better when they do it themselves, and is much more rewarding and fun when their hard work pays off. It also better prepares them for real life, when there isn’t always going to be an adult ready to solve your problems for you.

I know it might be fun for you as a mentor to program things for the students, and it might be tempting to do so in order to give your students a competitive edge, but in the long run you are hurting more than helping. You should be teaching how to program, instead of doing it for them.


if you want the library to exist outside of the src and include directories the easiest method (and the one that we support) is to just have a separate project that you precompile into a template (which i’m pretty sure you already know how to do, given your github repository has the template zip in it).

why do you want everything to be in one project?


also @ everyone else in the thread: the discussion of mentors programming is not really on topic here, please keep that to the relevant channels so the support forum does not get cluttered. thanks


Most projects use gitmodules.
I want to create a pros_lvgl simulator project. And assign a library of specific student maintenance features.The same pattern as the pros team
Students have their own open source projects, enthusiasm will be higher
When students grow up and see their open source projects, they can keep a little memory about vex

[submodule "ncrapi_lvgl_sim_kernel"]
path = ncrapi_lvgl_sim_kernel
url = https://github.com/3038922/ncrapi_lvgl_sim_kernel.git

yeah, that’s valid.

you can certainly submodule your library code if you want, and then add some rules to your Makefile that invoke make in the submodule. explaining exactly how to do that is sort of beyond the scope of what i’m willing to do, but I encourage you to check out the GNU Make documentation, and in particular the section about recursive use of make, as they’re actually very detailed and have a lot of useful examples.

just know that whatever you do is probably gonna involve a lot more effort than the “standard” route of either making part of your code a library (not separate from src and include) or using a separate, precompiled project altogether as I mentioned before.