
include ../Makefile.common
include ../Makefile.dirs
include ../Makefile.config

CNF=qconfig/
INCDIR+=-I$(CNF)

ifdef KDE3
KDELINK=-lkio -lkdeui 
else
KDELINK=-lkfile -lkdeui 
endif

ifdef TEMAS_EXTRA
FLAGS_CONF+=-DTEMAS_EXTRA
O_TEMAS=themes/metal.o themes/wood.o
endif

ifdef NO_LIBBAB
O_BABY=
FLAGS_CONF+=-DNO_LIBBAB
else
O_BABY=libbab/libbab.o libbab/hebrew.o
endif

ifdef USA_WIZARD
FLAGS_CONF+=-DUSE_WIZARD
WIZARDS=wizard_dictionary.o wizard_babylon.o wizard_manager.o wizard.o
else
WIZARDS=
endif

#QConfig
QCONFIG=$(CNF)appconf.o $(CNF)SimpleConfig.o $(CNF)QConfig.o

KDEUI=kdeui/kdialog.o kdeui/kdialogbase.o kdeui/kjanuswidget.o \
      kdeui/kseparator.o kdeui/kurllabel.o kdeui/kcolorbutton.o

CUESTIONARIO=QCuestionario.o QCuestionario.moc.o

QOBJS = DiccionarioBase.o QTextDiccionario.o QBabyDiccionario.o \
	QDictDiccionario.o QDiccionarios.o urlmanager.o salidas.o \
	$(O_BABY) qfunciones.o qdialogos.o QMainWidget.o \
	aprender.o \
	QClipper.o QSimpleTextBrowser.o \
	textPrefs.o \
	descEdit.o \
	dictPrefs.o \
	QEditaDiccionario.o \
	chooseDictType.o \
	setup.o $(WIZARDS) $(KDEUI) \
	acercade.o iconos.o \
	qbrowser/helpwindow.o presentacion.o \
	progress_gui.o miniwindow.o \
	QApplicationWindow.o intern.o

KOBJS =  DiccionarioBase.o QTextDiccionario.o QBabyDiccionario.o \
	QDictDiccionario.o QDiccionarios.o urlmanager.o salidas.o \
	$(O_BABY) qfunciones.o kdialogos.o QMainWidget.o \
	aprender.o \
	QClipper.o QSimpleTextBrowser.o \
	textPrefs.o \
	descEdit.o \
	dictPrefs.o \
	QEditaDiccionario.o \
	chooseDictType.o \
	ksetup.o $(WIZARDS) \
	acercade.o iconos.o \
	qbrowser/khelpwindow.o \
	presentacion.o progress_gui.o miniwindow.o \
	misystemtray.o KApplicationWindow.o kintern.o dcop/kde_interface.o

#all: wordtrans qwordtrans idp2text
all: qwordtrans

wordtrans: Makefile DiccionarioBase.o QTextDiccionario.o QBabyDiccionario.o \
		QDictDiccionario.o QDiccionarios.o qfunciones.o $(O_BABY) \
		salidas.o intern.o progress_nogui.o text_main.o $(QCONFIG)
	$(COMP) -o wordtrans $(CFLAGS) $(QT_LIB) $(QTLINK) $(FRIBIDI_LINKS) \
		DiccionarioBase.o QTextDiccionario.o QBabyDiccionario.o \
		QDictDiccionario.o QDiccionarios.o $(O_BABY) \
		salidas.o qfunciones.o intern.o progress_nogui.o \
        text_main.o $(QCONFIG) $(FRIBIDI_STATIC)

wordtrans_static: Makefile DiccionarioBase.o QTextDiccionario.o QBabyDiccionario.o \
		QDictDiccionario.o QDiccionarios.o qfunciones.o $(O_BABY) \
		salidas.o intern.o progress_nogui.o text_main.o $(QCONFIG)
	$(COMP) -o wordtrans_static $(CFLAGS) $(QT_LIB) -L/usr/X11R6/lib -lX11 \
		-lpng -lstdc++ -lXext -lSM -lmng -ljpeg \
		DiccionarioBase.o QTextDiccionario.o QBabyDiccionario.o \
		QDictDiccionario.o QDiccionarios.o $(O_BABY) \
		salidas.o qfunciones.o intern.o progress_nogui.o \
        text_main.o $(QCONFIG) /usr/lib/libqt.a

