]> git.saurik.com Git - wxWidgets.git/blobdiff - distrib/msw/tmake/unx.t
fixed mingw32 problem. Now correctly deals with egcs / <=gcc-2.8 issue.
[wxWidgets.git] / distrib / msw / tmake / unx.t
index 44b8c227b4cebf3e9180d385b6a132a8218ca426..5ad83d91a1b91b8a055c2efa659045e3edcecbd4 100644 (file)
@@ -6,7 +6,6 @@
 #! Created: 14.07.99
 #! Version: $Id$
 #!################################################################################
-
 #${
     #! include the code which parses filelist.txt file and initializes
     #! %wxCommon, %wxGeneric, %wxHtml, %wxUnix and %wxGTK hashes.
             next unless $file =~ /^dirdlgg\./;
         }
 
+        $file2 = $file;
         $file =~ s/cp?p?$/\o/;
-        $project{"WXMSW_GENERICOBJS"} .= "src/generic/" . $file . " "
+        $file2 =~ s/cp?p?$/\d/;
+        $project{"WXMSW_GENERICOBJS"} .= $file . " ";
+        $project{"WXMSW_GENERICDEPS"} .= $file2 . " "
     }
 
     foreach $file (sort keys %wxGeneric) {
+        #! skip generic files not required for the wxGTK port
         next if $wxGeneric{$file} =~ /\bR\b/;
 
+        $file2 = $file;
         $file =~ s/cp?p?$/\o/;
-        $project{"WXGTK_GENERICOBJS"} .= "src/generic/" . $file . " "
+        $file2 =~ s/cp?p?$/\d/;
+        $project{"WXGTK_GENERICOBJS"} .= $file . " ";
+        $project{"WXGTK_GENERICDEPS"} .= $file2 . " "
     }
 
     foreach $file (sort keys %wxGeneric) {
-        next if $wxCommon{$file} =~ /\bX\b/;
+        next if $wxGeneric{$file} =~ /\bX\b/;
 
+        $file2 = $file;
         $file =~ s/cp?p?$/\o/;
-        $project{"WXMOTIF_GENERICOBJS"} .= "src/generic/" . $file . " "
+        $file2 =~ s/cp?p?$/\d/;
+        $project{"WXMOTIF_GENERICOBJS"} .= $file . " ";
+        $project{"WXMOTIF_GENERICDEPS"} .= $file2 . " "
     }
 
     #! Common
     foreach $file (sort keys %wxCommon) {
         next if $wxCommon{$file} =~ /\bR\b/;
 
+        $file2 = $file;
         $file =~ s/cp?p?$/\o/;
-        $project{"WXGTK_COMMONOBJS"} .= "src/common/" . $file . " "
+        $file2 =~ s/cp?p?$/\d/;
+        $project{"WXGTK_COMMONOBJS"} .= $file . " ";
+        $project{"WXGTK_COMMONDEPS"} .= $file2 . " "
     }
 
     foreach $file (sort keys %wxCommon) {
         next if $wxCommon{$file} =~ /\bX\b/;
 
+        $file2 = $file;
         $file =~ s/cp?p?$/\o/;
-        $project{"WXMOTIF_COMMONOBJS"} .= "src/common/" . $file . " "
+        $file2 =~ s/cp?p?$/\d/;
+        $project{"WXMOTIF_COMMONOBJS"} .= $file . " ";
+        $project{"WXMOTIF_COMMONDEPS"} .= $file2 . " "
     }
 
     foreach $file (sort keys %wxCommon) {
         #! needs extra files (sql*.h) so not compiled by default.
         next if $file =~ /^odbc\./;
 
+        $file2 = $file;
         $file =~ s/cp?p?$/\o/;
-        $project{"WXMSW_COMMONOBJS"} .= "src/common/" . $file . " "
+        $file2 =~ s/cp?p?$/\d/;
+        $project{"WXMSW_COMMONOBJS"} .= $file . " ";
+        $project{"WXMSW_COMMONDEPS"} .= $file2 . " "
     }
 
     #! GUI
         #! native wxDirDlg can't be compiled due to GnuWin32/OLE limitations,
         next if $file =~ /^dirdlg\./;
 
+        $file2 = $file;
         $file =~ s/cp?p?$/\o/;
