# the most documentation you find in Makefile.am
# this file is just to demonstrate, how complex it is to
# write good Makefiles, if you don't use automake ;)

# export the variables, we're using
prefix		= @prefix@
exec_prefix	= @exec_prefix@
top_srcdir 	= @top_srcdir@
kde_appsdir 	= @kde_appsdir@
kde_cgidir 	= @kde_cgidir@
kde_confdir 	= @kde_confdir@
kde_datadir 	= @kde_datadir@
kde_htmldir 	= @kde_htmldir@
kde_icondir 	= @kde_icondir@
kde_locale 	= @kde_locale@
kde_mimedir 	= @kde_mimedir@
kde_minidir 	= @kde_minidir@
kde_toolbardir 	= @kde_toolbardir@
kde_wallpaperdir= @kde_wallpaperdir@
bindir		= @bindir@

all_includes	= @all_includes@
all_libraries	= @all_libraries@

MOC		= @MOC@
XGETTEXT	= @XGETTEXT@
CXX		= @CXX@
LDFLAGS		= @LDFLAGS@
CXXFLAGS	= @CXXFLAGS@
LIBSOCKET	= @LIBSOCKET@
INSTALL		= @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA 	= @INSTALL_DATA@
INSTALL_SCRIPT 	= @INSTALL_SCRIPT@   

# define some variables
mkinstalldirs	= $(SHELL) $(top_srcdir)/mkinstalldirs 
APPSDIR 	= $(kde_appsdir)/Utilities
INCLUDES	= $(all_includes)
TARGET		= khexdit
LIBS		= -lkfm -ltdeui -ltdecore -lqt -lX11 -lXext $(LIBSOCKET)
LDFLAGS		+= $(all_libraries)

# rules to make .o files
.SUFFIXES: .cpp
.cpp.o:
	$(CXX) $(CXXFLAGS) $(DEFS) $(INCLUDES) -c $< 

OBJECTS = hexfile.o hexwidget.o
SRCMOCS = hexwidget.moc hexfile.moc

all: $(TARGET)

$(TARGET): $(SRCMOCS) $(OBJECTS) 
	$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS)

# recreate the Makefile
Makefile: Makefile.in
	cd .. && CONFIG_FILES=khexdit/$@ CONFIG_HEADERS= $(SHELL) ./config.status

install: install-data install-exec

# make messages.po. Move this one to ../po/ and "make merge" in po
messages:
	$(XGETTEXT) -C -ktranslate *.cpp

install-exec: $(TARGET)
	$(mkinstalldirs) $(bindir)
	$(INSTALL_PROGRAM) $(TARGET) $(bindir)

install-data: 
	(cd doc && $(MAKE) install-data)
	$(mkinstalldirs) $(APPSDIR)
	$(INSTALL_DATA) khexdit.kdelnk $(APPSDIR)
	$(mkinstalldirs) $(kde_icondir)
	$(INSTALL_DATA) khexdit.xpm $(kde_icondir)
	$(mkinstalldirs) $(kde_minidir)
	$(INSTALL_DATA) mini-khexdit.xpm $(kde_minidir)/khexdit.xpm

uninstall:
	(cd doc && $(MAKE) uninstall)
	-rm -f $(bindir)/$(TARGET)
	-rm -f $(APPSDIR)/khexdit.kdelnk
	-rm -f $(kde_icondir)/khexdit.xpm
	-rm -f $(kde_minidir)/khexdit.xpm

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

distclean: clean
	-rm -f Makefile $(SRCMOCS)

# add a dependcy for all moc files to help some FreeBSD users ;)
hexwidget.moc: hexwidget.h
	$(MOC) hexwidget.h -o hexwidget.moc

hexfile.moc: hexfile.h
	$(MOC) hexfile.h -o hexfile.moc