# Generated automatically from Makefile.in by configure.
# Makefile for GTKeyboard
# s2mdalle@titan.vcu.edu http://opop.nols.com/
# Ignore the following few lines - they're just for emacs 
# Local Variables:
# indent-tabs-mode: t
# End:
############################################################################
#
# If you want to change where GTKeyboard is installed, change PREFIX
# to wherever you want the binary to show up.  All documentation ends up
# in $(DOCDIR) so change that to whatever you want as well.

VERSION    = 1.1.7
PREFIX     = /usr/local
srcdir     = .
top_srcdir = .
DOCDIR     = $(PREFIX)/share/gtkeyboard
SHAREDIR   = $(DOCDIR)
bindir     = $(PREFIX)/bin

CC = gcc
RM = /bin/rm
FIND = /usr/bin/find
TILDE = $(FIND) $(top_srcdir) -name "*~" -exec $(RM) {} \;
CHMOD = /bin/chmod
MKDIR = /bin/mkdir
LATEX = /usr/bin/latex
DVIPS = /usr/bin/dvips
LATEX2HTML = /usr/bin/latex2html
CP = /bin/cp
MKINSTALLDIRS = $(top_srcdir)/mkinstalldirs
PATH_X = 
BINARY = gtkeyboard
INSTALL = /usr/bin/install -c

TOUCH = /usr/bin/touch

# If you want paranoid warning messages, make WFLAGS equal to "-Wall" only.
# The way it compiles on my linux machine though, there are no warnings
# even with this flag.
WFLAGS = -Wall

# These WFLAGS are just about ALL the warning flags gcc offers except 
# the flag for redundant declarations, which spits out warnings coming out of
# master.h which are not a problem but VERY annoying to look at.  Still, we
# want a lot of warning reporting.
#WFLAGS = -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wparentheses \
#-Wpointer-arith -Wimplicit-function-declaration -Wmissing-prototypes \
#-Wreturn-type 

# The html definition is if you want the html menus defined in at all.  If
# You don't, then take the $(HTML) out of the CFLAGS line and it will NOT
# compile with HTML menus
OS_TYPE        = Linux
ARCH_TYPE      = i686
INCLUDEDIRS    = -I$(srcdir) -I$(srcdir)/include/ \
		 -I/usr/X11R6/include
WEIRDONLY      = -fno-strength-reduce
LOTHERL        = -lgdk -lglib  -lXmu -lX11
INTERMED       = $(INCLUDEDIRS) $(WFLAGS) -g -O2
GTK_CFLAGS     = -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -D_REENTRANT -I/usr/X11R6/include
GTK_LIBS       = -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule -lgthread -lglib -lpthread -ldl -lXi -lXext -lX11 -lm
CFLAGS         = $(INTERMED) $(GTK_CFLAGS)
LDFLAGS        = $(GTK_LIBS) $(LOTHERL) 
MAKESHIFT      = makeshift.h
OTHERS         = Makefile.orig gtkeyboard.status.txt config.log foobar makeshift.h FOO.FOO config.cache
ALL_CFLAGS     = $(CFLAGS)
SPECIAL        = $(GTK_CFLAGS) $(OPTIMIZATION)
SLIBS          = -static foo/libgtk.a foo/libglib.a foo/libgdk.a foo/libXmu.a \
		 $(GTK_LIBS)
SUPPORT_FILES  = $(srcdir)/about.data
MANUAL         = $(srcdir)/MANUAL
COMPILING      = $(srcdir)/COMPILING
README         = $(srcdir)/README
TODO           = $(srcdir)/TODO
COPYING        = $(srcdir)/COPYING
BUGS           = $(srcdir)/BUGS
AUTHORS        = $(srcdir)/AUTHORS
CHANGELOG      = $(srcdir)/ChangeLog
ABOUT_DATA     = $(srcdir)/about.data
EXTRA_DOCFILES = MANUAL.aux MANUAL.dvi MANUAL.log MANUAL.toc