qwordtrans: Makefile $(QOBJS) main.o $(QCONFIG) $(O_TEMAS)
	$(COMP) -o qwordtrans $(CFLAGS) $(QT_LIB) $(QTLINK) $(FRIBIDI_LINKS) \
		$(QOBJS) main.o $(QCONFIG) $(O_TEMAS) $(FRIBIDI_STATIC)

kwordtrans: Makefile $(KOBJS) kmain.o $(QCONFIG)
	$(COMP) -o kwordtrans $(CFLAGS) $(QT_LIB) $(KDE_LIB) $(QTLINK) -lkdecore \
        $(KDELINK) $(FRIBIDI_LINKS) \
		$(KOBJS) kmain.o $(QCONFIG) $(FRIBIDI_STATIC)


# idp2text
# Conversor del formato IDP al del i2e
idp2text: Makefile libidp.o idp2text.o
	$(COMP) -o idp2text $(CFLAGS) -lstdc++ libidp.o idp2text.o


#Static
qwordtrans_static: Makefile $(QOBJS) main.o $(QCONFIG)
	$(COMP) -o qwordtrans_static $(CFLAGS) $(QT_LIB) \
        -L/usr/X11R6/lib -lX11 \
        -lpng -ljpeg -lmng -lstdc++ -lXext -lXft -lSM \
        $(QOBJS) main.o $(QCONFIG) /usr/lib/libqt.a $(FRIBIDI_STATIC)


QMainWidget.o: QMainWidget.h QMainWidget.cpp QMainWidget.moc.cpp
aprender.o: aprender.h aprender.cpp aprender.moc.cpp \
            aprenderData.h aprenderData.cpp aprenderData.moc.cpp

QAClipProp.o: QAClipProp.h QAClipProp.cpp QAClipProp.moc.cpp
QAClipPropData.o: QAClipPropData.h QAClipPropData.cpp

QClipper.o: QClipper.h QClipper.cpp QClipper.moc.cpp

textPrefs.o: textPrefs.h textPrefs.cpp textPrefs.moc.cpp \
             textPrefsData.h textPrefsData.cpp textPrefsData.moc.cpp

dictPrefs.o: dictPrefs.h dictPrefs.cpp dictPrefs.moc.cpp \
             dictPrefsData.h dictPrefsData.cpp dictPrefsData.moc.cpp

descEdit.o: descEdit.h descEdit.cpp descEdit.moc.cpp \
            descEditData.h descEditData.cpp descEditData.moc.cpp

QEditaDiccionario.o: QEditaDiccionario.h QEditaDiccionario.cpp QEditaDiccionario.moc.cpp

#QADictEdit.o: QADictEdit.h QADictEdit.cpp
#QADictEditData.o: QADictEditData.h QADictEditData.cpp

QAEditBrowser.o: QAEditBrowser.h QAEditBrowser.cpp
QAEditBrowserData.o: QAEditBrowserData.h QAEditBrowserData.cpp

chooseDictType.o: chooseDictType.h chooseDictType.cpp chooseDictType.moc.cpp \
                  chooseDictTypeData.h chooseDictTypeData.cpp \
                  chooseDictTypeData.moc.cpp

acercade.o: acercade.h acercade.cpp acercade.moc.cpp \
            acercadeData.h acercadeData.cpp acercadeData.moc.cpp

QCuestionario.o: QCuestionario.h QCuestionario.cpp
QCuestionarioData.o: QCuestionarioData.h QCuestionarioData.cpp

setup.o: setup.h setup.cpp setup.moc.cpp
ksetup.o: setup.h setup.cpp setup.moc.cpp ksetup.cpp

iconos.o: iconos.h iconos.cpp
salidas.o: salidas.h salidas.cpp

QApplicationWindow.o: QApplicationWindow.h QApplicationWindow.cpp \
                      QApplicationWindow.moc.cpp

KApplicationWindow.o: KApplicationWindow.h KApplicationWindow.cpp \
                      QApplicationWindow.h QApplicationWindow.cpp \
                      KApplicationWindow.moc.cpp

#Genera automticamente KApplicationWindow.h
KApplicationWindow.h: QApplicationWindow.h
	cp QApplicationWindow.h KApplicationWindow.h
	patch -p0 KApplicationWindow.h < KApplicationWindow.parche