-        $project{"WXMSW_GUIOBJS"} .= "src/msw/" . $file . " "
+        $file2 =~ s/cp?p?$/\d/;
+        $project{"WXMSW_GUIOBJS"} .= $file . " ";
+        $project{"WXMSW_GUIDEPS"} .= $file2 . " "
     }
 
     foreach $file (sort keys %wxGTK) {
+        $file2 = $file;
         $file =~ s/cp?p?$/\o/;
-        $project{"WXGTK_GUIOBJS"} .= "src/gtk/" . $file . " "
+        $file2 =~ s/cp?p?$/\d/;
+        $project{"WXGTK_GUIOBJS"} .= $file . " ";
+        $project{"WXGTK_GUIDEPS"} .= $file2 . " "
     }
 
     foreach $file (sort keys %wxMOTIF) {
+        $file2 = $file;
         $file =~ s/cp?p?$/\o/;
-        $project{"WXMOTIF_GUIOBJS"} .= "src/motif/" . $file . " "
+        $file2 =~ s/cp?p?$/\d/;
+        $project{"WXMOTIF_GUIOBJS"} .= $file . " ";
+        $project{"WXMOTIF_GUIDEPS"} .= $file2 . " "
     }
 
     #! others
     
     foreach $file (sort keys %wxHTML) {
+        $file2 = $file;
         $file =~ s/cp?p?$/\o/;
-        $project{"WXHTMLOBJS"} .= "src/html/" . $file . " "
+        $file2 =~ s/cp?p?$/\d/;
+        $project{"WXHTMLOBJS"} .= $file . " ";
+        $project{"WXHTMLDEPS"} .= $file2 . " "
     }
 
     foreach $file (sort keys %wxUNIX) {
+        $file2 = $file;
         $file =~ s/cp?p?$/\o/;
-        $project{"WXUNIXOBJS"} .= "src/unix/" . $file . " "
+        $file2 =~ s/cp?p?$/\d/;
+        $project{"WXUNIXOBJS"} .= $file . " ";
+        $project{"WXUNIXDEPS"} .= $file2 . " "
     }
     
     #! headers
@@ -160,19 +193,29 @@ include ./src/make.env
 .SUFFIXES:     .o .cpp .c .cxx
 
 .c.o :
-       $(CCC) -c $(CFLAGS) $(PICFLAGS) -o $@ $<
+       $(CCC) -c @DEP_INFO_FLAGS@ $(CFLAGS) $(PICFLAGS) -o $@ $<
 
 .cpp.o :
-       $(CC) -c $(CPPFLAGS) $(PICFLAGS) -o $@ $<
+       $(CC) -c @DEP_INFO_FLAGS@ $(CPPFLAGS) $(PICFLAGS) -o $@ $<
 
 .cxx.o :
-       $(CC) -c $(CPPFLAGS) $(PICFLAGS) -o $@ $<
+       $(CC) -c @DEP_INFO_FLAGS@ $(CPPFLAGS) $(PICFLAGS) -o $@ $<
 
 ########################### Paths #################################
 
 srcdir = @srcdir@
 
-VPATH = :@top_srcdir@
+VP1 = @top_srcdir@/src/common
+VP2 = @top_srcdir@/src/@TOOLKIT_DIR@
+VP3 = @top_srcdir@/src/motif/xmcombo
+VP4 = @top_srcdir@/src/generic
+VP5 = @top_srcdir@/src/unix
+VP6 = @top_srcdir@/src/html
+VP7 = @top_srcdir@/src/png
+VP8 = @top_srcdir@/src/jpeg
+VP9 = @top_srcdir@/src/zlib
+
+VPATH = $(VP1):$(VP2):$(VP3):$(VP4):$(VP5):$(VP6):$(VP7):$(VP8):$(VP9)
 
 top_srcdir = @top_srcdir@
 prefix = @prefix@
@@ -202,7 +245,10 @@ top_builddir = .
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
+# my autoconf doesn't set this
+#INSTALL_SCRIPT = @INSTALL_SCRIPT@
+# maybe do an additional chmod if needed?
+INSTALL_SCRIPT = @INSTALL@ 
 transform = @program_transform_name@
 
 NORMAL_INSTALL = :
@@ -224,17 +270,19 @@ WXDIR = $(top_srcdir)
 
 # Subordinate library possibilities
 
-GENDIR  = $(WXDIR)/src/generic
-COMMDIR = $(WXDIR)/src/common
-HTMLDIR = $(WXDIR)/src/html
-UNIXDIR = $(WXDIR)/src/unix
-PNGDIR  = $(WXDIR)/src/png
-JPEGDIR = $(WXDIR)/src/jpeg
-ZLIBDIR = $(WXDIR)/src/zlib
-GTKDIR  = $(WXDIR)/src/gtk
+SRCDIR   = $(WXDIR)/src
+GENDIR   = $(WXDIR)/src/generic
+COMMDIR  = $(WXDIR)/src/common
+HTMLDIR  = $(WXDIR)/src/html
+UNIXDIR  = $(WXDIR)/src/unix
+PNGDIR   = $(WXDIR)/src/png
+JPEGDIR  = $(WXDIR)/src/jpeg
+ZLIBDIR  = $(WXDIR)/src/zlib
+GTKDIR   = $(WXDIR)/src/gtk
 MOTIFDIR = $(WXDIR)/src/motif
