defs.mk, exe.mk, rules.mk: Add support for QT ui generation from .ui files

This commit is contained in:
Jan Lindemann 2005-01-18 19:18:58 +00:00 committed by Jan Lindemann
commit a4079714c3
3 changed files with 31 additions and 4 deletions

View file

@ -41,6 +41,7 @@ MKFILES = $(wildcard *.mk)
CFILES = $(wildcard *.c) CFILES = $(wildcard *.c)
CPPFILES = $(wildcard *.cc *.cpp) CPPFILES = $(wildcard *.cc *.cpp)
UIFILES = $(wildcard *.ui)
CALLSRC = $(CFILES) $(CPPFILES) CALLSRC = $(CFILES) $(CPPFILES)
OBJ = $(patsubst %.cpp,%.o,$(patsubst %.cc,%.o,$(patsubst %.c,%.o,$(CALLSRC)))) OBJ = $(patsubst %.cpp,%.o,$(patsubst %.cc,%.o,$(patsubst %.c,%.o,$(CALLSRC))))
SHOBJS = $(patsubst %.cpp,lib%.so,$(patsubst %.cc,lib%.so,$(patsubst %.c,lib%.so,$(CALLSRC)))) SHOBJS = $(patsubst %.cpp,lib%.so,$(patsubst %.cc,lib%.so,$(patsubst %.c,lib%.so,$(CALLSRC))))
@ -160,8 +161,18 @@ LD_LIB_PATH += $(QT_PREFIX)/lib
MOC = $(QT_PREFIX)/bin/moc MOC = $(QT_PREFIX)/bin/moc
UIC = $(QT_PREFIX)/bin/uic UIC = $(QT_PREFIX)/bin/uic
MOC_CPP = $(patsubst %.h,moc_%.cpp,$(MOC_HEADER)) ifneq ($(wildcard *.h),)
OBJ += $(patsubst %.cpp,%.o,$(MOC_CPP)) MOC_H_HC = $(shell grep Q_OBJECT $(wildcard *.h) | cut -d: -f1 | sort -u)
endif
MOC_H_UI = $(patsubst %.ui,%.h,$(UIFILES))
MOC_H = $(sort $(MOC_H_HC) $(MOC_H_UI))
MOC_CPP = $(patsubst %.h,moc_%.cpp, $(MOC_H))
UIC_H = $(patsubst %.ui,%.h, $(UIFILES))
UIC_CPP = $(patsubst %.ui,uic_%.cpp, $(UIFILES))
OBJ += $(patsubst %.cpp,%.o,$(MOC_CPP))
OBJ += $(patsubst %.cpp,%.o,$(UIC_CPP))
ifdef REENTRANT ifdef REENTRANT
LPPFLAGS += -L$(QT_PREFIX)/lib -lqt-mt LPPFLAGS += -L$(QT_PREFIX)/lib -lqt-mt
else else

View file

@ -14,5 +14,5 @@ run: $(EXE) $(EXE_BIN)
$(EXPORT_LD_LIB_PATH); ./$(EXE) $(EXE_ARGS) $(EXPORT_LD_LIB_PATH); ./$(EXE) $(EXE_ARGS)
strace: $(EXE) $(EXE_BIN) strace: $(EXE) $(EXE_BIN)
$(EXPORT_LD_LIB_PATH); strace -f ./$(EXE) $(EXE_ARGS) $(EXPORT_LD_LIB_PATH); strace -f ./$(EXE) $(EXE_ARGS)
clean: execlean localclean clean: execlean localclean mocclean uicclean

View file

@ -27,6 +27,12 @@ $(LIBDIR):
moc_%.cpp: %.h moc_%.cpp: %.h
$(MOC) -o $@ $< $(MOC) -o $@ $<
%.h: %.ui
$(UIC) $< -o $@
uic_%.cpp: %.h %.ui
$(UIC) $*.ui -i $< -o $@
ifeq ($(LIBTYPE),shared) ifeq ($(LIBTYPE),shared)
lib%.so: %.o $(LIB_SO) lib%.so: %.o $(LIB_SO)
else else
@ -55,6 +61,10 @@ $(TOPDIR)/bin/%.sh: %.sh
timers_%.h: %.h $(GENERATE_FUNC_TIMERS) timers_%.h: %.h $(GENERATE_FUNC_TIMERS)
sh $(GENERATE_FUNC_TIMERS) $< $@ sh $(GENERATE_FUNC_TIMERS) $< $@
ifneq ($(USE_QT),)
$(OBJ): $(UIC_H) $(MOC_H) $(UIC_CPP) $(MOC_CPP)
endif
ifeq ($(USE_PROJECT_LIB),true) ifeq ($(USE_PROJECT_LIB),true)
ifeq ($(LIBTYPE),shared) ifeq ($(LIBTYPE),shared)
$(EXE) $(EXE_BIN): $(OBJ) $(LIB_SO) $(EXE) $(EXE_BIN): $(OBJ) $(LIB_SO)
@ -159,7 +169,13 @@ tmpclean:
rm -rf *.tmp *.rep rm -rf *.tmp *.rep
objclean: objclean:
rm -rf core core.* .*.o *.o *.a *.so *.so.* $(MOC_CPP) rm -rf core core.* .*.o *.o *.a *.so *.so.*
mocclean:
rm -rf $(MOC_CPP)
uicclean:
rm -rf $(UIC_CPP) $(UIC_H)
textclean: doneclean textclean: doneclean
rm -rf $(TEXTCLEAN) \#*\# .kdbgrc.* .\#* rm -rf $(TEXTCLEAN) \#*\# .kdbgrc.* .\#*