include $(top_srcdir)/config/common.am
-
-noinst_LTLIBRARIES = libqt2ui.la
-
-INCLUDES = -I$(top_srcdir)/src/ -I$(top_srcdir)/src/frontends/ \
- -I$(top_srcdir)/src/frontends/qt2/ \
- $(SIGC_CFLAGS) $(FRONTEND_INCLUDES) $(BOOST_INCLUDES) \
- -I$(top_srcdir)/src/frontends/controllers
-
-AM_CXXFLAGS = -DQT_CLEAN_NAMESPACE -DQT_GENUINE_STR
-
-
-SUBDIRS = . moc
-
include $(srcdir)/../Makefile.dialogs
-DISTCLEANFILES += $(UIDIALOGS)
+CLEANFILES += *.C *Base.h
-nodist_libqt2ui_la_SOURCES = $(UIDIALOGS)
+SUBDIRS = . moc
-libqt2ui.la: $(libqt2ui_la_OBJECTS) $(libqt2ui_la_DEPENDENCIES)
+EXTRA_DIST = QPreambleDialogBase.ui $(UIFILES)
+
+AM_CPPFLAGS = \
+ -DQT_CLEAN_NAMESPACE \
+ -DQT_GENUINE_STR \
+ -DQT_NO_TRANSLATION \
+ $(PCH_FLAGS) \
+ -I$(top_srcdir)/src \
+ -I$(top_srcdir)/src/frontends \
+ -I$(top_srcdir)/src/frontends/qt2 \
+ $(QT_INCLUDES) $(BOOST_INCLUDES) \
+ -I$(top_srcdir)/src/frontends/controllers
-# a pattern to change tr() to _()
+noinst_LTLIBRARIES = libqt2ui.la
-SED = sed
-SEDREPLACETR = s,[^A-Za-z]tr[ ]*(,_(,g
-SEDREMOVEEMPTY = s,_[ ]*([ ]*""[ ]*),"",g
+nodist_libqt2ui_la_SOURCES = $(UIFILES:.ui=.h) $(UIFILES:.ui=.C)
+# The trick.
+libqt2ui_la_LINK = touch libqt2ui.la
-QAskForTextDialog.h: QAskForTextDialog.ui
- $(UIC) $< -o $@
-QAskForTextDialog.C: QAskForTextDialog.h QAskForTextDialog.ui
- $(UIC) -impl $^ | $(SED) '$(SEDREPLACETR);$(SEDREMOVEEMPTY)' > $@
+# Use _() for localization instead of tr() or trUtf8()
+UICFLAGS=-tr qt_
-%Base.h: %.ui
- $(UIC) $< -o $@
-%Base.C: %Base.h %.ui
- $(UIC) -impl $^ | $(SED) '$(SEDREPLACETR);$(SEDREMOVEEMPTY)' > $@
+%.h: %.ui
+ $(UIC) $(UICFLAGS) $< -o $@
+%.C: %.h %.ui $(PCH_FILE)
+ $(UIC) $(UICFLAGS) -impl `echo $^ | sed 's/pch.h.gch//'` -o $@