-MSWDIR = $(WXDIR)/src/msw
-INCDIR  = $(WXDIR)/include
+MSWDIR   = $(WXDIR)/src/msw
+INCDIR   = $(WXDIR)/include
+SAMPDIR  = $(WXDIR)/samples
 
 DOCDIR = $(WXDIR)/docs
 
@@ -272,168 +320,191 @@ HTML_HEADERS = \
 GTK_GENERICOBJS = \
                #$ ExpandList("WXGTK_GENERICOBJS");
 
+GTK_GENERICDEPS = \
+               #$ ExpandList("WXGTK_GENERICDEPS");
+
 GTK_COMMONOBJS = \
                parser.o \
                #$ ExpandList("WXGTK_COMMONOBJS");
 
+GTK_COMMONDEPS = \
+               parser.d \
+               #$ ExpandList("WXGTK_COMMONDEPS");
+
 GTK_GUIOBJS = \
                #$ ExpandList("WXGTK_GUIOBJS");
 
+GTK_GUIDEPS = \
+               #$ ExpandList("WXGTK_GUIDEPS");
+
 MOTIF_GENERICOBJS = \
                #$ ExpandList("WXMOTIF_GENERICOBJS");
 
+MOTIF_GENERICDEPS = \
+               #$ ExpandList("WXMOTIF_GENERICDEPS");
+
 MOTIF_COMMONOBJS = \
                parser.o \
                #$ ExpandList("WXMOTIF_COMMONOBJS");
 
+MOTIF_COMMONDEPS = \
+               parser.d \
+               #$ ExpandList("WXMOTIF_COMMONDEPS");
+
 MOTIF_GUIOBJS = \
-               src/motif/xmcombo/xmcombo.o \
+               xmcombo.o \
                #$ ExpandList("WXMOTIF_GUIOBJS");
 
+MOTIF_GUIDEPS = \
+               xmcombo.d \
+               #$ ExpandList("WXMOTIF_GUIDEPS");
+
 MSW_GENERICOBJS = \
                #$ ExpandList("WXMSW_GENERICOBJS");
 
+MSW_GENERICDEPS = \
+               #$ ExpandList("WXMSW_GENERICDEPS");
+
 MSW_COMMONOBJS = \
+               parser.o \
                #$ ExpandList("WXMSW_COMMONOBJS");
 
+MSW_COMMONDEPS = \
+               parser.d \
+               #$ ExpandList("WXMSW_COMMONDEPS");
+
 MSW_GUIOBJS = \
                #$ ExpandList("WXMSW_GUIOBJS");
 
+MSW_GUIDEPS = \
+               #$ ExpandList("WXMSW_GUIDEPS");
+
 HTMLOBJS = \
                #$ ExpandList("WXHTMLOBJS");
 
+HTMLDEPS = \
+               #$ ExpandList("WXHTMLDEPS");
+
 UNIXOBJS = \
                #$ ExpandList("WXUNIXOBJS");
 
+UNIXDEPS = \
+               #$ ExpandList("WXUNIXDEPS");
+
 ZLIBOBJS    = \
-               src/zlib/adler32.o \
-               src/zlib/compress.o \
-               src/zlib/crc32.o \
-               src/zlib/gzio.o \
-               src/zlib/uncompr.o \
-               src/zlib/deflate.o \
-               src/zlib/trees.o \
-               src/zlib/zutil.o \
-               src/zlib/inflate.o \
-               src/zlib/infblock.o \
-               src/zlib/inftrees.o \
-               src/zlib/infcodes.o \
-               src/zlib/infutil.o \
-               src/zlib/inffast.o
+               adler32.o \
+               compress.o \
+               crc32.o \
+               gzio.o \
+               uncompr.o \
+               deflate.o \
+               trees.o \
+               zutil.o \
+               inflate.o \
+               infblock.o \
+               inftrees.o \
+               infcodes.o \
+               infutil.o \
+               inffast.o
 
 PNGOBJS     = \
-               src/png/png.o \
-               src/png/pngread.o \
-               src/png/pngrtran.o \
-               src/png/pngrutil.o \
-               src/png/pngpread.o \
-               src/png/pngtrans.o \
-               src/png/pngwrite.o \
-               src/png/pngwtran.o \
-               src/png/pngwutil.o \
-               src/png/pngerror.o \
-               src/png/pngmem.o \
-               src/png/pngwio.o \
-               src/png/pngrio.o \
-               src/png/pngget.o \
-               src/png/pngset.o
+               png.o \
+               pngread.o \
+               pngrtran.o \
+               pngrutil.o \
+               pngpread.o \
+               pngtrans.o \
+               pngwrite.o \
+               pngwtran.o \
+               pngwutil.o \
+               pngerror.o \
+               pngmem.o \
+               pngwio.o \
+               pngrio.o \
+               pngget.o \
+               pngset.o
 
 
 JPEGOBJS    = \
