Don't use install(1) during build. Make the timestamp not depend on $(DESKTOP_I18N_LOCALE_DIR) to prevent extra recursion during install. Index: gschem/po/Makefile.in.in --- gschem/po/Makefile.in.in.orig +++ gschem/po/Makefile.in.in @@ -504,12 +504,18 @@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ # the timestamp before *and* after running 'make install' so that the # make doesn't go into an infinite loop! all: stamp-i18n -stamp-i18n: $(DESKTOP_I18N_LOCALE_DIR) stamp-po Makefile +stamp-i18n: stamp-po Makefile + $(MKDIR_P) $(DESKTOP_I18N_LOCALE_DIR) @echo timestamp > stamp-i18nT && mv -f stamp-i18nT stamp-i18n - $(MAKE) prefix=$(DESKTOP_I18N_LOCALE_DIR) localedir=$(DESKTOP_I18N_LOCALE_DIR)/share/locale DESTDIR= install && cp $(srcdir)/LINGUAS $(DESKTOP_I18N_LOCALE_DIR)/$(DOMAIN).LINGUAS || rm stamp-i18n + $(MAKE) \ + prefix=$(DESKTOP_I18N_LOCALE_DIR) \ + localedir=$(DESKTOP_I18N_LOCALE_DIR)/share/locale \ + DESTDIR= \ + INSTALL_DATA=cp \ + install \ + && cp $(srcdir)/LINGUAS $(DESKTOP_I18N_LOCALE_DIR)/$(DOMAIN).LINGUAS \ + || rm stamp-i18n @echo timestamp > stamp-i18nT && mv -f stamp-i18nT stamp-i18n -$(DESKTOP_I18N_LOCALE_DIR): - $(MKDIR_P) $(DESKTOP_I18N_LOCALE_DIR) clean: clean-i18n clean-i18n: