File: common.am

package info (click to toggle)
muse 0.6.3-3
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 8,936 kB
  • ctags: 7,446
  • sloc: cpp: 66,262; sh: 8,355; makefile: 755; ansic: 172
file content (48 lines) | stat: -rw-r--r-- 1,103 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
AM_CPPFLAGS =
AM_CXXFLAGS =

INCLUDES = $(MUSECXXFLAGS)

UIFILES = $(wildcard *.ui)

MOCFILES = $(shell for h in $(filter %.h,$(SOURCES)); do \
		     if grep -q Q_OBJECT $$h; then \
		       echo $$h | sed "s/\(.*\)\.h/moc_\1.cpp/"; \
		     fi; \
		   done)

BUILT_SOURCES = $(MOCFILES) $(UIFILES:%.ui=%.h)

MOSTLYCLEANFILES = $(MOCFILES) $(UIFILES:%.ui=%.h)

de:
	@for base in $(MOCFILES); do echo -e "\t$${base}.cpp $${base}.h \\"; done

nde:
	@for base in $(MOCFILES); do echo -e "\tmoc_$${base}.cpp \\"; done

SUFFIXES = .ui

.ui.o: %.h
	$(UIC) -o $*.cpp -impl $*.h $*.ui
	$(MOC) $*.h -o moc_$*.cpp
	$(CXXCOMPILE) -c $*.cpp -o base_$*.o
	$(CXXCOMPILE) -c moc_$*.cpp -o moc_$*.o
	$(CXXLINK) -r base_$*.o moc_$*.o -o $*.o
	$(RM) $*.cpp moc_$*.cpp base_$*.o moc_$*.o

.ui.lo: %.h
	$(UIC) -o $*.cpp -impl $*.h $*.ui
	$(MOC) $*.h -o moc_$*.cpp
	$(LTCXXCOMPILE) -c $*.cpp -o base_$*.lo
	$(LTCXXCOMPILE) -c moc_$*.cpp -o moc_$*.lo
	$(CXXLINK) -r base_$*.lo moc_$*.lo -o $*.lo
	$(RM) $*.cpp moc_$*.cpp base_$*.lo moc_$*.lo base_$*.o moc_$*.o


moc_%.cpp: %.h
	$(MOC) $< -o $@

%.h: %.ui
	$(UIC) -o $@ $<