-               src/jpeg/jcomapi.o \
-               src/jpeg/jutils.o \
-               src/jpeg/jerror.o \
-               src/jpeg/jmemmgr.o \
-               src/jpeg/jmemnobs.o \
-               src/jpeg/jcapimin.o \
-               src/jpeg/jcapistd.o \
-               src/jpeg/jctrans.o \
-               src/jpeg/jcparam.o \
-               src/jpeg/jdatadst.o \
-               src/jpeg/jcinit.o \
-               src/jpeg/jcmaster.o \
-               src/jpeg/jcmarker.o \
-               src/jpeg/jcmainct.o \
-               src/jpeg/jcprepct.o \
-               src/jpeg/jccoefct.o \
-               src/jpeg/jccolor.o \
-               src/jpeg/jcsample.o \
-               src/jpeg/jchuff.o \
-               src/jpeg/jcphuff.o \
-               src/jpeg/jcdctmgr.o \
-               src/jpeg/jfdctfst.o \
-               src/jpeg/jfdctflt.o \
-               src/jpeg/jfdctint.o \
-               src/jpeg/jdapimin.o \
-               src/jpeg/jdapistd.o \
-               src/jpeg/jdtrans.o \
-               src/jpeg/jdatasrc.o \
-               src/jpeg/jdmaster.o \
-               src/jpeg/jdinput.o \
-               src/jpeg/jdmarker.o \
-               src/jpeg/jdhuff.o \
-               src/jpeg/jdphuff.o \
-               src/jpeg/jdmainct.o \
-               src/jpeg/jdcoefct.o \
-               src/jpeg/jdpostct.o \
-               src/jpeg/jddctmgr.o \
-               src/jpeg/jidctfst.o \
-               src/jpeg/jidctflt.o \
-               src/jpeg/jidctint.o \
-               src/jpeg/jidctred.o \
-               src/jpeg/jdsample.o \
-               src/jpeg/jdcolor.o \
-               src/jpeg/jquant1.o \
-               src/jpeg/jquant2.o \
-               src/jpeg/jdmerge.o
+               jcomapi.o \
+               jutils.o \
+               jerror.o \
+               jmemmgr.o \
+               jmemnobs.o \
+               jcapimin.o \
+               jcapistd.o \
+               jctrans.o \
+               jcparam.o \
+               jdatadst.o \
+               jcinit.o \
+               jcmaster.o \
+               jcmarker.o \
+               jcmainct.o \
+               jcprepct.o \
+               jccoefct.o \
+               jccolor.o \
+               jcsample.o \
+               jchuff.o \
+               jcphuff.o \
+               jcdctmgr.o \
+               jfdctfst.o \
+               jfdctflt.o \
+               jfdctint.o \
+               jdapimin.o \
+               jdapistd.o \
+               jdtrans.o \
+               jdatasrc.o \
+               jdmaster.o \
+               jdinput.o \
+               jdmarker.o \
+               jdhuff.o \
+               jdphuff.o \
+               jdmainct.o \
+               jdcoefct.o \
+               jdpostct.o \
+               jddctmgr.o \
+               jidctfst.o \
+               jidctflt.o \
+               jidctint.o \
+               jidctred.o \
+               jdsample.o \
+               jdcolor.o \
+               jquant1.o \
+               jquant2.o \
+               jdmerge.o
 
 
 OBJECTS = $(@GUIOBJS@) $(@COMMONOBJS@) $(@GENERICOBJS@) $(@UNIXOBJS@) $(HTMLOBJS) \
          $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS)
 
+DEPFILES = $(@GUIDEPS@) $(@COMMONDEPS@) $(@GENERICDEPS@) $(UNIXDEPS) $(HTMLDEPS)
+
 HEADERS = $(@GUIHEADERS@) $(HTML_HEADERS) $(UNIX_HEADERS) $(PROTOCOL_HEADERS) \
          $(GENERIC_HEADERS) $(WX_HEADERS)
 