QSimpleTextBrowser.o: QSimpleTextBrowser.h QSimpleTextBrowser.cpp \
                      QSimpleTextBrowser.moc.cpp

qdialogos.o: qdialogos.h qdialogos.cpp
kdialogos.o: qdialogos.h qdialogos.cpp kdialogos.cpp

intern.o: intern.h intern.cpp
kintern.o: kintern.cpp intern.h intern.cpp

presentacion.o: presentacion.h presentacion.cpp

miniwindow.o: miniwindow.h miniwindow.cpp miniwindow.moc.cpp

main.o : no-gui.cpp main.cpp

kmain.o: no-gui.cpp main.cpp kmain.cpp

dcop/kde_interface.o: dcop/kde_interface.h dcop/kde_interface.cpp
	cd dcop && make kde_interface.o

misystemtray.o: misystemtray.h misystemtray.cpp misystemtray.moc.cpp

DiccionarioBase.o: DiccionarioBase.h DiccionarioBase.cpp
QTextDiccionario.o: QTextDiccionario.h QTextDiccionario.cpp
QBabyDiccionario.o: QBabyDiccionario.h QBabyDiccionario.cpp
QDictDiccionario.o: QDictDiccionario.h QDictDiccionario.cpp
QDiccionarios.o: QDiccionarios.h QDiccionarios.cpp

progress_nogui.o: progress.h progress_nogui.cpp
progress_gui.o: progress.h progress_gui.cpp

text_main.o: no-gui.cpp text_main.cpp

urlmanager.o: urlmanager.h urlmanager.cpp urlmanager.moc.cpp

pixmaps.o: pixmaps.h pixmaps.cpp

#Wizards
wizard_dictionary.o: wizard_dictionary.h wizard_dictionary.cpp wizard_dictionary.moc.cpp
wizard_babylon.o: wizard_babylon.h wizard_babylon.cpp wizard_babylon.moc.cpp
wizard_manager.o: wizard_manager.h wizard_manager.cpp wizard_manager.moc.cpp

wizard.o: wizard.h wizard.cpp \
          wizard_page1.h wizard_page1.cpp \
          wizard_page1Data.h wizard_page1Data.cpp \
          wizard_page2.h wizard_page2.cpp \
          wizard_page2Data.h wizard_page2Data.cpp \
          wizard.moc.cpp wizard_page1.moc.cpp wizard_page1Data.moc.cpp \
          wizard_page2.moc.cpp wizard_page2Data.moc.cpp

libbab/libbab.o: libbab/libbab.h libbab/libbab.cc
	cd libbab && make libbab.o

libbab/hebrew.o: libbab/hebrew.h libbab/hebrew.cc
	cd libbab && make hebrew.o

#QCONFIG
$(CNF)appconf.o:
	cd qconfig && make objects

$(CNF)SimpleConfig.o:
	cd qconfig && make objects

$(CNF)QConfig.o:
	cd qconfig && make objects

#KDEUI
kdeui/kdialog.o: kdeui/kdialog.h kdeui/kdialog.cpp
	cd kdeui && make objects

kdeui/kdialogbase.o: kdeui/kdialogbase.h kdeui/kdialogbase.cpp
	cd kdeui && make objects

kdeui/kjanuswidget.o: kdeui/kjanuswidget.h kdeui/kjanuswidget.cpp
	cd kdeui && make objects

kdeui/kseparator.o: kdeui/kseparator.h kdeui/kseparator.cpp
	cd kdeui && make objects

kdeui/kurllabel.o: kdeui/kurllabel.h kdeui/kurllabel.cpp
	cd kdeui && make objects

# QBROWSER
qbrowser/helpwindow.o: qbrowser/helpwindow.h qbrowser/helpwindow.cpp
	cd qbrowser && make helpwindow.o

qbrowser/khelpwindow.o: qbrowser/helpwindow.h qbrowser/helpwindow.cpp \
                        qbrowser/khelpwindow.h qbrowser/khelpwindow.cpp
	cd qbrowser && make khelpwindow.o

#Temas QT2
themes/metal.o: themes/metal.h themes/metal.cpp
themes/wood.o: themes/wood.h themes/wood.cpp

install: install_text install_qt install_kde

install_text:
	-install -d $(DESTDIR)/usr/bin/
