Revision 1 (by moose, 2006/03/06 10:35:57) Initial Import
QT4DIR=/usr
QT4LIBDIR=$(QT4DIR)/lib/qt4
QT4INCDIR=$(QT4DIR)/include/qt4

ifdef DEBUG
	LDFLAGS=-L/usr/X11R6/lib -L$(QT4LIBDIR) -lQtCore_debug -lQt3Support_debug -lQtGui_debug -lQtXml_debug -lQtNetwork_debug -lXext -lX11 -lqscintilla4 -rdynamic
	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
	# -fstack-protector-all -fstack-protector
else
	LDFLAGS=-L/usr/X11R6/lib -L$(QT4LIBDIR) -lQtCore -lQtGui -lQt3Support -lQtXml -lQtNetwork -lXext -lX11 -lqscintilla4 -rdynamic
	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
endif
#

ifdef PROFILE
	LDFLAGS+=-pg
	CFLAGS+=-pg
endif

#ifdef EXPAREMENTAL
	CFLAGS+=-fvisibility=hidden -fvisibility-inlines-hidden
#endif

CCACHE_DISABLE:=1
#KDE:=1

ifndef CTAGS_PREFIX
	CTAGS_PREFIX:=readtags
endif

ifndef CTAGS
	CTAGS:=ctags
endif

CFLAGS+=-I$(CTAGS_PREFIX)/include -DCTAGS=$(CTAGS)
READTAGS_OBJ:=$(CTAGS_PREFIX)/lib/readtags.o

# this shit is broken.. KDE is qt3, this is qt4, neither are binary compatable.
# And I am NOT going to port KDE :P
#ifdef KDE
#	ifndef KDEDIR
#		KDEDIR=`kde-config --prefix`
#	endif
#
#	CFLAGS+=-DUSE_KDE -I$(KDEDIR)/include
#	LDFLAGS+=-Wl,-rpath,$(KDEDIR)/lib -L$(KDEDIR)/lib -lkdecore -lkdeui
#endif

UICFILES:=
#sciqmwbase sciqsettingsdialogbase

UICSRC:=$(addprefix ui/,$(addsuffix .ui,$(UICFILES)))
UICCPP:=$(addprefix ui/,$(addsuffix .cpp,$(UICFILES)))
UICHPP:=$(addprefix ui/,$(addsuffix .h,$(UICFILES)))

#QRCFILES:=sciq4

COMMONFILES = SciQMW SciQMWBase SciQApp SciQSettingsDialog SciQSettingsPage \
				  HeaderFrame SciQSBInfo SciQDockWindow SciQWorkspaceDock \
				  SciQTagsDock SciQDockWindowFactory SciQWorkspaceDockFactory \
				  SciQTagsDockFactory SciQSettings SciQToolBar SciQWorkspaceModel
#SciQX11TrayIcon

CPPFILES:=$(COMMONFILES) SciQ SciQSettingsLvItem SciQLvPItem SciQLvCItem flowlayout SimpleGridLayout SciQWorkspace SciQWorkspaceItem SciQWorkspaceFileItem SciQWorkspaceDirItem
MOCFILES:=$(COMMONFILES)

# $(READTAGS_OBJ) $(addprefix ui/,$(addsuffix .o,$(UICFILES))) $(addprefix ui/moc_,$(addsuffix .o,$(UICFILES)))
CPPOBJ:=$(addprefix obj/,$(addsuffix .o,$(CPPFILES))) $(addprefix obj/moc_,$(addsuffix .o,$(MOCFILES)))
#$(addprefix obj/qrc_,$(addsuffix .o,$(QRCFILES)))
CPPSRC:=$(addprefix src/,$(addsuffix .cpp,$(CPPFILES)))
MOCSRC:=$(addprefix moc/moc_,$(addsuffix .cpp,$(MOCFILES))) $(addprefix ui/moc_,$(addsuffix .cpp,$(UICFILES)))
QRCSRC:=$(addprefix qrc/qrc_,$(addsuffix .cpp,$(QRCFILES)))

NAME_BASE:=SciQ
NAME_SUFFIX:=
NAME:=$(NAME_BASE)$(NAME_SUFFIX)

CLEAN_FILES:=$(CPPOBJ) $(MOCSRC) $(QRCSRC) $(NAME) core*
DEPS_CLEAN_FILES:=$(patsubst %.cpp,dep/qrc_%.d,$(addsuffix .cpp,$(QRCFILES))) \
	$(patsubst %.qrc,dep/%.qrc.d,$(addsuffix .qrc,$(QRCFILES))) \
	$(patsubst %.cpp,dep/%.d,$(addsuffix .cpp,$(CPPFILES))) \
	$(patsubst %.cpp,dep/%.d,$(addsuffix .cpp,$(UICFILES))) \
	$(patsubst %.cpp,dep/moc_%.d,$(addsuffix .cpp,$(MOCFILES)))
VERY_CLEAN_FILES:=$(UICCPP) $(UICHPP) $(MOCSRC) $(QRCSRC) $(DEPS_CLEAN_FILES)

DIRS:=include dep moc src obj lib qrc

#ifndef CC
	CC=g++
#	$(warning setting CC to g++)
#endif

CC:=DISTCC_HOSTS=localhost/1 $(CC)

MOC:=$(QT4DIR)/bin/moc
UIC:=$(QT4DIR)/bin/uic
RCC:=$(QT4DIR)/bin/rcc
UPX:=upx

include makefile.inc

start :
	@echo -e ["\E[37;34m"MAKE"\E[0m"] $(NAME)

finish :
	@echo -e ["\E[37;34m"FIN "\E[0m"] $(NAME)

.PHONY: start finish
.PRECIOUS: $(MOCSRC) $(UICCPP) $(UICHPP) $(QRCSRC)