-REQUIRED_DIRS = ./lib ./src ./src/common ./src/gtk ./src/motif ./src/msw \
-                ./src/generic ./src/unix ./src/motif/xmombo ./src/html \
-               ./src/zlib ./src/jpeg ./src/png
-
-all:    $(REQUIRED_DIRS) $(OBJECTS) @WX_TARGET_LIBRARY@ @WX_CREATE_LINKS@
-
-$(REQUIRED_DIRS):      $(WXDIR)/include/wx/defs.h $(WXDIR)/include/wx/object.h $(WXDIR)/include/wx/setup.h
-       @if test ! -d ./lib; then mkdir ./lib; fi
-       @if test ! -d ./src; then mkdir ./src; fi
-       @if test ! -d ./src/common; then mkdir ./src/common; fi
-       @if test ! -d ./src/msw; then mkdir ./src/msw; fi
-       @if test ! -d ./src/gtk; then mkdir ./src/gtk; fi
-       @if test ! -d ./src/motif; then mkdir ./src/motif; fi
-       @if test ! -d ./src/motif/xmcombo; then mkdir ./src/motif/xmcombo; fi
-       @if test ! -d ./src/generic; then mkdir ./src/generic; fi
-       @if test ! -d ./src/unix; then mkdir ./src/unix; fi
-       @if test ! -d ./src/html; then mkdir ./src/html; fi
-       @if test ! -d ./src/png; then mkdir ./src/png; fi
-       @if test ! -d ./src/jpeg; then mkdir ./src/jpeg; fi
-       @if test ! -d ./src/zlib; then mkdir ./src/zlib; fi
+all:    $(OBJECTS) @WX_TARGET_LIBRARY@ @WX_CREATE_LINKS@
 
 @WX_LIBRARY_NAME_STATIC@:  $(OBJECTS)
+       @$(INSTALL) -d ./lib
        $(AR) $(AROPTIONS) ./lib/$@ $(OBJECTS)
        $(RANLIB) ./lib/$@
 
 @WX_LIBRARY_NAME_SHARED@:  $(OBJECTS)
+       @$(INSTALL) -d ./lib
        $(SHARED_LD) ./lib/$@ $(OBJECTS) $(EXTRALIBS)
        
 CREATE_LINKS:  ./lib/@WX_TARGET_LIBRARY@
-       @if test -e ./lib/@WX_LIBRARY_LINK1@; then rm -f ./lib/@WX_LIBRARY_LINK1@; fi
-       @if test -e ./lib/@WX_LIBRARY_LINK2@; then rm -f ./lib/@WX_LIBRARY_LINK2@; fi
-       @if test -e ./lib/@WX_LIBRARY_LINK3@; then rm -f ./lib/@WX_LIBRARY_LINK3@; fi
+       @$(RM) ./lib/@WX_LIBRARY_LINK1@
+       @$(RM) ./lib/@WX_LIBRARY_LINK2@
+       @$(RM) ./lib/@WX_LIBRARY_LINK3@
        $(LN_S) @WX_TARGET_LIBRARY@ ./lib/@WX_LIBRARY_LINK1@
        $(LN_S) @WX_TARGET_LIBRARY@ ./lib/@WX_LIBRARY_LINK2@
        $(LN_S) @WX_TARGET_LIBRARY@ ./lib/@WX_LIBRARY_LINK3@
        
 CREATE_INSTALLED_LINKS:  $(libdir)/@WX_TARGET_LIBRARY@
-       @if test -e $(libdir)/@WX_LIBRARY_LINK1@; then rm -f $(libdir)/@WX_LIBRARY_LINK1@; fi
-       @if test -e $(libdir)/@WX_LIBRARY_LINK2@; then rm -f $(libdir)/@WX_LIBRARY_LINK2@; fi
-       @if test -e $(libdir)/@WX_LIBRARY_LINK3@; then rm -f $(libdir)/@WX_LIBRARY_LINK3@; fi
+       $(RM) $(libdir)/@WX_LIBRARY_LINK1@
+       $(RM) $(libdir)/@WX_LIBRARY_LINK2@
+       $(RM) $(libdir)/@WX_LIBRARY_LINK3@
        $(LN_S) @WX_TARGET_LIBRARY@ $(libdir)/@WX_LIBRARY_LINK1@
        $(LN_S) @WX_TARGET_LIBRARY@ $(libdir)/@WX_LIBRARY_LINK2@
        $(LN_S) @WX_TARGET_LIBRARY@ $(libdir)/@WX_LIBRARY_LINK3@
@@ -441,7 +512,7 @@ CREATE_INSTALLED_LINKS:  $(libdir)/@WX_TARGET_LIBRARY@
 $(OBJECTS):    $(WXDIR)/include/wx/defs.h $(WXDIR)/include/wx/object.h $(WXDIR)/include/wx/setup.h
 
 parser.o:    parser.c lexer.c
-       $(CCLEX) -c $(CFLAGS) -o $@ parser.c
+       $(CCLEX) -c $(CFLAGS) $(PICFLAGS) -o $@ parser.c
 
 parser.c:      $(COMMDIR)/parser.y lexer.c
        $(YACC) $(COMMDIR)/parser.y
@@ -461,28 +532,34 @@ lexer.c:  $(COMMDIR)/lexer.l
        sed -e "s/unput/PROIO_unput/g"      > lexer.c
        @$(RM) lex.yy.c
 
