make distclean is broken
How to reproduce:
1) compile as usual 2) make distclean
make: Leaving directory `/opt/osmocom/osmo-trx/Transceiver52M/arm' Making distclean in x86 make: Entering directory `/opt/osmocom/osmo-trx/Transceiver52M/x86' Makefile:445: ../common/.deps/convert_base.Plo: No such file or directory Makefile:446: ../common/.deps/convolve_base.Plo: No such file or directory make: *** No rule to make target `../common/.deps/convolve_base.Plo'. Stop. make: Leaving directory `/opt/osmocom/osmo-trx/Transceiver52M/x86' make: *** [distclean-recursive] Error 1 make: Leaving directory `/opt/osmocom/osmo-trx/Transceiver52M' make: *** [distclean-recursive] Error 1
#1 Updated by pespin over 2 years ago
- Status changed from New to In Progress
I submited a patch to simplify / clear the build by removing entirely the archs not targeted: https://gerrit.osmocom.org/7146
However, there's still an issue during make maintainer-clean (it's different one now):
rm -rf ./.deps rm -f Makefile make: Leaving directory '/home/pespin/dev/sysmocom/build/new/tmpdir/osmo-trx/GSM' Making maintainer-clean in Transceiver52M make: Entering directory '/home/pespin/dev/sysmocom/build/new/tmpdir/osmo-trx/Transceiver52M' Making maintainer-clean in x86 make: Entering directory '/home/pespin/dev/sysmocom/build/new/tmpdir/osmo-trx/Transceiver52M/x86' rm -rf .libs _libs rm -rf ../common/.libs ../common/_libs test -z "libarch.la libarch_sse_3.la libarch_sse_4_1.la" || rm -f libarch.la libarch_sse_3.la libarch_sse_4_1.la rm -f ./so_locations rm -f *.o rm -f ../common/*.o rm -f ../common/*.lo rm -f *.lo rm -f *.tab.c test -z "" || rm -f test . = "/home/pespin/dev/sysmocom/git/osmo-trx/Transceiver52M/x86" || test -z "" || rm -f rm -f ../common/.deps/.dirstamp rm -f ../common/.dirstamp rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags This command is intended for maintainers to use it deletes files that may require special tools to rebuild. rm -rf ../common/.deps ./.deps rm -f Makefile make: Leaving directory '/home/pespin/dev/sysmocom/build/new/tmpdir/osmo-trx/Transceiver52M/x86' Making maintainer-clean in arm /bin/sh: line 20: cd: arm: No such file or directory make: *** [Makefile:804: maintainer-clean-recursive] Error 1 make: Leaving directory '/home/pespin/dev/sysmocom/build/new/tmpdir/osmo-trx/Transceiver52M' make: *** [Makefile:506: maintainer-clean-recursive] Error 1
Strangely enough, no "arm" dir is shown during configure/make output, but grepping for "arm" on the builddir shows:
Transceiver52M/Makefile 319:DIST_SUBDIRS = x86 arm 508:#ARCH_LA = $(top_builddir)/Transceiver52M/arm/libarch.la 514:#SUBDIRS = arm
so it seems DIST_SBUDIRS is being set to use arm by default (it checks all subdirs by default?). It may be worth reading the docs for that variable and see if setting it manually helps.
Also, next steps: have a look at config.log and config.status.