Skip to contentSkip to conversation

autotools: Use make clean for builds not supporting B != S

PATCH New Richard Purdie 1 participant 1 message Oct 24, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 autotools: Use make clean for builds not supporting B != S

If the build doesn't support B != S, we can try running "make clean" instead to try and clean up previous objects if the hash for the task has changed.

This tries to ensure that when variables like ${baselib} change, the changes are correctly accounted for.

meta/classes/autotools.bbclass +5 -1
index 6b99bdd..bed8a83 100644
@@ -109,7 +109,11 @@ autotools_preconfigure() {
 			else
 				# At least remove the .la files since automake won't automatically
 				# regenerate them even if CFLAGS/LDFLAGS are different
-				cd ${S}; find ${S} -name \*.la -delete
+				cd ${S}
+				if [ -e Makefile -o -e makefile -o -e GNUmakefile ]; then
+					${MAKE} clean
+				fi
+				find ${S} -name \*.la -delete
 			fi
 		fi
 	fi