#
-# wxGTK main source makefile
+# wxWindows/Unix main source makefile
#
# Copyright 1998, Markus Holzhem and Robert Roebling
#
-# wxGTK base directory
+# wxWindows base directory
WXBASEDIR=@WXBASEDIR@
# set the OS type for compilation
# compile a library only
RULE=gslib
-# define common stuff
-
-# needed for unactivated
-NONE =
-
-# define library name
-LIB_TARGET=wx_gtk
-LIB_MAJOR=1
-LIB_MINOR=90
-
-# define library sources
-
-LIB_CPP_SRC=\
-\
- common/cmndata.cpp \
- common/config.cpp \
- common/date.cpp \
- common/docmdi.cpp \
- common/docview.cpp \
- common/dynarray.cpp \
- common/event.cpp \
- common/file.cpp \
- common/fileconf.cpp \
- common/filefn.cpp \
- common/gdicmn.cpp \
- common/hash.cpp \
- common/helpbase.cpp \
- common/intl.cpp \
- common/ipcbase.cpp \
- common/layout.cpp \
- common/list.cpp \
- common/log.cpp \
- common/matrix.cpp \
- common/memory.cpp \
- common/module.cpp \
- common/object.cpp \
- common/odbc.cpp \
- common/postscrp.cpp \
- common/prntbase.cpp \
- common/string.cpp \
- common/textfile.cpp \
- common/time.cpp \
- common/timercmn.cpp \
- common/utilscmn.cpp \
- common/wincmn.cpp \
- common/framecmn.cpp \
- common/stream.cpp \
- common/datstrm.cpp \
- common/fstream.cpp \
- common/mstream.cpp \
- common/zstream.cpp \
- common/objstrm.cpp \
- common/framecmn.cpp \
- common/wincmn.cpp \
-\
- gtk/app.cpp \
- gtk/bitmap.cpp \
- gtk/brush.cpp \
- gtk/button.cpp \
- gtk/checkbox.cpp \
- gtk/choice.cpp \
- gtk/colour.cpp \
- gtk/control.cpp \
- gtk/combobox.cpp \
- gtk/cursor.cpp \
- gtk/data.cpp \
- gtk/dc.cpp \
- gtk/dcclient.cpp \
- gtk/dcmemory.cpp \
- gtk/dcscreen.cpp \
- gtk/dnd.cpp \
- gtk/dialog.cpp \
- gtk/filedlg.cpp \
- gtk/font.cpp \
- gtk/frame.cpp \
- gtk/gauge.cpp \
- gtk/gdiobj.cpp \
- gtk/icon.cpp \
- gtk/listbox.cpp \
- gtk/mdi.cpp \
- gtk/menu.cpp \
- gtk/notebook.cpp \
- gtk/palette.cpp \
- gtk/pen.cpp \
- gtk/radiobox.cpp \
- gtk/radiobut.cpp \
- gtk/region.cpp \
- gtk/scrolbar.cpp \
- gtk/settings.cpp \
- gtk/slider.cpp \
- gtk/statbox.cpp \
- gtk/stattext.cpp \
- gtk/tbargtk.cpp \
- gtk/textctrl.cpp \
- gtk/timer.cpp \
- gtk/utilsgtk.cpp \
- gtk/utilsres.cpp \
- gtk/window.cpp \
- @GTK_JOYSTICK@ \
- @UNIX_THREAD@ \
-\
- generic/choicdgg.cpp \
- generic/colrdlgg.cpp \
- generic/fontdlgg.cpp \
- generic/gridg.cpp \
- generic/imaglist.cpp \
- generic/listctrl.cpp \
- generic/msgdlgg.cpp \
- generic/panelg.cpp \
- generic/printps.cpp \
- generic/prntdlgg.cpp \
- generic/scrolwin.cpp \
- generic/splitter.cpp \
- generic/statusbr.cpp \
- generic/tabg.cpp \
- generic/textdlgg.cpp \
- generic/treectrl.cpp
-
-# common/dynlib.cpp Disabled until I write support for DLL on all platforms
-
-LIB_C_SRC=\
- common/extended.c \
-\
- gtk/win_gtk.c \
-\
+# define source file for odbc
+IODBC_C_SRC=\
+ iodbc/catalog.c \
+ iodbc/connect.c \
+ iodbc/dlf.c \
+ iodbc/dlproc.c \
+ iodbc/execute.c \
+ iodbc/fetch.c \
+ iodbc/hdbc.c \
+ iodbc/henv.c \
+ iodbc/herr.c \
+ iodbc/hstmt.c \
+ iodbc/info.c \
+ iodbc/itrace.c \
+ iodbc/misc.c \
+ iodbc/prepare.c \
+ iodbc/result.c
+
+# define source file for png
+PNG_C_SRC=\
png/png.c \
png/pngset.c \
png/pngget.c \
png/pngwtran.c \
png/pngmem.c \
png/pngerror.c \
- png/pngpread.c \
-\
+ png/pngpread.c
+
+# define source file for zlib
+Z_C_SRC=\
zlib/adler32.c \
zlib/compress.c \
zlib/crc32.c \
zlib/inftrees.c \
zlib/infcodes.c \
zlib/infutil.c \
- zlib/inffast.c \
-\
- gdk_imlib/cache.c \
- gdk_imlib/colors.c \
- gdk_imlib/globals.c \
- gdk_imlib/load.c \
- gdk_imlib/misc.c \
- gdk_imlib/rend.c \
- gdk_imlib/save.c \
- gdk_imlib/utils.c \
-\
- iodbc/dlf.c \
- iodbc/dlproc.c \
- iodbc/herr.c \
- iodbc/henv.c \
- iodbc/hdbc.c \
- iodbc/hstmt.c \
- iodbc/connect.c \
- iodbc/prepare.c \
- iodbc/result.c \
- iodbc/execute.c \
- iodbc/fetch.c \
- iodbc/info.c \
- iodbc/catalog.c \
- iodbc/misc.c \
- iodbc/itrace.c
+ zlib/inffast.c
+# include gtk.inc, qt.inc or motif.inc here
+include @MAKEINCLUDE@
+
+# determine library names
+STATIC_LIBRARY=lib$(LIB_TARGET).a
+SHARED_LIBRARY=lib$(LIB_TARGET).so.$(LIB_MAJOR).$(LIB_MINOR)
+
+LIB_CPP_ALL_SRC=$(LIB_CPP_SRC) @UNIX_THREAD@
+# @GTK_JOYSTICK@
+
+LIB_C_ALL_SRC=$(LIB_C_SRC) @IODBC_C_SRC@ @PNG_C_SRC@ @Z_C_SRC@ parser.c
+
#define library objects
LIB_OBJ=\
- $(LIB_CPP_SRC:.cpp=.o) \
- $(LIB_C_SRC:.c=.o)
+ $(LIB_CPP_ALL_SRC:.cpp=.o) \
+ $(LIB_C_ALL_SRC:.c=.o)
all::
- -../mkdirs
+ @if test ! -d gtk; then mkdir gtk; fi
+ @if test ! -d qt; then mkdir qt; fi
+ @if test ! -d motif; then mkdir motif; fi
+ @if test ! -d motif/xmcombo; then mkdir motif/xmcombo; fi
+ @if test ! -d common; then mkdir common; fi
+ @if test ! -d generic; then mkdir generic; fi
+ @if test ! -d png; then mkdir png; fi
+ @if test ! -d zlib; then mkdir zlib; fi
+ @if test ! -d iodbc; then mkdir iodbc; fi
+install::
+ @echo " "
+ @echo "Installing library files and headers.."
+ @echo " "
+ @echo " Creating directories.."
+ @$(WXBASEDIR)/mkinstalldirs \
+ $(includedir)/wx \
+ $(includedir)/wx/gtk \
+ $(includedir)/wx/motif \
+ $(includedir)/wx/common \
+ $(includedir)/wx/generic \
+ $(includedir)/wx/protocol \
+ $(libdir)/wx/include/wx/gtk \
+ $(libdir) \
+ $(bindir)
+ @echo " Copying headers from /include/wx"
+ @cd $(WXBASEDIR)/include/wx ; \
+ $(INSTALL) -d $(includedir)/wx ; \
+ for f in *.h ; do \
+ rm -f $(includedir)/wx/$$f ; \
+ $(INSTALL_DATA) $$f $(includedir)/wx/$$f ; \
+ done ; \
+ for f in *.cpp ; do \
+ rm -f $(includedir)/wx/$$f ; \
+ $(INSTALL_DATA) $$f $(includedir)/wx/$$f ; \
+ done
+ @if test "@TOOLKIT@" = "GTK" ; then \
+ echo " Copying headers from /include/wx/gtk" ; \
+ cd $(WXBASEDIR)/include/wx/gtk ; \
+ $(INSTALL) -d $(includedir)/wx/gtk ; \
+ for f in *.h ; do \
+ rm -f $(includedir)/wx/gtk/$$f ; \
+ $(INSTALL_DATA) $$f $(includedir)/wx/gtk/$$f ; \
+ done ; \
+ fi
+ @if test "@TOOLKIT@" = "MOTIF" ; then \
+ echo " Copying headers from /include/wx/motif" ; \
+ cd $(WXBASEDIR)/include/wx/motif ; \
+ $(INSTALL) -d $(includedir)/wx/motif ; \
+ for f in *.h ; do \
+ rm -f $(includedir)/wx/motif/$$f ; \
+ $(INSTALL_DATA) $$f $(includedir)/wx/motif/$$f ; \
+ done ; \
+ fi
+ @echo " Copying headers from /include/wx/generic"
+ @cd $(WXBASEDIR)/include/wx/generic ; \
+ $(INSTALL) -d $(includedir)/wx/generic ; \
+ for f in *.h ; do \
+ rm -f $(includedir)/wx/generic/$$f ; \
+ $(INSTALL_DATA) $$f $(includedir)/wx/generic/$$f ; \
+ done
+ @echo " Copying headers from /include/wx/protocol"
+ @cd $(WXBASEDIR)/include/wx/protocol ; \
+ for f in *.h ; do \
+ rm -f $(includedir)/wx/protocol/$$f ; \
+ $(INSTALL_DATA) $$f $(includedir)/wx/protocol/$$f ; \
+ done
+ @echo " Moving setup.h to library path"
+ @if test "@TOOLKIT@" = "GTK" ; then \
+ cd $(WXBASEDIR)/src ; \
+ $(INSTALL) -d $(libdir)/wx/include/wx/gtk ; \
+ mv $(includedir)/wx/gtk/setup.h $(libdir)/wx/include/wx/gtk/setup.h ; \
+ fi
+ @if test "@TOOLKIT@" = "MOTIF" ; then \
+ cd $(WXBASEDIR)/src ; \
+ $(INSTALL) -d $(libdir)/wx/include/wx/motif ; \
+ mv $(includedir)/wx/motif/setup.h $(libdir)/wx/include/wx/motif/setup.h ; \
+ fi
+ @echo " Copying wx-config"
+ @cd $(WXBASEDIR)/src ; \
+ $(INSTALL) -d $(bindir) ; \
+ rm -f $(bindir)/wx-config ; \
+ $(INSTALL_PROGRAM) $(WXBASEDIR)/wx-config $(bindir)/wx-config
+ @echo " Copying static library"
+ @cd $(WXBASEDIR)/src ; \
+ rm -f $(libdir)/$(STATIC_LIBRARY) ; \
+ $(INSTALL_DATA) $(WXBASEDIR)/lib/$(OS)/$(STATIC_LIBRARY) $(libdir)/$(STATIC_LIBRARY)
+ @if test -f $(WXBASEDIR)/lib/$(OS)/$(SHARED_LIBRARY) ; then \
+ echo " Copying shared library" ; \
+ rm -f $(libdir)/lib$(LIB_TARGET).so* ; \
+ $(INSTALL_PROGRAM) $(WXBASEDIR)/lib/$(OS)/$(SHARED_LIBRARY) $(libdir)/$(SHARED_LIBRARY) ; \
+ $(LN_S) $(SHARED_LIBRARY) $(libdir)/lib$(LIB_TARGET).so.$(LIB_MAJOR) ; \
+ $(LN_S) $(SHARED_LIBRARY) $(libdir)/lib$(LIB_TARGET).so ; \
+ echo " " ; \
+ echo " You may have to run ldconfig!" ; \
+ echo " " ; \
+ fi
+ @echo " "
+ @echo "Installation complete."
+ @echo " "
+
clean::
$(RM) -rf gtk
+ $(RM) -rf qt
+ $(RM) -rf motif
$(RM) -rf common
$(RM) -rf generic
$(RM) -rf png
$(RM) -rf zlib
- $(RM) -rf gdk_imlib
$(RM) -rf iodbc
+ @$(RM) lexer.c parser.c
#additional things needed for compile
-ADD_COMPILE= \
- -DHAVE_LIBPNG -DDJPEG_PROG=\"\" -DCJPEG_PROG=\"\"
+ADD_COMPILE=
# include the definitions now
include ../../template.mak
+
+# things for the prolog stuff
+
+parser.c: ../common/parser.y lexer.c
+ @if test ! -f parser.y; then \
+ cp -f ../common/parser.y . ; \
+ fi
+ @$(YACC) parser.y
+ @sed -e "s/y.tab.c/parser.y/g" < y.tab.c | \
+ sed -e "s/BUFSIZ/5000/g" | \
+ sed -e "s/YYLMAX 200/YYLMAX 5000/g" | \
+ sed -e "s/yy/PROIO_yy/g" | \
+ sed -e "s/input/PROIO_input/g" | \
+ sed -e "s/unput/PROIO_unput/g" > parser.c
+ @$(RM) y.tab.c
+ @$(RM) parser.y
+
+lexer.c: ../common/lexer.l
+ @if test ! -f lexer.l; then \
+ cp -f ../common/lexer.l . ;\
+ fi
+ @$(LEX) lexer.l
+ @sed -e "s/lex.yy.c/lexer.l/g" < lex.yy.c | \
+ sed -e "s/yy/PROIO_yy/g" | \
+ sed -e "s/input/PROIO_input/g" | \
+ sed -e "s/unput/PROIO_unput/g" > lexer.c
+ @$(RM) lex.yy.c
+ @$(RM) lexer.l
+
+clean::
+