gtkeyboard_HEADERS = master.h include/*.h

gtkeyboard_SOURCES = app.c ui.c callbacks.c misc_cursor.c html_mode.c \
		build_keyboard.c shortcuts.c truly_misc.c file_manip.c \
		irxevent.c winselect.c ext_progs.c user_shortcuts.c \
		stylish.c remote_control.c mimic.c modmap.c kmanip.c \
		templates.c follow_focus.c rc_file.c completer.c \
		splay.c wcomp.c

XPMGEN_SOURCE = Misc/random_xpm.c

OBJS =		winselect.o app.o ui.o callbacks.o misc_cursor.o html_mode.o \
		build_keyboard.o shortcuts.o truly_misc.o file_manip.o \
		irxevent.o ext_progs.o user_shortcuts.o menus.o \
		stylish.o remote_control.o mimic.o modmap.o kmanip.o \
		templates.o follow_focus.o rc_file.o completer.o \
		splay.o wcomp.o 

.PHONY :	all static app clean restore autogen uninstall \
		obscure distclean install clear

all:		app

static:		makeshift.h config.h $(OBJS)
		$(CC) $(ALL_CFLAGS) -o $(BINARY) $(OBJS) $(SLIBS)

app:		makeshift.h config.h $(OBJS)	
		$(CC) $(CFLAGS) -o $(BINARY) \
		$(OBJS) $(LDFLAGS) 		

xpmgen:		
		$(CC) $(XPMGEN_SOURCE) -DNEED_RANDOM_XPM_MAIN=1 -Wall -O3 \
		-o xpmgen

modmap.o:	modmap.c
		$(CC) $(CFLAGS) -c $(srcdir)/modmap.c

templates.o:	templates.c
		$(CC) $(CFLAGS) -c $(srcdir)/templates.c

rc_file.o:	rc_file.c
		$(CC) $(CFLAGS) -c $(srcdir)/rc_file.c

splay.o:	$(srcdir)/libwcomp/splay.c
		$(CC) $(CFLAGS) -c $(srcdir)/libwcomp/splay.c

wcomp.o:	$(srcdir)/libwcomp/wcomp.c
		$(CC) $(CFLAGS) -c $(srcdir)/libwcomp/wcomp.c

libwcomp.a:	
		cd $(srcdir)/libwcomp ; make libwcomp.a ; cd ..

kmanip.o:	kmanip.c
		$(CC) $(CFLAGS) -c $(srcdir)/kmanip.c

follow_focus.o:	follow_focus.c
		$(CC) $(CFLAGS) -c $(srcdir)/follow_focus.c

completer.o:	completer.c
		$(CC) $(CFLAGS) -c $(srcdir)/completer.c

mimic.o:	mimic.c
		$(CC) $(CFLAGS) -c $(srcdir)/mimic.c

menus.o:	menus.c
		$(CC) $(CFLAGS) -c $(srcdir)/menus.c

remote_control.o:	remote_control.c
		$(CC) $(CFLAGS) -c $(srcdir)/remote_control.c

user_shortcuts.o:	user_shortcuts.c
		$(CC) $(CFLAGS) -c $(srcdir)/user_shortcuts.c

ext_progs.o:	ext_progs.c
		$(CC) $(CFLAGS) -c $(srcdir)/ext_progs.c

globals.o:	globals.c
		$(CC) $(CFLAGS) -c $(srcdir)/globals.c

stylish.o:	stylish.c
		$(CC) $(CFLAGS) -c $(srcdir)/stylish.c

file_manip.o:	file_manip.c
		$(CC) $(CFLAGS) -c $(srcdir)/file_manip.c

truly_misc.o:	truly_misc.c
		$(CC) $(CFLAGS) -c $(srcdir)/truly_misc.c

build_keyboard.o:	build_keyboard.c
		$(CC) $(CFLAGS) -c $(srcdir)/build_keyboard.c

shortcuts.o:	shortcuts.c
		$(CC) $(CFLAGS) -c $(srcdir)/shortcuts.c

gtktext.o:	gtktext.c
		$(CC) $(CFLAGS) -c $(srcdir)/gtktext.c

callbacks.o:	callbacks.c
		$(CC) $(CFLAGS) -c $(srcdir)/callbacks.c

irxevent.o:	irxevent.c
		$(CC) $(CFLAGS) -c $(srcdir)/irxevent.c

html_mode.o:	html_mode.c
		$(CC) $(CFLAGS) -c $(srcdir)/html_mode.c

winselect.o:	winselect.c
		$(CC) $(WEIRDONLY) $(CFLAGS) -c $(srcdir)/winselect.c

misc_cursor.o:	misc_cursor.c
		$(CC) $(CFLAGS) -c $(srcdir)/misc_cursor.c

doc:		
		$(LATEX) MANUAL.tex || $(DVIPS) -o MANUAL.ps MANUAL.dvi || $(LATEX2HTML) -dir $(srcdir)/documentation MANUAL.tex

ui.o:		ui.c
		$(CC) $(CFLAGS) -c $(srcdir)/ui.c

app.o:		app.c
		$(CC) $(CFLAGS) -DINSTALL_DOC_DIR=\"$(DOCDIR)\" \
		-DOS_TYPE=\"$(OS_TYPE)\" -DARCH_TYPE=\"$(ARCH_TYPE)\" \
		-c $(srcdir)/app.c	

config.h:	config.status
		./config.status

makeshift.h:	config.status
		./config.status

proggie:	main handlers
		$(CC) $(LDFLAGS) -o proggie handlers.o main.o

clean:
		$(RM) -f *.o $(OTHERS) core a.out proggie
		$(TILDE) 
		$(RM) -f foo/*.a xpmgen
		$(RM) -f $(EXTRA_DOCFILES)
		cd libwcomp ; make clean ; cd ..

restore:	clean
		$(RM) -f $(srcdir)/$(BINARY)
		$(RM) -f $(srcdir)*.log $(srcdir)/*.aux $(srcdir)/*.dvi $(srcdir)/*.toc

distclean:	restore
		$(RM) -f config.status
		$(RM) -f Makefile config.cache config.log \
			stamp-h[0-9]* stamp-h config.h

install:	
		@echo Installing gtkeyboard binaries...
		$(MKDIR) -p $(bindir)
		$(INSTALL) -s $(BINARY) $(bindir)
		$(INSTALL) Misc/gtkeyboard-create-cache-file $(bindir)
		@echo Installing Support files...
		$(INSTALL) -m 644 $(SUPPORT_FILES) $(bindir)
		$(MKDIR) -p $(DOCDIR)/example_configurations
		$(MKDIR) -p $(DOCDIR)/manual-html
		$(CP) -r $(srcdir)/documentation/* $(DOCDIR)/manual-html
		$(CP) $(srcdir)/MANUAL.tex $(DOCDIR)
		$(MKDIR) -p $(PREFIX)/man/man1
		$(CP) $(srcdir)/CONFIG/* $(DOCDIR)/example_configurations/
		@echo Installing keyboard files...
		$(INSTALL) -m 644 KEY/IT.key                 $(DOCDIR)
		$(INSTALL) -m 644 KEY/UK.key                 $(DOCDIR)
		$(INSTALL) -m 644 KEY/QWERTY.key             $(DOCDIR)
		$(INSTALL) -m 644 KEY/FR.key                 $(DOCDIR)
		$(INSTALL) -m 644 KEY/DE.key                 $(DOCDIR)
		$(INSTALL) -m 644 KEY/CH.key		     $(DOCDIR)
		$(INSTALL) -m 644 KEY/OPTI.key               $(DOCDIR)
		$(INSTALL) -m 644 KEY/ES.key                 $(DOCDIR)
		$(INSTALL) -m 644 KEY/FI.key                 $(DOCDIR)
		$(INSTALL) -m 644 KEY/RU.key                 $(DOCDIR)
		$(MKDIR) -p $(DOCDIR)/cache/
		$(INSTALL) -m 644 Misc/gnu-gpl.cache $(DOCDIR)/cache
		$(INSTALL) -m 644 Misc/general-english.cache $(DOCDIR)/cache
		$(INSTALL) -m 644 Misc/larry-wall-quotes.cache $(DOCDIR)/cache
		@echo Installing documentation...
		$(INSTALL) -m 644 gtkeyboard.1 $(PREFIX)/man/man1
		$(INSTALL) -m 644 $(SUPPORT_FILES)    $(DOCDIR)
		$(INSTALL) -m 644 $(COMPILING) $(DOCDIR)
		$(INSTALL) -m 644 $(README)    $(DOCDIR)
		$(INSTALL) -m 644 $(COPYING)   $(DOCDIR)
		$(INSTALL) -m 664 $(TODO)      $(DOCDIR)
		$(INSTALL) -m 644 $(BUGS)      $(DOCDIR)
		$(INSTALL) -m 644 $(AUTHORS)   $(DOCDIR)
		$(INSTALL) -m 644 $(CHANGELOG) $(DOCDIR)
		@echo Finished installing.

# I'm providing an uninstall target since I hate it when programs don't do
# this for you.  :)
uninstall:
		$(RM) -f $(bindir)/$(BINARY)
		$(RM) -rf $(DOCDIR)    # Eliminate everything over there.
		$(RM) -f $(bindir)/$(SUPPORT_FILES)

autogen:
		aclocal ; autoheader ; automake ; autoconf ; ls -l * > MANIFEST

clear:		
		clear
obscure:
		@echo This target is only good for building static binaries
		@echo And may not work on your system depending on where
		@echo your libraries are located.
		$(CP) /usr/lib/libgtk.a foo/ 
		$(CP) /usr/lib/libgdk.a foo/
		$(CP) /usr/lib/libglib.a foo/
		$(CP) /usr/X11R6/lib/libXmu.a foo/
		# Comment out the following line if you are not me.  :)
		# $(CP) /home/x/lib/libglib.a foo/

