In my last post, I was asking about a for loop that I have finally figured out how to get around. Now, I'm faced with a new problem. Here is the entire Makefile.am bin_PROGRAMS = colortool # Generate a *.h file from a *.ui file %.h: %.ui uic $< -o $@ # Generate a *.cpp file from a *.ui file %.cpp: %.ui uic $< -i $*.h -o $@ # This rule lets GNU make create any moc_*.cpp from the equivalent *.h # You have one .h file, it's called myapp.h. Therefore, here I list # its mocced name, moc_myapp.cpp. moc_%.cpp: %.h moc $< -o $@
# This code must be run before anything is compiled forms="mainform \ colorname \ findform \ optionsform" uicode := $(foreach i, $(forms), $(i).ui.h) mocced := $(foreach i, $(forms), moc_$(i).cpp) uicgen := $(foreach i, $(forms), $(i).h $(i).cpp) %foreach i in $(forms) $(i).h: $(i).ui $(i).cpp: $(i).ui $(i).h %end # End section # Create an image collection from all the images in the images directory images.cpp: $(wildcard images/*) uic -embed colortool $^ -o $@ # Make a list *.ui.h file names and there respective mocced file names. # Also create a list of file that will be generate from the *.ui files. colortool_SOURCES = main.cpp \ images.cpp \ $(uicode) # Use as sources but do not install any source file # generate from the *.ui files or any moc file generated # afterwords. nodist_colortool_SOURCES = $(uicgen) \ $(mocced) BUILT_SOURCES = $(uicgen) # set the include path found by configure INCLUDES = $(all_includes) $(QTDIR)/include # the library search path. colortool_LDFLAGS = $(all_libraries) -L$(QTDIR)/lib CLEANFILES = $(uicgen) $(mocced) There is code in this file that generates some necessary make rules and defines several variables. I need it to run before anything is compiled. Is there a way to force automake to do this?