Okay, so right now I got to change the `main.mk` a bit and finally got it to work. So for future reference: * I have a first `make` pass where I don't change any file (to compile `lemon`, possibly among others) * Then, I edit `Makefile.linux-gcc` and replace all occurrences of `gcc` with `gcc -x none` * I change `main.mk` and add change the executable target by adding `-lstdc++` at the end: ``` sqlite3$(EXE): shell.c libsqlite3.a sqlite3.h $(TCCX) $(READLINE_FLAGS) -o sqlite3$(EXE) $(SHELL_OPT) \ shell.c libsqlite3.a $(LIBREADLINE) $(TLIBS) $(THREADLIB) -lstdc++ ``` * I run make again using `make -f Makefile.linux-gcc` and get my `sqlite3` executable as expected. Thanks everyone for your support, you were of great help.