#	install -s wordtrans $(DESTDIR)/usr/bin/
	install wordtrans-script.sh $(DESTDIR)/usr/bin/wordtrans
#	install -s idp2text $(DESTDIR)/usr/bin/

install_qt: qwordtrans
	-install -d $(DESTDIR)/usr/bin/
	install -s qwordtrans $(DESTDIR)/usr/bin/

install_kde: kwordtrans
	-install -d $(DESTDIR)/usr/X11R6/bin/
	install -s kwordtrans $(DESTDIR)/usr/bin/
	-install -d $(DESTDIR)/usr/share/icons/locolor/32x32/apps/
	install -m 644 pixmaps/qi2e.xpm $(DESTDIR)/usr/share/icons/locolor/32x32/apps/kwordtrans.xpm
	-install -d $(DESTDIR)/usr/share/icons/locolor/16x16/apps/
	install -m 644 pixmaps/qwordtrans.xpm $(DESTDIR)/usr/share/icons/locolor/16x16/apps/kwordtrans.xpm

	-install -d $(DESTDIR)/usr/share/icons/hicolor/32x32/apps/
	install -m 644 pixmaps/qi2e.xpm $(DESTDIR)/usr/share/icons/hicolor/32x32/apps/kwordtrans.xpm
	-install -d $(DESTDIR)/usr/share/icons/hicolor/16x16/apps/
	install -m 644 pixmaps/qwordtrans.xpm $(DESTDIR)/usr/share/icons/hicolor/16x16/apps/kwordtrans.xpm

	-install -d $(DESTDIR)/usr/share/applnk/Utilities/
	install -m 644 KWordtrans.desktop $(DESTDIR)/usr/share/applnk/Utilities/kwordtrans.desktop


clean:
	-rm *.o
	-rm *.moc.cpp
	-rm wordtrans
	-rm qwordtrans
	-rm kwordtrans
	-rm idp2text
	-rm qconfig/*.o
	-rm libbab/*.o
	-rm themes/*.o
	cd qbrowser && make clean
	cd kdeui && make clean
	cd dcop && make clean

mueve_objs:
	mv *.o /usr/local/source/temp/objs/
	mv *.moc.cpp /usr/local/source/temp/objs/
	mv qbrowser/*.o /usr/local/source/temp/objs/qbrowser/
	mv qbrowser/*.moc.cpp /usr/local/source/temp/objs/qbrowser/
	mv kdeui/*.moc.cpp /usr/local/source/temp/objs/kdeui/
	mv kdeui/*.o /usr/local/source/temp/objs/kdeui

recupera_objs:
	mv /usr/local/source/temp/objs/*.o .
	mv /usr/local/source/temp/objs/*.moc.cpp .
	mv /usr/local/source/temp/objs/qbrowser/*.o qbrowser/
	mv /usr/local/source/temp/objs/qbrowser/*.moc.cpp qbrowser/
	mv /usr/local/source/temp/objs/kdeui/*.o kdeui/
	mv /usr/local/source/temp/objs/kdeui/*.moc.cpp kdeui/

mueve_qt3objs:
	mv *.o /usr/local/source/temp/qt3/wordtrans_objs/
	mv *.moc.cpp /usr/local/source/temp/qt3/wordtrans_objs/
	mv kdeui/*.o /usr/local/source/temp/qt3/wordtrans_objs/kdeui/
	mv kdeui/*.moc.cpp /usr/local/source/temp/qt3/wordtrans_objs/kdeui/
	mv qbrowser/*.o /usr/local/source/temp/qt3/wordtrans_objs/qbrowser/
	mv qbrowser/*.moc.cpp /usr/local/source/temp/qt3/wordtrans_objs/qbrowser/

recupera_qt3objs:
	mv /usr/local/source/temp/qt3/wordtrans_objs/*.o .
	mv /usr/local/source/temp/qt3/wordtrans_objs/*.moc.cpp .
	mv /usr/local/source/temp/qt3/wordtrans_objs/kdeui/*.o kdeui/
	mv /usr/local/source/temp/qt3/wordtrans_objs/kdeui/*.moc.cpp kdeui/
	mv /usr/local/source/temp/qt3/wordtrans_objs/qbrowser/*.o qbrowser/
	mv /usr/local/source/temp/qt3/wordtrans_objs/qbrowser/*.moc.cpp qbrowser/
