#############################################################################
# Automatically generated from ./tutorial/t7/Makefile.in
# Build options from 
#############################################################################

QT_CXXFLAGS_OPT = -DQT_BUILTIN_GIF_READER -DQT_SM_SUPPORT 
QT_CFLAGS_OPT   =
QT_LIBS_OPT	=  -lICE -lSM -lz -lpng
QT_PNG_OBJ      =
QT_ZLIB_OBJ	=

# Compiling
SYSCONF_CXX		= g++
SYSCONF_CC		= gcc

# Compiling with support libraries
SYSCONF_CXXFLAGS_X11	= -I/usr/X11R6/include
SYSCONF_CXXFLAGS_QT	= -I$(QTDIR)/include
SYSCONF_CXXFLAGS_OPENGL	= -I/usr/X11R6/include

# Compiline YACC output
SYSCONF_CXXFLAGS_YACC     = -Wno-unused -Wno-parentheses

# Linking with support libraries
# X11
SYSCONF_LFLAGS_X11	= -L/usr/X11R6/lib
SYSCONF_LIBS_X11	= -lXext -lX11 -lm
# Qt, Qt+OpenGL
SYSCONF_LFLAGS_QT	= -L$(QTDIR)/lib
SYSCONF_LIBS_QT		= -lqt
SYSCONF_LIBS_QT_OPENGL	= -lqgl
# OpenGL
SYSCONF_LFLAGS_OPENGL	= -L/usr/X11R6/lib
SYSCONF_LIBS_OPENGL	= -lMesaGL -lMesaGLU -lXmu
# Yacc
SYSCONF_LIBS_YACC	= 

# Linking applications
SYSCONF_LINK		= g++
SYSCONF_LFLAGS		= 
SYSCONF_LIBS		= 

# Link flags shared objects
SYSCONF_LFLAGS_SHOBJ	= -shared

# Meta-object compiler
SYSCONF_MOC		= $(QTDIR)/bin/moc

# Linking shared libraries
#   - Build the $(TARGET) library, eg. lib$(TARGET).so.2.0.1
#   - Place target in $(DESTDIR) - which has a trailing /
#   - Usually needs to incorporate $(VER_MAJ), $(VER_MIN) and $(VER_PATCH)
#
SYSCONF_LINK_SHLIB	= g++
SYSCONF_LINK_TARGET_SHARED	= lib$(TARGET).so.$(VER_MAJ).$(VER_MIN).$(VER_PATCH)
SYSCONF_LINK_LIB_SHARED	=  $(SYSCONF_LINK_SHLIB) -shared -Wl,-soname,lib$(TARGET).so.$(VER_MAJ) \
				     $(LFLAGS) -o $(SYSCONF_LINK_TARGET_SHARED) \
				     $(OBJECTS) $(OBJMOC) $(LIBS) && \
				 mv $(SYSCONF_LINK_TARGET_SHARED) $(DESTDIR); \
				 cd $(DESTDIR) && \
				 rm -f lib$(TARGET).so lib$(TARGET).so.$(VER_MAJ) lib$(TARGET).so.$(VER_MAJ).$(VER_MIN); \
				 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).so; \
				 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).so.$(VER_MAJ); \
				 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).so.$(VER_MAJ).$(VER_MIN)

# Linking static libraries
#   - Build the $(TARGET) library, eg. lib$(TARGET).a
#   - Place target in $(DESTDIR) - which has a trailing /
#
SYSCONF_AR		= ar cqs
SYSCONF_LINK_TARGET_STATIC = lib$(TARGET).a
SYSCONF_LINK_LIB_STATIC	= rm -f $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) ; \
				 $(SYSCONF_AR) $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) $(OBJECTS) $(OBJMOC) 
# Compiling application source
SYSCONF_CXXFLAGS	= -pipe -DNO_DEBUG -O2  
SYSCONF_CFLAGS		= -pipe -DNO_DEBUG -O2  
# Compiling library source
SYSCONF_CXXFLAGS_LIB	= -fPIC
SYSCONF_CFLAGS_LIB	= -fPIC
# Compiling shared-object source
SYSCONF_CXXFLAGS_SHOBJ	= -fPIC
SYSCONF_CFLAGS_SHOBJ	= -fPIC
SYSCONF_LINK_LIB	= $(SYSCONF_LINK_LIB_STATIC)
SYSCONF_LINK_TARGET	= $(SYSCONF_LINK_TARGET_STATIC)
#############################################################################