+-include $(DEPFILES)
+
 preinstall: $(top_builddir)/lib/@WX_TARGET_LIBRARY@ $(top_builddir)/wx-config $(top_builddir)/setup.h
        @echo " "
        @echo " Installing wxWindows..."
        @echo " "
 
+       $(INSTALL) -d $(prefix)
+       $(INSTALL) -d $(bindir)
+       $(INSTALL) -d $(libdir)
+
        $(INSTALL_SCRIPT) $(top_builddir)/wx-config $(bindir)/wx-config
        $(INSTALL_PROGRAM) $(top_builddir)/lib/@WX_TARGET_LIBRARY@ $(libdir)/@WX_TARGET_LIBRARY@
-       
-       @if test ! -d $(libdir)/wx; then mkdir $(libdir)/wx; fi
-       @if test ! -d $(libdir)/wx/include; then mkdir $(libdir)/wx/include; fi
-       @if test ! -d $(libdir)/wx/include/wx; then mkdir $(libdir)/wx/include/wx; fi
-       @if test ! -d $(libdir)/wx/include/wx/@TOOLKIT_DIR@; then mkdir $(libdir)/wx/include/wx/@TOOLKIT_DIR@; fi
+
+       $(INSTALL) -d $(libdir)/wx
+       $(INSTALL) -d $(libdir)/wx/include
+       $(INSTALL) -d $(libdir)/wx/include/wx
+       $(INSTALL) -d $(libdir)/wx/include/wx/@TOOLKIT_DIR@
        $(INSTALL_DATA) $(top_builddir)/setup.h $(libdir)/wx/include/wx/@TOOLKIT_DIR@/setup.h
        
-       @if test ! -d $(includedir)/wx; then mkdir $(includedir)/wx; fi
-       @if test ! -d $(includedir)/wx/msw; then mkdir $(includedir)/wx/msw; fi
-       @if test ! -d $(includedir)/wx/gtk; then mkdir $(includedir)/wx/gtk; fi
-       @if test ! -d $(includedir)/wx/motif; then mkdir $(includedir)/wx/motif; fi
-       @if test ! -d $(includedir)/wx/html; then mkdir $(includedir)/wx/html; fi
-       @if test ! -d $(includedir)/wx/protocol; then mkdir $(includedir)/wx/protocol; fi
-       @if test ! -d $(includedir)/wx/unix; then mkdir $(includedir)/wx/unix; fi
-       @if test ! -d $(includedir)/wx/generic; then mkdir $(includedir)/wx/generic; fi
+       $(INSTALL) -d $(includedir)/wx
+       $(INSTALL) -d $(includedir)/wx/msw
+       $(INSTALL) -d $(includedir)/wx/gtk
+       $(INSTALL) -d $(includedir)/wx/motif
+       $(INSTALL) -d $(includedir)/wx/html
+       $(INSTALL) -d $(includedir)/wx/protocol
+       $(INSTALL) -d $(includedir)/wx/unix
+       $(INSTALL) -d $(includedir)/wx/generic
        @list='$(HEADERS)'; for p in $$list; do \
          $(INSTALL_DATA) $(top_srcdir)/include/wx/$$p $(includedir)/wx/$$p; \
          echo "$(INSTALL_DATA) $(top_srcdir)/include/wx/$$p $(includedir)/wx/$$p"; \
@@ -507,16 +584,16 @@ uninstall:
        @echo " Uninstalling wxWindows..."
        @echo " "
        @echo " Removing library..."
-       @rm -f $(libdir)/@WX_TARGET_LIBRARY@
-       @rm -f $(libdir)/@WX_LIBRARY_LINK1@
-       @rm -f $(libdir)/@WX_LIBRARY_LINK2@
-       @rm -f $(libdir)/@WX_LIBRARY_LINK3@
+       @$(RM) $(libdir)/@WX_TARGET_LIBRARY@
+       @$(RM) $(libdir)/@WX_LIBRARY_LINK1@
+       @$(RM) $(libdir)/@WX_LIBRARY_LINK2@
+       @$(RM) $(libdir)/@WX_LIBRARY_LINK3@
        @echo " Removing helper files..."
-       @rm -f $(libdir)/wx/include/wx/@TOOLKIT_DIR@/setup.h
-       @rm -f $(bindir)/wx-config
+       @$(RM) $(libdir)/wx/include/wx/@TOOLKIT_DIR@/setup.h
+       @$(RM) $(bindir)/wx-config
        @echo " Removing headers..."
        @list='$(HEADERS)'; for p in $$list; do \
-         rm -f $(includedir)/wx/$$p; \
+         $(RM) $(includedir)/wx/$$p; \
        done
        @echo " Removing directories..."
        @if test -d $(libdir)/wx/include/wx/@TOOLKIT_DIR@; then rmdir $(libdir)/wx/include/wx/@TOOLKIT_DIR@; fi
