# [Makefile] for `tedemo'

#-------------------------------------------------------------------------------

INCDIRS	= -Iinclude -I$(QTDIR)/include -I$(KDEDIR)/include

# CFLAGS	= -O2
CFLAGS	= -O2 -Wall
LFLAGS	= -L$(KDEDIR)/lib -L$(QTDIR)/lib -lqt -lkdecore -lkdeui -L/usr/X11R6/lib -lXext
CC	= g++
MOC	= $(QTDIR)/bin/moc

####### Files

SOURCES = main.C TEWidget.C vt102emu.C TEScreen.C TEmulation.C Shell.C
HEADERS = TEWidget.h vt102emu.h TEScreen.h TEmulation.h Shell.h
SRCMETA = TEWidget.moc vt102emu.moc main.moc TEmulation.moc Shell.moc
OBJECTS = TEWidget.o vt102emu.o TEScreen.o TEmulation.o Shell.o
LIBOBJS = TEWidget.lo vt102emu.lo TEScreen.lo TEmulation.lo Shell.lo
TARGET	= konsole

####### Implicit rules

.SUFFIXES: .C .lo

.C.o:
	$(CC) -c $(CFLAGS) $(INCDIRS) $<

.C.lo:
	$(CC) -o $@ -fPIC $(CFLAGS) $(INCDIRS) -c $<

all: $(TARGET)

libtemu.so: $(LIBOBJS)
	rm -f libtemu.so*
	c++ -s -shared -Wl,-soname -Wl,libtemu.so.0 -o libtemu.so.0.0.1 $(LIBOBJS)
	ln -s libtemu.so.0.0.1 libtemu.so.0
	ln -s libtemu.so.0.0.1 libtemu.so     

####### Build rules

all: $(TARGET)

$(TARGET): $(SRCMETA) $(OBJECTS) main.o
	$(CC) $(OBJECTS) main.o -o $(TARGET) $(LFLAGS)

konsole.share: $(SRCMETA) libtemu.so main.o
	$(CC) $(OBJECTS) -o $(TARGET) -L. -ltemu $(LFLAGS)

depend:
	@makedepend -I$(INCDIR) $(SOURCES) 2> /dev/null

showfiles:
	@echo $(SOURCES) $(HEADERS) Makefile

clean:
	-rm -f *.o *.lo *.bak *~ [0-9] core *.moc $(TARGET)
	-rm -f libtemu.so*

main.moc: main.C
	$(MOC) $< -o $@

########## Meta objects ##########

%.moc: include/%.h
	$(MOC) $< -o $@

# DO NOT DELETE THIS LINE -- make depend depends on it.