####### Compiler, tools and options

CXX	=	$(SYSCONF_CXX)
CXXFLAGS=	$(SYSCONF_CXXFLAGS_QT) $(SYSCONF_CXXFLAGS)
CC	=	$(SYSCONF_CC)
CFLAGS	=	$(SYSCONF_CFLAGS)
INCPATH =	
LFLAGS	=	$(SYSCONF_LFLAGS_QT) $(SYSCONF_LFLAGS_X11) $(SYSCONF_LFLAGS)
LIBS	=	$(SYSCONF_LIBS_QT) $(SYSCONF_LIBS_X11) $(SYSCONF_LIBS)
MOC	=	$(SYSCONF_MOC)

####### Target

DESTDIR = ./
VER_MAJ = 1
VER_MIN = 0
VER_PATCH = 0
TARGET	= yasmin
TARGET1 = lib$(TARGET).so.$(VER_MAJ)

####### Files

HEADERS =	debugwidget.h linetext.h 8051.h general.h \
		memory.h int_stack.h memview.h ledbar.h hexview.h memhex.h \
		portsview.h memedit.h mainwidget.h
SOURCES =	debugwidget.cc \
		debug_main.cc \
		linetext.cc \
		general.cc memory.cc hashtable.cc\
		8051.cc int_stack.cc memview.cc ledbar.cc hexview.cc memhex.cc\
		portsview.cc memedit.cc mainwidget.cc
OBJECTS =	debugwidget.o debug_main.o linetext.o \
		8051.o general.o memory.o int_stack.o memview.o ledbar.o \
		hexview.o memhex.o portsview.o memedit.o mainwidget.o
SRCMOC	=	moc_debugwidget.cc moc_8051.cc \
		moc_memview.cc moc_ledbar.cc moc_hexview.cc moc_memhex.cc \
		moc_portsview.cc moc_memedit.cc moc_mainwidget.cc
OBJMOC	=	moc_debugwidget.o moc_8051.o moc_memview.o \
		moc_ledbar.o moc_hexview.o moc_memhex.o moc_portsview.o \
		moc_memedit.o moc_mainwidget.o

####### Implicit rules

.SUFFIXES: .cpp .cxx .cc .C .c

.cpp.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cxx.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cc.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.C.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.c.o:
	$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<

####### Build rules

all: $(DESTDIR)$(TARGET)

$(DESTDIR)$(TARGET): $(OBJECTS) $(OBJMOC) 
	$(SYSCONF_LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)

moc: $(SRCMOC)

tmake:
	tmake mon.pro

clean:
	-rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC)
	-rm -f *~ core

####### Compile

8051.o:  8051.cc 8051.h

linetext.o: linetext.cc linetext.h
	g++ -c -o linetext.o linetext.cc 

debugwidget.o: debugwidget.cc \
		debugwidget.h

debug_main.o: debug_main.cc \
		debugwidget.h

moc_8051.o: moc_8051.cc 8051.h

moc_8051.cc: 8051.h
	$(MOC) 8051.h -o moc_8051.cc

moc_debugwidget.o: moc_debugwidget.cc \
		debugwidget.h

moc_debugwidget.cc: debugwidget.h
	$(MOC) debugwidget.h -o moc_debugwidget.cc

moc_memview.o: moc_memview.cc \
		memview.h

moc_memview.cc: memview.h
	$(MOC) memview.h -o moc_memview.cc

moc_ledbar.o: moc_ledbar.cc \
		ledbar.h

moc_ledbar.cc: ledbar.h
	$(MOC) ledbar.h -o moc_ledbar.cc

moc_hexview.o: moc_hexview.cc \
		hexview.h

moc_hexview.cc: hexview.h
	$(MOC) hexview.h -o moc_hexview.cc

moc_memhex.o: moc_memhex.cc \
		memhex.h

moc_memhex.cc: memhex.h
	$(MOC) memhex.h -o moc_memhex.cc


moc_portsview.o: moc_portsview.cc \
		portsview.h

moc_portsview.cc: portsview.h
	$(MOC) portsview.h -o moc_portsview.cc

moc_memedit.o: moc_memedit.cc \
		memedit.h

moc_memedit.cc: memedit.h
	$(MOC) memedit.h -o moc_memedit.cc

moc_mainwidget.o: moc_mainwidget.cc \
		mainwidget.h

moc_mainwidget.cc: mainwidget.h
	$(MOC) mainwidget.h -o moc_mainwidget.cc