@@ -532,7 +609,7 @@ uninstall:
        @if test -d $(includedir)/wx/protocol; then rmdir $(includedir)/wx/protocol; fi
        @if test -d $(includedir)/wx; then rmdir $(includedir)/wx; fi
 
-predist:
+ALL_DIST:
        mkdir _dist_dir
        mkdir $(DISTDIR)
        cp $(WXDIR)/wx$(TOOLKIT).spec $(DISTDIR)
@@ -565,38 +642,113 @@ predist:
        cp $(INCDIR)/wx/html/*.h $(DISTDIR)/include/wx/html
        cp $(INCDIR)/wx/unix/*.h $(DISTDIR)/include/wx/unix
        cp $(INCDIR)/wx/protocol/*.h $(DISTDIR)/include/wx/protocol
+       mkdir $(DISTDIR)/src
+       mkdir $(DISTDIR)/src/common
+       mkdir $(DISTDIR)/src/generic
+       mkdir $(DISTDIR)/src/html
+       mkdir $(DISTDIR)/src/html/bitmaps
+       mkdir $(DISTDIR)/src/$(TOOLKITDIR)
+       mkdir $(DISTDIR)/src/unix
+       mkdir $(DISTDIR)/src/png
+       mkdir $(DISTDIR)/src/jpeg
+       mkdir $(DISTDIR)/src/zlib
+       cp $(SRCDIR)/*.in $(DISTDIR)/src
+       cp $(COMMDIR)/*.cpp $(DISTDIR)/src/common
+       cp $(COMMDIR)/*.c $(DISTDIR)/src/common
+       cp $(COMMDIR)/*.inc $(DISTDIR)/src/common
+       cp $(COMMDIR)/*.l $(DISTDIR)/src/common
+       cp $(COMMDIR)/*.h $(DISTDIR)/src/common
+       cp $(COMMDIR)/*.y $(DISTDIR)/src/common
+       cp $(GENDIR)/*.cpp $(DISTDIR)/src/generic
+       cp $(HTMLDIR)/*.cpp $(DISTDIR)/src/html
+       cp $(HTMLDIR)/*.h $(DISTDIR)/src/html
+       cp $(HTMLDIR)/bitmaps/*.xpm $(DISTDIR)/src/html/bitmaps
+       cp $(UNIXDIR)/*.h $(DISTDIR)/src/unix
+       cp $(UNIXDIR)/*.c $(DISTDIR)/src/unix
+       cp $(UNIXDIR)/*.cpp $(DISTDIR)/src/unix
+       cp $(PNGDIR)/*.h $(DISTDIR)/src/png
+       cp $(PNGDIR)/*.c $(DISTDIR)/src/png
+       cp $(PNGDIR)/README $(DISTDIR)/src/png
+       cp $(ZLIBDIR)/*.h $(DISTDIR)/src/zlib
+       cp $(ZLIBDIR)/*.c $(DISTDIR)/src/zlib
+       cp $(ZLIBDIR)/README $(DISTDIR)/src/zlib
+       cp $(JPEGDIR)/*.h $(DISTDIR)/src/jpeg
+       cp $(JPEGDIR)/*.c $(DISTDIR)/src/jpeg
+       cp $(JPEGDIR)/README $(DISTDIR)/src/jpeg
 
 GTK_DIST:
+       cp $(WXDIR)/wxGTK.spec $(DISTDIR)
        cp $(INCDIR)/wx/gtk/*.h $(DISTDIR)/include/wx/gtk
+       cp $(INCDIR)/wx/gtk/*.xpm $(DISTDIR)/include/wx/gtk
+       cp $(GTKDIR)/*.cpp $(DISTDIR)/src/gtk
+       cp $(GTKDIR)/*.c $(DISTDIR)/src/gtk
+       cp $(GTKDIR)/*.xbm $(DISTDIR)/src/gtk
 
 MOTIF_DIST:
+       cp $(WXDIR)/wxMOTIF.spec $(DISTDIR)
        cp $(INCDIR)/wx/motif/*.h $(DISTDIR)/include/wx/motif
+       cp $(MOTIFDIR)/*.cpp $(DISTDIR)/src/motif
+       cp $(MOTIFDIR)/*.xbm $(DISTDIR)/src/motif
+       mkdir $(DISTDIR)/src/motif/xmcombo
+       cp $(MOTIFDIR)/xmcombo/*.c $(DISTDIR)/src/motif/xmcombo
+       cp $(MOTIFDIR)/xmcombo/*.h $(DISTDIR)/src/motif/xmcombo
+       cp $(MOTIFDIR)/xmcombo/copying.txt $(DISTDIR)/src/motif/xmcombo
 
 MSW_DIST:
+       cp $(WXDIR)/wxWINE.spec $(DISTDIR)
        cp $(INCDIR)/wx/msw/*.h $(DISTDIR)/include/wx/msw
        cp $(INCDIR)/wx/msw/*.cur $(DISTDIR)/include/wx/msw
        cp $(INCDIR)/wx/msw/*.ico $(DISTDIR)/include/wx/msw
        cp $(INCDIR)/wx/msw/*.bmp $(DISTDIR)/include/wx/msw
        cp $(INCDIR)/wx/msw/*.rc $(DISTDIR)/include/wx/msw
-
-dist: predist @GUIDIST@
+       cp $(MSWDIR)/*.cpp $(DISTDIR)/src/msw
+       cp $(MSWDIR)/*.c $(DISTDIR)/src/msw
+       cp $(MSWDIR)/*.def $(DISTDIR)/src/msw
+       mkdir $(DISTDIR)/src/msw/ole
+       cp $(MSWDIR)/ole/*.cpp $(DISTDIR)/src/msw/ole
+
+SAMPLES_DIST:
+       mkdir $(DISTDIR)/samples
+       cp $(SAMPDIR)/Makefile.in $(DISTDIR)/samples
+       mkdir $(DISTDIR)/samples/bombs
+       cp $(SAMPDIR)/bombs/Makefile.in $(DISTDIR)/samples/bombs
+       cp $(SAMPDIR)/bombs/*.cpp $(DISTDIR)/samples/bombs
+       cp $(SAMPDIR)/bombs/*.h $(DISTDIR)/samples/bombs
+       cp $(SAMPDIR)/bombs/*.xpm $(DISTDIR)/samples/bombs
+       cp $(SAMPDIR)/bombs/readme.txt $(DISTDIR)/samples/bombs
+       mkdir $(DISTDIR)/samples/caret
+       cp $(SAMPDIR)/caret/Makefile.in $(DISTDIR)/samples/caret
+       cp $(SAMPDIR)/caret/*.cpp $(DISTDIR)/samples/caret
+       cp $(SAMPDIR)/caret/*.xpm $(DISTDIR)/samples/caret
+       mkdir $(DISTDIR)/samples/config
+       cp $(SAMPDIR)/config/Makefile.in $(DISTDIR)/samples/config
+       cp $(SAMPDIR)/config/*.cpp $(DISTDIR)/samples/config
+       mkdir $(DISTDIR)/samples/controls
+       mkdir $(DISTDIR)/samples/controls/icons
+       cp $(SAMPDIR)/controls/Makefile.in $(DISTDIR)/samples/controls
+       cp $(SAMPDIR)/controls/*.cpp $(DISTDIR)/samples/controls
+       cp $(SAMPDIR)/controls/*.xpm $(DISTDIR)/samples/controls
+       cp $(SAMPDIR)/controls/icons/*.??? $(DISTDIR)/samples/controls/icons
+       mkdir $(DISTDIR)/samples/checklst
+       cp $(SAMPDIR)/checklst/Makefile.in $(DISTDIR)/samples/checklst
+       cp $(SAMPDIR)/checklst/*.cpp $(DISTDIR)/samples/checklst
+       cp $(SAMPDIR)/checklst/*.xpm $(DISTDIR)/samples/checklst
+       mkdir $(DISTDIR)/samples/checkls
+       cp $(SAMPDIR)/printing/Makefile.in $(DISTDIR)/samples/printing
+       cp $(SAMPDIR)/printing/*.cpp $(DISTDIR)/samples/printing
+       cp $(SAMPDIR)/printing/*.h $(DISTDIR)/samples/printing
+       cp $(SAMPDIR)/printing/*.xpm $(DISTDIR)/samples/printing
+       cp $(SAMPDIR)/printing/*.xbm $(DISTDIR)/samples/printing
+
+dist: ALL_DIST @GUIDIST@ SAMPLES_DIST
        cd _dist_dir; tar ch wx$(TOOLKIT) | gzip -f9 > $(WXARCHIVE); mv $(WXARCHIVE) ..
-       rm -f -r _dist_dir
+       $(RM) -r _dist_dir
 
 clean:
-       rm -f ./src/msw/*.o
-       rm -f ./src/gtk/*.o
-       rm -f ./src/motif/*.o
-       rm -f ./src/html/*.o
-       rm -f ./src/common/*.o
-       rm -f ./src/unix/*.o
-       rm -f ./src/generic/*.o
-       rm -f ./src/png/*.o
-       rm -f ./src/jpeg/*.o
-       rm -f ./src/zlib/*.o
-       rm -f *.o
-       rm -f parser.c
-       rm -f lexer.c
-       rm -f ./lib/*
+       $(RM) *.o
+       $(RM) *.d
+       $(RM) parser.c
+       $(RM) lexer.c
+       $(RM) ./lib/*
 
 cleanall: clean