Line # Revision Author
1 1 moose QT4DIR=/usr
2 QT4LIBDIR=$(QT4DIR)/lib/qt4
3 QT4INCDIR=$(QT4DIR)/include/qt4
4
5 ifdef DEBUG
6 LDFLAGS=-L/usr/X11R6/lib -L$(QT4LIBDIR) -lQtCore_debug -lQt3Support_debug -lQtGui_debug -lQtXml_debug -lQtNetwork_debug -lXext -lX11 -lqscintilla4 -rdynamic
7 CFLAGS=-pipe -W -Wall -Wno-unused -ggdb3 -Iinclude -D_REENTRANT -DQT_DEBUG -DQT3_SUPPORT -DQT_THREAD_SUPPORT -isystem $(QT4INCDIR) -isystem $(QT4INCDIR)/Qt -isystem $(QT4INCDIR)/QtGui -isystem $(QT4INCDIR)/QtCore -isystem $(QT4INCDIR)/QtXml -isystem $(QT4INCDIR)/Qt3Support -isystem $(QT4INCDIR)/QtNetwork -Iui
8 # -fstack-protector-all -fstack-protector
9 else
10 LDFLAGS=-L/usr/X11R6/lib -L$(QT4LIBDIR) -lQtCore -lQtGui -lQt3Support -lQtXml -lQtNetwork -lXext -lX11 -lqscintilla4 -rdynamic
11 CFLAGS=-pipe -W -Wall -Wno-unused -O2 -funroll-loops -ffast-math -march=athlon-xp -fomit-frame-pointer -falign-functions=64 -D_FILE_OFFSET_BITS=64 -Iinclude -D_REENTRANT -DQT_NO_DEBUG -DQT3_SUPPORT -DQT_THREAD_SUPPORT -isystem $(QT4INCDIR) -isystem $(QT4INCDIR)/Qt -isystem $(QT4INCDIR)/QtGui -isystem $(QT4INCDIR)/Qt3Support -isystem $(QT4INCDIR)/QtCore -isystem $(QT4INCDIR)/QtNetwork -isystem $(QT4INCDIR)/QtXml -Iui
12 endif
13 #
14
15 ifdef PROFILE
16 LDFLAGS+=-pg
17 CFLAGS+=-pg
18 endif
19
20 #ifdef EXPAREMENTAL
21 CFLAGS+=-fvisibility=hidden -fvisibility-inlines-hidden
22 #endif
23
24 CCACHE_DISABLE:=1
25 #KDE:=1
26
27 ifndef CTAGS_PREFIX
28 CTAGS_PREFIX:=readtags
29 endif
30
31 ifndef CTAGS
32 CTAGS:=ctags
33 endif
34
35 CFLAGS+=-I$(CTAGS_PREFIX)/include -DCTAGS=$(CTAGS)
36 READTAGS_OBJ:=$(CTAGS_PREFIX)/lib/readtags.o
37
38 # this shit is broken.. KDE is qt3, this is qt4, neither are binary compatable.
39 # And I am NOT going to port KDE :P
40 #ifdef KDE
41 # ifndef KDEDIR
42 # KDEDIR=`kde-config --prefix`
43 # endif
44 #
45 # CFLAGS+=-DUSE_KDE -I$(KDEDIR)/include
46 # LDFLAGS+=-Wl,-rpath,$(KDEDIR)/lib -L$(KDEDIR)/lib -lkdecore -lkdeui
47 #endif
48
49 UICFILES:=
50 #sciqmwbase sciqsettingsdialogbase
51
52 UICSRC:=$(addprefix ui/,$(addsuffix .ui,$(UICFILES)))
53 UICCPP:=$(addprefix ui/,$(addsuffix .cpp,$(UICFILES)))
54 UICHPP:=$(addprefix ui/,$(addsuffix .h,$(UICFILES)))
55
56 #QRCFILES:=sciq4
57
58 COMMONFILES = SciQMW SciQMWBase SciQApp SciQSettingsDialog SciQSettingsPage \
59 HeaderFrame SciQSBInfo SciQDockWindow SciQWorkspaceDock \
60 SciQTagsDock SciQDockWindowFactory SciQWorkspaceDockFactory \
61 SciQTagsDockFactory SciQSettings SciQToolBar SciQWorkspaceModel
62 #SciQX11TrayIcon
63
64 CPPFILES:=$(COMMONFILES) SciQ SciQSettingsLvItem SciQLvPItem SciQLvCItem flowlayout SimpleGridLayout SciQWorkspace SciQWorkspaceItem SciQWorkspaceFileItem SciQWorkspaceDirItem
65 MOCFILES:=$(COMMONFILES)
66
67 # $(READTAGS_OBJ) $(addprefix ui/,$(addsuffix .o,$(UICFILES))) $(addprefix ui/moc_,$(addsuffix .o,$(UICFILES)))
68 CPPOBJ:=$(addprefix obj/,$(addsuffix .o,$(CPPFILES))) $(addprefix obj/moc_,$(addsuffix .o,$(MOCFILES)))
69 #$(addprefix obj/qrc_,$(addsuffix .o,$(QRCFILES)))
70 CPPSRC:=$(addprefix src/,$(addsuffix .cpp,$(CPPFILES)))
71 MOCSRC:=$(addprefix moc/moc_,$(addsuffix .cpp,$(MOCFILES))) $(addprefix ui/moc_,$(addsuffix .cpp,$(UICFILES)))
72 QRCSRC:=$(addprefix qrc/qrc_,$(addsuffix .cpp,$(QRCFILES)))
73
74 NAME_BASE:=SciQ
75 NAME_SUFFIX:=
76 NAME:=$(NAME_BASE)$(NAME_SUFFIX)
77
78 CLEAN_FILES:=$(CPPOBJ) $(MOCSRC) $(QRCSRC) $(NAME) core*
79 DEPS_CLEAN_FILES:=$(patsubst %.cpp,dep/qrc_%.d,$(addsuffix .cpp,$(QRCFILES))) \
80 $(patsubst %.qrc,dep/%.qrc.d,$(addsuffix .qrc,$(QRCFILES))) \
81 $(patsubst %.cpp,dep/%.d,$(addsuffix .cpp,$(CPPFILES))) \
82 $(patsubst %.cpp,dep/%.d,$(addsuffix .cpp,$(UICFILES))) \
83 $(patsubst %.cpp,dep/moc_%.d,$(addsuffix .cpp,$(MOCFILES)))
84 VERY_CLEAN_FILES:=$(UICCPP) $(UICHPP) $(MOCSRC) $(QRCSRC) $(DEPS_CLEAN_FILES)
85
86 DIRS:=include dep moc src obj lib qrc
87
88 #ifndef CC
89 CC=g++
90 # $(warning setting CC to g++)
91 #endif
92
93 CC:=DISTCC_HOSTS=localhost/1 $(CC)
94
95 MOC:=$(QT4DIR)/bin/moc
96 UIC:=$(QT4DIR)/bin/uic
97 RCC:=$(QT4DIR)/bin/rcc
98 UPX:=upx
99
100 include makefile.inc
101
102 start :
103 @echo -e ["\E[37;34m"MAKE"\E[0m"] $(NAME)
104
105 finish :
106 @echo -e ["\E[37;34m"FIN "\E[0m"] $(NAME)
107
108 .PHONY: start finish
109 .PRECIOUS: $(MOCSRC) $(UICCPP) $(UICHPP) $(QRCSRC)