On Sun, 14 Apr 2019 at 17:08, Joachim Durchholz <j...@durchholz.org> wrote: > > Am 14.04.19 um 03:15 schrieb Max Filippov: > > On Sat, Apr 13, 2019 at 8:28 AM Joachim Durchholz <j...@durchholz.org> > > wrote: > >> I did the usual ./configure; make dance. > >> Then modified a source file (ui/curses.c), called make again, but didn't > >> see curses.c recompiled, and the change was indeed ineffective. > >> make clean; make didn't help either. > > > > Perhaps you don't have CONFIG_CURSES enabled? > > Did you call configure with --enable-curses ? > > Strange. "make help" tells me that everything is enabled by default if > possible, and I didn't tell configure to do anything specific. > > But I find that curses is disabled indeed. > Heh. An explicit --enable-curses tells me it was missing the dev version > of ncurses.
Configure's default behaviour is "enable everything that we can enable, but don't complain about not enabling optional features which we can't build (eg because of missing -dev libraries)". For "insist that foo is built and error out if it can't be done", use "--enable-foo". For "definitely don't build foo even if we could", use --disable-foo. > However... even with curses enabled, "make" does not do anything after > modifying ui/curses.c. > In fact, just "make" tell's me I should have run ./config (WTF I did??), > and "make all" > But after ./configure is recompiles everything... nothing of this is > something that "make" should do, so I'm pretty confused. This sounds like maybe you got confused somewhere along the line about whether you'd (re-)run configure or not (or didn't do a 'make clean' after running configure with the curses support enabled). The other thing that might confuse you is that make will try to spot when it needs to rerun configure and will rerun it for you. I recommend doing builds only in a separate directory, by the way: mkdir build (cd build && ../configure [configure args]) make -C build -j8 Then you can always just rm -rf the build dir and it doesn't leave stuff lying around in the source tree. You can also do multiple different builds with different configure setups without having to do a complete build from clean. (If you've previously done an in-source-directory build you'll need to 'make distclean' it before doing out of tree builds.) thanks -- PMM