TEWidget.o: /usr/include/stdio.h /usr/include/libio.h
TEWidget.o: /usr/include/_G_config.h /usr/include/sys/cdefs.h
TEWidget.o: /usr/include/stdlib.h /usr/include/features.h
TEWidget.o: /usr/lib/gcc-lib/i486-linux/2.7.2.1/include/stddef.h
TEWidget.o: /usr/include/errno.h /usr/include/linux/errno.h
TEWidget.o: /usr/include/asm/errno.h /usr/include/alloca.h
TEWidget.o: /usr/include/unistd.h /usr/include/posix_opt.h
TEWidget.o: /usr/include/gnu/types.h /usr/include/confname.h
TEWidget.o: /usr/include/sys/types.h /usr/include/linux/types.h
TEWidget.o: /usr/include/linux/posix_types.h /usr/include/asm/posix_types.h
TEWidget.o: /usr/include/asm/types.h /usr/include/sys/bitypes.h
TEWidget.o: /usr/include/assert.h /usr/include/X11/Xlib.h
TEWidget.o: /usr/include/X11/X.h /usr/include/X11/Xfuncproto.h
TEWidget.o: /usr/include/X11/Xosdefs.h
vt102emu.o: /usr/include/stdio.h /usr/include/libio.h
vt102emu.o: /usr/include/_G_config.h /usr/include/sys/cdefs.h
vt102emu.o: /usr/include/unistd.h /usr/include/features.h
vt102emu.o: /usr/include/posix_opt.h /usr/include/gnu/types.h
vt102emu.o: /usr/lib/gcc-lib/i486-linux/2.7.2.1/include/stddef.h
vt102emu.o: /usr/include/confname.h /usr/include/sys/types.h
vt102emu.o: /usr/include/linux/types.h /usr/include/linux/posix_types.h
vt102emu.o: /usr/include/asm/posix_types.h /usr/include/asm/types.h
vt102emu.o: /usr/include/sys/bitypes.h /usr/include/assert.h
vt102emu.o: other/xterm.keycodes
TEScreen.o: /usr/include/stdio.h /usr/include/libio.h
TEScreen.o: /usr/include/_G_config.h /usr/include/sys/cdefs.h
TEScreen.o: /usr/include/stdlib.h /usr/include/features.h
TEScreen.o: /usr/lib/gcc-lib/i486-linux/2.7.2.1/include/stddef.h
TEScreen.o: /usr/include/errno.h /usr/include/linux/errno.h
TEScreen.o: /usr/include/asm/errno.h /usr/include/alloca.h
TEScreen.o: /usr/include/unistd.h /usr/include/posix_opt.h
TEScreen.o: /usr/include/gnu/types.h /usr/include/confname.h
TEScreen.o: /usr/include/sys/types.h /usr/include/linux/types.h
TEScreen.o: /usr/include/linux/posix_types.h /usr/include/asm/posix_types.h
TEScreen.o: /usr/include/asm/types.h /usr/include/sys/bitypes.h
TEScreen.o: /usr/include/assert.h /usr/include/strings.h
TEScreen.o: /usr/include/string.h
TEmulation.o: /usr/include/stdio.h /usr/include/libio.h
TEmulation.o: /usr/include/_G_config.h /usr/include/sys/cdefs.h
TEmulation.o: /usr/include/unistd.h /usr/include/features.h
TEmulation.o: /usr/include/posix_opt.h /usr/include/gnu/types.h
TEmulation.o: /usr/lib/gcc-lib/i486-linux/2.7.2.1/include/stddef.h
TEmulation.o: /usr/include/confname.h /usr/include/sys/types.h
TEmulation.o: /usr/include/linux/types.h /usr/include/linux/posix_types.h
TEmulation.o: /usr/include/asm/posix_types.h /usr/include/asm/types.h
TEmulation.o: /usr/include/sys/bitypes.h /usr/include/assert.h
Shell.o: /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h
Shell.o: /usr/include/sys/cdefs.h /usr/include/stdlib.h
Shell.o: /usr/include/features.h
Shell.o: /usr/lib/gcc-lib/i486-linux/2.7.2.1/include/stddef.h
Shell.o: /usr/include/errno.h /usr/include/linux/errno.h
Shell.o: /usr/include/asm/errno.h /usr/include/alloca.h
Shell.o: /usr/include/termios.h /usr/include/sys/types.h
Shell.o: /usr/include/linux/types.h /usr/include/linux/posix_types.h
Shell.o: /usr/include/asm/posix_types.h /usr/include/asm/types.h
Shell.o: /usr/include/sys/bitypes.h /usr/include/linux/termios.h
Shell.o: /usr/include/asm/termios.h /usr/include/asm/termbits.h
Shell.o: /usr/include/asm/ioctls.h /usr/include/asm/ioctl.h
Shell.o: /usr/include/fcntl.h /usr/include/gnu/types.h
Shell.o: /usr/include/linux/fcntl.h /usr/include/asm/fcntl.h
Shell.o: /usr/include/unistd.h /usr/include/posix_opt.h
Shell.o: /usr/include/confname.h /usr/include/sys/ioctl.h
Shell.o: /usr/include/linux/ioctl.h /usr/include/sys/socketio.h
Shell.o: /usr/include/linux/sockios.h /usr/include/asm/sockios.h
Shell.o: /usr/include/assert.h /usr/include/time.h /usr/include/sys/time.h
Shell.o: /usr/include/linux/time.h /usr/include/signal.h
Shell.o: /usr/include/linux/signal.h /usr/include/asm/signal.h
Shell.o: /usr/include/wait.h /usr/include/sys/wait.h /usr/include/waitflags.h
Shell.o: /usr/include/waitstatus.h /usr/include/endian.h
Shell.o: /usr/include/bytesex.h
