]> git.saurik.com Git - wxWidgets.git/commitdiff
* SPACE -> TAB in filelist.txt
authorMattia Barbon <mbarbon@cpan.org>
Tue, 5 Feb 2002 21:35:10 +0000 (21:35 +0000)
committerMattia Barbon <mbarbon@cpan.org>
Tue, 5 Feb 2002 21:35:10 +0000 (21:35 +0000)
* Added wxBase support to makefile.g95 makeg95.env
* Added FINAL=0|1 flag to makefile.g95 ( defaults to FINAL=0 )

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14021 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

distrib/msw/tmake/filelist.txt
distrib/msw/tmake/g95.t
src/makeg95.env
src/msw/makefile.g95

index 13a56211ecb0dd2109cf794093edd832b1783292..e79aa8f8aa8aaa5a73a6b3fdfd52e1f59e641ea1 100644 (file)
@@ -815,8 +815,8 @@ imaglist.h  WXH
 intl.h WXH     Base
 ioswrap.h      WXH     Base
 ipcbase.h      WXH     Base
-isql.h WXH Base
-isqlext.h      WXH Base
+isql.h WXH     Base
+isqlext.h      WXH     Base
 joystick.h     WXH
 layout.h       WXH
 laywin.h       WXH
index 56f5466571683a41fabc64728fa578aa1db23924..f720c1d5ad98ab102624e984eb5fc58a22fc4a1d 100644 (file)
     foreach $file (sort keys %wxGeneric) {
         #! native wxDirDlg can't be compiled due to GnuWin32/OLE limitations,
         #! so take the generic version
+        $base = ( $wxGeneric{$file} =~ /\bB\b/ ) ? '_BASE' : '';
+
         if ( $wxGeneric{$file} =~ /\b(PS|G|U|16)\b/ ) {
             next #! unless $file =~ /^dirdlgg\./;
         }
 
         $file =~ s/cp?p?$/\$(OBJSUFF)/;
-        $project{"WXGENERICOBJS"} .= '$(GENDIR)/' . $file . " "
+        $project{"WXGENERICOBJS$base"} .= '$(GENDIR)/' . $file . " "
     }
 
     foreach $file (sort keys %wxCommon) {
         #! needs extra files (sql*.h) so not compiled by default.
         #! next if $file =~ /^odbc\./;
 
+        $base = ( $wxCommon{$file} =~ /\bB\b/ ) ? '_BASE' : '';
         if ( $file =~ /^odbc\./ )
         {
           $file =~ s/cp?p?$/\$(OBJSUFF)/;
-          $project{"ADVANCEDOBJS"} .= '$(COMMDIR)/' . $file . " "
+          $project{"ADVANCEDOBJS$base"} .= '$(COMMDIR)/' . $file . " "
         }
         else
         {
           $file =~ s/cp?p?$/\$(OBJSUFF)/;
-          $project{"WXCOMMONOBJS"} .= '$(COMMDIR)/' . $file . " "
+          $project{"WXCOMMONOBJS$base"} .= '$(COMMDIR)/' . $file . " "
         }
     }
 
+    foreach $file (sort keys %wxBase) {
+        $file =~ s/cp?p?$/\$(OBJSUFF)/;
+        $project{"WXCOMMONOBJS_BASEONLY"} .= '$(COMMDIR)/' . $file . " "
+    }
+
     foreach $file (sort keys %wxMSW) {
         #! native wxDirDlg can't be compiled due to GnuWin32/OLE limitations,
         next if $file =~ /^dirdlg\./;
 
         next if $wxMSW{$file} =~ /\b(16)\b/;
+        $base = ( $wxMSW{$file} =~ /\bB\b/ ) ? '_BASE' : '';
 
         #! Mingw32 doesn't have the OLE headers and has some troubles with
         #! socket code, so put in  ADVANCEDOBJS
         if ( $wxMSW{$file} =~ /\b(O)\b/ )
         {
           $file =~ s/cp?p?$/\$(OBJSUFF)/;
-          $project{"ADVANCEDOBJS"} .= '$(MSWDIR)/ole/' . $file . " "
+          $project{"ADVANCEDOBJS$base"} .= '$(MSWDIR)/ole/' . $file . " "
         }
         else
         {
           $file =~ s/cp?p?$/\$(OBJSUFF)/;
-          $project{"WXMSWOBJS"} .= '$(MSWDIR)/' . $file . " "
+          $project{"WXMSWOBJS$base"} .= '$(MSWDIR)/' . $file . " "
         }
 
     }
@@ -91,16 +100,20 @@ include $(WXDIR)/src/makeg95.env
 
 # DLL Name, if building wxWindows as a DLL.
 ifdef WXMAKINGDLL
-WXDLL = $(WXDIR)/lib/wxmsw$(WXVERSION)$(UNIEXT).dll
-WXDEF = wxmsw$(WXVERSION)$(UNIEXT).def
+WXDLL = $(WXDIR)/lib/wx$(TOOLKIT)$(WXVERSION)$(UNIEXT)$(DEBEXT).dll
+WXDEF = wx$(TOOLKIT)$(WXVERSION)$(UNIEXT)$(DEBEXT).def
 DLL_EXTRA_LIBS = $(WXDIR)/lib/libzlib.a \
                  $(WXDIR)/lib/libpng.a $(WXDIR)/lib/libjpeg.a \
                     $(WXDIR)/lib/libtiff.a $(WXDIR)/lib/libregex.a
 DLL_LDFLAGS = -L$(WXDIR)/lib
-DLL_LDLIBS = -mwindows -lcomctl32 -lctl3d32 -lole32 -loleaut32 \
-             -luuid -lrpcrt4 -lodbc32 -lwinmm -lopengl32 \
-             -lwsock32 $(DLL_EXTRA_LIBS) \
-                 -lstdc++
+DLL_BASE_LDLIBS = $(DLL_EXTRA_LIBS) -lstdc++ -lwsock32
+ifeq ($(wxUSE_GUI),0)
+  DLL_LDLIBS = $(DLL_BASE_LDLIBS)
+else
+  DLL_LDLIBS = -mwindows -lcomctl32 -lctl3d32 -lole32 -loleaut32 \
+              -luuid -lrpcrt4 -lodbc32 -lwinmm -lopengl32 \
+               $(DLL_BASE_LDLIBS)
+endif
 endif
 
 # Subordinate library possibilities
@@ -137,21 +150,43 @@ ifeq ($(MINGW32),1)
 else
                DIRDLGOBJ = $(GENDIR)/dirdlgg.$(OBJSUFF)
 endif
+ifeq ($(wxUSE_GUI),0)
+  DIRDLGOBJ =
+endif
+
+GENERICOBJS_BASE = \
+                #$ ExpandList("WXGENERICOBJS_BASE");
 
 GENERICOBJS = \
+                $(GENERICOBJS_BASE) \
                 #$ ExpandList("WXGENERICOBJS");
 
+COMMONOBJS_BASE  = \
+                #$ ExpandList("WXCOMMONOBJS_BASE");
+
+COMMONOBJS_BASEONLY  = \
+                #$ ExpandList("WXCOMMONOBJS_BASEONLY");
+
 COMMONOBJS  = \
+                $(COMMONOBJS_BASE) \
                $(COMMDIR)/y_tab.$(OBJSUFF) \
                #$ ExpandList("WXCOMMONOBJS");
 
 HTMLOBJS = \
                 #$ ExpandList("WXHTMLOBJS");
 
+MSWOBJS_BASE = \
+                #$ ExpandList("WXMSWOBJS_BASE");
+
 MSWOBJS     = \
+                $(MSWOBJS_BASE) \
                #$ ExpandList("WXMSWOBJS");
 
+ADVANCEDOBJS_BASE = \
+                #$ ExpandList("ADVANCEDOBJS_BASE");
+
 ADVANCEDOBJS     = \
+                $(ADVANCEDOBJS_BASE) \
                #$ ExpandList("ADVANCEDOBJS");
 
 ZLIBOBJS    = \
@@ -279,6 +314,9 @@ ifeq ($(MINGW32),1)
 else
   OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) $(DIRDLGOBJ)
 endif
+ifeq ($(wxUSE_GUI),0)
+  OBJECTS = $(MSWOBJS_BASE) $(COMMONOBJS_BASE) $(COMMONOBJS_BASEONLY) $(GENERICOBJS_BASE)
+endif
 
 # MBN: if anyone has a better solution for this kludge, step
 #      forward, *please*
@@ -299,7 +337,7 @@ else
 endif
 
 #ARCHINCDIR=$(subst $(PATH_SUBST),$(PATH_SEPARATOR),$(WXDIR)/lib/msw$(INCEXT))
-ARCHINCDIR=$(WXDIR)/lib/msw$(INCEXT)
+ARCHINCDIR=$(WXDIR)/lib/$(TOOLKIT)$(INCEXT)
 
 SETUP_H=$(ARCHINCDIR)/wx/setup.h
 
index 6a6788ae21f750c42e0173834573069525a30257..64dc0d12fb3cea1694b32841edb721f2d2e3d9d7 100644 (file)
@@ -21,7 +21,15 @@ MINGW32VERSION=2.95
 WXVERSION=232
 
 ifndef UNICODE
-    UNICODE=0
+  UNICODE=0
+endif
+
+ifndef FINAL
+  FINAL=0
+endif
+
+ifndef wxUSE_GUI
+  wxUSE_GUI=1
 endif
 
 # Say yes if you have a "modern" linker that supports --shared option.
@@ -102,7 +110,9 @@ DLLTOOL = $(CROSS)dlltool
 OPTIONS = -DSTRICT # -D__MINGW32__
 
 # Debugging information
-DEBUGFLAGS = -D__WXDEBUG__
+ifeq ($(FINAL),0)
+  DEBUGFLAGS = -g -D__WXDEBUG__
+endif
 
 WIN95=1
 
@@ -132,15 +142,26 @@ RSCSUFF=rsc
 # Warnings
 WARN = -Wall
 
-# Which GUI, -Dwx_xview or -Dwx_motif (don't change this)
-GUI = -D__WXMSW__ -D__WINDOWS__
+# build wxbase/wxMSW
+ifeq ($(wxUSE_GUI),1)
+    TOOLKIT=msw
+    GUI = -D__WXMSW__ -D__WINDOWS__
+else
+    TOOLKIT=base
+    GUI = -D__WXMSW__ -D__WINDOWS__ -DwxUSE_GUI=0
+endif
+
 
 # According to Guillermo Rodriguez Garcia <guille@iies.es>, the
 # -fno-pcc-struct-return option is needed to make the standard div()
 # function work - otherwise it returns absolutely incorrect results
 # which breaks the wxImage class. This is true at least for
 # mingw32-gcc2.8.1, don't know about others.
-OPT = -fno-pcc-struct-return -O2 -fno-rtti -fno-exceptions
+ifeq ($(FINAL),1)
+  OPT = -fno-pcc-struct-return -O2 -fno-rtti -fno-exceptions
+else
+  OPT = -fno-pcc-struct-return -fno-rtti -fno-exceptions
+endif
 
 # Options for ar archiver
 # AROPTIONS = crs # For IRIX and Solaris (both SYSVR4).
@@ -157,10 +178,15 @@ COMPPATHS=
 ########################## Directories ###############################
 
 OLELIBS=-lole32 -loleaut32 -luuid
-WINLIBS=-lstdc++ -lgcc \
-       -lwinspool -lwinmm -lshell32 \
-       -lcomctl32 -lctl3d32 -lodbc32 -ladvapi32 \
-       -lodbc32 -lwsock32 -lopengl32 -lglu32 $(OLELIBS) #  -loldnames
+BASELIBS=-lstdc++ -lgcc -lodbc32 -lwsock32
+ifeq ($(wxUSE_GUI),1)
+  WINLIBS= $(BASELIBS) \
+         -lwinspool -lwinmm -lshell32 \
+         -lcomctl32 -lctl3d32 -lodbc32 -ladvapi32 \
+         -lodbc32 -lwsock32 -lopengl32 -lglu32 $(OLELIBS) #  -loldnames
+else
+  WINLIBS=$(BASELIBS)
+endif
 
 #WINLIBS=-lstdc++ -lgcc \
 #      -lwinspool -lwinmm -lshell32 \
@@ -170,7 +196,6 @@ WINLIBS=-lstdc++ -lgcc \
 WXSRC=$(WXDIR)/src/msw
 WXINC=$(WXDIR)/include
 WXBASESRC=$(WXDIR)/src/common
-WXLIB=$(WXDIR)/lib/$(LIBPREFIX)wx.$(LIBSUFF)
 
 GNUWIN32EXTRA=-I$(WXDIR)/include/wx/msw/gnuwin32
 
@@ -183,7 +208,7 @@ endif
 #ifeq ($(MINGW32),1)
 #INC = -I$(WXINC) -I$(WXDIR)/contrib/include -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib -I$(WXDIR)/src/tiff $(EXTRAINC) $(COMPPATHS)
 #else
-INC = -I$(WXDIR)/lib/msw$(INCEXT) -I$(WXINC) -I$(WXDIR)/contrib/include -I$(WXDIR)/src/regex -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib -I$(WXDIR)/src/tiff $(EXTRAINC) $(COMPPATHS) -I$(WXDIR)/include/wx/msw/gnuwin32
+INC = -I$(WXDIR)/lib/$(TOOLKIT)$(INCEXT) -I$(WXINC) -I$(WXDIR)/contrib/include -I$(WXDIR)/src/regex -I$(WXDIR)/src/png -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib -I$(WXDIR)/src/tiff $(EXTRAINC) $(COMPPATHS) -I$(WXDIR)/include/wx/msw/gnuwin32
 #endif
 
 RCLFLAGS=-cpp "cpp -lang-c++ -DWIN32 -D_WIN32 -DRCL_INVOKED -I$(WXWIN)/include"
@@ -206,6 +231,12 @@ LDLIBS = $(LIBS)
 # OBJDIR = objects$(GUISUFFIX)
 OBJDIR = .
 
+ifeq ($(FINAL),1)
+    DEBEXT=
+else
+    DEBEXT=d
+endif
+
 ifeq ($(UNICODE),1)
     UNIEXT=u
 else
@@ -213,26 +244,30 @@ else
 endif
 
 ifeq ($(WXMAKINGDLL)$(WXUSINGDLL),)
-    INCEXT=$(UNIEXT)
+    INCEXT=$(UNIEXT)$(DEBEXT)
 else
-    INCEXT=dll$(UNIEXT)
+    INCEXT=dll$(UNIEXT)$(DEBEXT)
 endif
 
+WXLIB=$(WXDIR)/lib/$(LIBPREFIX)wx$(TOOLKIT)$(UNIEXT)$(DEBEXT).$(LIBSUFF)
+
 ifdef WXMAKINGDLL
   EXTRADLLFLAGS = -DWXMAKINGDLL=1 -D_DLL=1 -D_WINDLL=1
-  WXLIB=$(WXDIR)/lib/$(LIBPREFIX)wxmsw$(WXVERSION)$(UNIEXT).$(LIBSUFF)
+  WXLIB=$(WXDIR)/lib/$(LIBPREFIX)wx$(TOOLKIT)$(WXVERSION)$(UNIEXT)$(DEBEXT).$(LIBSUFF)
 endif
 
 ifdef WXUSINGDLL
   EXTRADLLFLAGS = -DWXUSINGDLL=1
-  WXLIB=$(WXDIR)/lib/$(LIBPREFIX)wxmsw$(WXVERSION)$(UNIEXT).$(LIBSUFF)
+  WXLIB=$(WXDIR)/lib/$(LIBPREFIX)wx$(TOOLKIT)$(WXVERSION)$(UNIEXT)$(DEBEXT).$(LIBSUFF)
 endif
 
 
 # You shouldn't need to change these...
 CPPFLAGS = $(XINCLUDE) $(INC) $(OPTIONS) $(GUI) $(DEBUGFLAGS) $(WARN) $(OPT) $(EXTRACPPFLAGS) $(EXTRADLLFLAGS)
 CFLAGS = $(XINCLUDE) $(INC) $(OPTIONS) $(GUI) $(DEBUGFLAGS) $(WARN) $(OPT) $(EXTRACFLAGS) -DWIN32_LEAN_AND_MEAN
-WINDOWSLDFLAGS=-Wl,--subsystem,windows -mwindows
+ifeq ($(wxUSE_GUI),1)
+    WINDOWSLDFLAGS=-Wl,--subsystem,windows -mwindows
+endif
 LDFLAGS = $(WINDOWSLDFLAGS) -L$(WXDIR)/lib -L$(WXDIR)/contrib/lib $(EXTRALDFLAGS)
 
 .SUFFIXES: .rc .$(RESSUFF) .$(RSCSUFF) .cpp .cxx .c
index b82626a80aa6257bf4a656d4f87be1fb83cb27f0..52686b073123117fe4619560bd3dd44b823b0840 100644 (file)
@@ -1,4 +1,4 @@
-# This file was automatically generated by tmake at 22:26, 2002/01/29
+# This file was automatically generated by tmake 
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE G95.T!
 
 #
@@ -21,16 +21,20 @@ include $(WXDIR)/src/makeg95.env
 
 # DLL Name, if building wxWindows as a DLL.
 ifdef WXMAKINGDLL
-WXDLL = $(WXDIR)/lib/wxmsw$(WXVERSION)$(UNIEXT).dll
-WXDEF = wxmsw$(WXVERSION)$(UNIEXT).def
+WXDLL = $(WXDIR)/lib/wx$(TOOLKIT)$(WXVERSION)$(UNIEXT)$(DEBEXT).dll
+WXDEF = wx$(TOOLKIT)$(WXVERSION)$(UNIEXT)$(DEBEXT).def
 DLL_EXTRA_LIBS = $(WXDIR)/lib/libzlib.a \
                  $(WXDIR)/lib/libpng.a $(WXDIR)/lib/libjpeg.a \
                     $(WXDIR)/lib/libtiff.a $(WXDIR)/lib/libregex.a
 DLL_LDFLAGS = -L$(WXDIR)/lib
-DLL_LDLIBS = -mwindows -lcomctl32 -lctl3d32 -lole32 -loleaut32 \
-             -luuid -lrpcrt4 -lodbc32 -lwinmm -lopengl32 \
-             -lwsock32 $(DLL_EXTRA_LIBS) \
-                 -lstdc++
+DLL_BASE_LDLIBS = $(DLL_EXTRA_LIBS) -lstdc++ -lwsock32
+ifeq ($(wxUSE_GUI),0)
+  DLL_LDLIBS = $(DLL_BASE_LDLIBS)
+else
+  DLL_LDLIBS = -mwindows -lcomctl32 -lctl3d32 -lole32 -loleaut32 \
+              -luuid -lrpcrt4 -lodbc32 -lwinmm -lopengl32 \
+               $(DLL_BASE_LDLIBS)
+endif
 endif
 
 # Subordinate library possibilities
@@ -67,8 +71,14 @@ ifeq ($(MINGW32),1)
 else
                DIRDLGOBJ = $(GENDIR)/dirdlgg.$(OBJSUFF)
 endif
+ifeq ($(wxUSE_GUI),0)
+  DIRDLGOBJ =
+endif
+
+GENERICOBJS_BASE = \
 
 GENERICOBJS = \
+                $(GENERICOBJS_BASE) \
                 $(GENDIR)/busyinfo.$(OBJSUFF) \
                $(GENDIR)/calctrl.$(OBJSUFF) \
                $(GENDIR)/choicdgg.$(OBJSUFF) \
@@ -100,132 +110,138 @@ GENERICOBJS = \
                $(GENDIR)/treelay.$(OBJSUFF) \
                $(GENDIR)/wizard.$(OBJSUFF)
 
-COMMONOBJS  = \
-               $(COMMDIR)/y_tab.$(OBJSUFF) \
-               $(COMMDIR)/appcmn.$(OBJSUFF) \
-               $(COMMDIR)/choiccmn.$(OBJSUFF) \
-               $(COMMDIR)/clipcmn.$(OBJSUFF) \
+COMMONOBJS_BASE  = \
+                $(COMMDIR)/appcmn.$(OBJSUFF) \
                $(COMMDIR)/clntdata.$(OBJSUFF) \
                $(COMMDIR)/cmdline.$(OBJSUFF) \
-               $(COMMDIR)/cmdproc.$(OBJSUFF) \
-               $(COMMDIR)/cmndata.$(OBJSUFF) \
                $(COMMDIR)/config.$(OBJSUFF) \
-               $(COMMDIR)/containr.$(OBJSUFF) \
-               $(COMMDIR)/cshelp.$(OBJSUFF) \
-               $(COMMDIR)/ctrlcmn.$(OBJSUFF) \
-               $(COMMDIR)/ctrlsub.$(OBJSUFF) \
                $(COMMDIR)/datetime.$(OBJSUFF) \
                $(COMMDIR)/datstrm.$(OBJSUFF) \
                $(COMMDIR)/db.$(OBJSUFF) \
-               $(COMMDIR)/dbgrid.$(OBJSUFF) \
                $(COMMDIR)/dbtable.$(OBJSUFF) \
-               $(COMMDIR)/dcbase.$(OBJSUFF) \
                $(COMMDIR)/dircmn.$(OBJSUFF) \
-               $(COMMDIR)/dlgcmn.$(OBJSUFF) \
-               $(COMMDIR)/dndcmn.$(OBJSUFF) \
-               $(COMMDIR)/dobjcmn.$(OBJSUFF) \
-               $(COMMDIR)/docmdi.$(OBJSUFF) \
-               $(COMMDIR)/docview.$(OBJSUFF) \
-               $(COMMDIR)/dseldlg.$(OBJSUFF) \
                $(COMMDIR)/dynarray.$(OBJSUFF) \
                $(COMMDIR)/dynlib.$(OBJSUFF) \
                $(COMMDIR)/dynload.$(OBJSUFF) \
-               $(COMMDIR)/effects.$(OBJSUFF) \
                $(COMMDIR)/encconv.$(OBJSUFF) \
                $(COMMDIR)/event.$(OBJSUFF) \
                $(COMMDIR)/extended.$(OBJSUFF) \
-               $(COMMDIR)/fddlgcmn.$(OBJSUFF) \
                $(COMMDIR)/ffile.$(OBJSUFF) \
                $(COMMDIR)/file.$(OBJSUFF) \
                $(COMMDIR)/fileconf.$(OBJSUFF) \
                $(COMMDIR)/filefn.$(OBJSUFF) \
                $(COMMDIR)/filename.$(OBJSUFF) \
                $(COMMDIR)/filesys.$(OBJSUFF) \
-               $(COMMDIR)/fontcmn.$(OBJSUFF) \
                $(COMMDIR)/fontmap.$(OBJSUFF) \
-               $(COMMDIR)/framecmn.$(OBJSUFF) \
                $(COMMDIR)/fs_inet.$(OBJSUFF) \
                $(COMMDIR)/fs_mem.$(OBJSUFF) \
                $(COMMDIR)/fs_zip.$(OBJSUFF) \
                $(COMMDIR)/ftp.$(OBJSUFF) \
-               $(COMMDIR)/gaugecmn.$(OBJSUFF) \
-               $(COMMDIR)/gdicmn.$(OBJSUFF) \
-               $(COMMDIR)/geometry.$(OBJSUFF) \
-               $(COMMDIR)/gifdecod.$(OBJSUFF) \
                $(COMMDIR)/hash.$(OBJSUFF) \
                $(COMMDIR)/hashmap.$(OBJSUFF) \
-               $(COMMDIR)/helpbase.$(OBJSUFF) \
                $(COMMDIR)/http.$(OBJSUFF) \
-               $(COMMDIR)/imagall.$(OBJSUFF) \
-               $(COMMDIR)/imagbmp.$(OBJSUFF) \
-               $(COMMDIR)/image.$(OBJSUFF) \
-               $(COMMDIR)/imaggif.$(OBJSUFF) \
-               $(COMMDIR)/imagiff.$(OBJSUFF) \
-               $(COMMDIR)/imagjpeg.$(OBJSUFF) \
-               $(COMMDIR)/imagpcx.$(OBJSUFF) \
-               $(COMMDIR)/imagpng.$(OBJSUFF) \
-               $(COMMDIR)/imagpnm.$(OBJSUFF) \
-               $(COMMDIR)/imagtiff.$(OBJSUFF) \
-               $(COMMDIR)/imagxpm.$(OBJSUFF) \
                $(COMMDIR)/intl.$(OBJSUFF) \
                $(COMMDIR)/ipcbase.$(OBJSUFF) \
-               $(COMMDIR)/layout.$(OBJSUFF) \
-               $(COMMDIR)/lboxcmn.$(OBJSUFF) \
                $(COMMDIR)/list.$(OBJSUFF) \
                $(COMMDIR)/log.$(OBJSUFF) \
                $(COMMDIR)/longlong.$(OBJSUFF) \
-               $(COMMDIR)/matrix.$(OBJSUFF) \
                $(COMMDIR)/memory.$(OBJSUFF) \
-               $(COMMDIR)/menucmn.$(OBJSUFF) \
                $(COMMDIR)/mimecmn.$(OBJSUFF) \
                $(COMMDIR)/module.$(OBJSUFF) \
                $(COMMDIR)/mstream.$(OBJSUFF) \
-               $(COMMDIR)/nbkbase.$(OBJSUFF) \
                $(COMMDIR)/object.$(OBJSUFF) \
-               $(COMMDIR)/paper.$(OBJSUFF) \
-               $(COMMDIR)/popupcmn.$(OBJSUFF) \
-               $(COMMDIR)/prntbase.$(OBJSUFF) \
                $(COMMDIR)/process.$(OBJSUFF) \
                $(COMMDIR)/protocol.$(OBJSUFF) \
-               $(COMMDIR)/quantize.$(OBJSUFF) \
-               $(COMMDIR)/radiocmn.$(OBJSUFF) \
                $(COMMDIR)/regex.$(OBJSUFF) \
-               $(COMMDIR)/resource.$(OBJSUFF) \
                $(COMMDIR)/sckaddr.$(OBJSUFF) \
                $(COMMDIR)/sckfile.$(OBJSUFF) \
                $(COMMDIR)/sckipc.$(OBJSUFF) \
                $(COMMDIR)/sckstrm.$(OBJSUFF) \
-               $(COMMDIR)/sizer.$(OBJSUFF) \
                $(COMMDIR)/socket.$(OBJSUFF) \
-               $(COMMDIR)/statbar.$(OBJSUFF) \
                $(COMMDIR)/strconv.$(OBJSUFF) \
                $(COMMDIR)/stream.$(OBJSUFF) \
                $(COMMDIR)/string.$(OBJSUFF) \
                $(COMMDIR)/sysopt.$(OBJSUFF) \
-               $(COMMDIR)/tbarbase.$(OBJSUFF) \
                $(COMMDIR)/textbuf.$(OBJSUFF) \
-               $(COMMDIR)/textcmn.$(OBJSUFF) \
                $(COMMDIR)/textfile.$(OBJSUFF) \
                $(COMMDIR)/timercmn.$(OBJSUFF) \
                $(COMMDIR)/tokenzr.$(OBJSUFF) \
-               $(COMMDIR)/toplvcmn.$(OBJSUFF) \
-               $(COMMDIR)/treebase.$(OBJSUFF) \
                $(COMMDIR)/txtstrm.$(OBJSUFF) \
                $(COMMDIR)/unzip.$(OBJSUFF) \
                $(COMMDIR)/url.$(OBJSUFF) \
                $(COMMDIR)/utilscmn.$(OBJSUFF) \
-               $(COMMDIR)/valgen.$(OBJSUFF) \
-               $(COMMDIR)/validate.$(OBJSUFF) \
-               $(COMMDIR)/valtext.$(OBJSUFF) \
                $(COMMDIR)/variant.$(OBJSUFF) \
                $(COMMDIR)/wfstream.$(OBJSUFF) \
-               $(COMMDIR)/wincmn.$(OBJSUFF) \
                $(COMMDIR)/wxchar.$(OBJSUFF) \
-               $(COMMDIR)/wxexpr.$(OBJSUFF) \
-               $(COMMDIR)/xpmdecod.$(OBJSUFF) \
                $(COMMDIR)/zipstrm.$(OBJSUFF) \
                $(COMMDIR)/zstream.$(OBJSUFF)
 
+COMMONOBJS_BASEONLY  = \
+                $(COMMDIR)/init.$(OBJSUFF)
+
+COMMONOBJS  = \
+                $(COMMONOBJS_BASE) \
+               $(COMMDIR)/y_tab.$(OBJSUFF) \
+               $(COMMDIR)/choiccmn.$(OBJSUFF) \
+               $(COMMDIR)/clipcmn.$(OBJSUFF) \
+               $(COMMDIR)/cmdproc.$(OBJSUFF) \
+               $(COMMDIR)/cmndata.$(OBJSUFF) \
+               $(COMMDIR)/containr.$(OBJSUFF) \
+               $(COMMDIR)/cshelp.$(OBJSUFF) \
+               $(COMMDIR)/ctrlcmn.$(OBJSUFF) \
+               $(COMMDIR)/ctrlsub.$(OBJSUFF) \
+               $(COMMDIR)/dbgrid.$(OBJSUFF) \
+               $(COMMDIR)/dcbase.$(OBJSUFF) \
+               $(COMMDIR)/dlgcmn.$(OBJSUFF) \
+               $(COMMDIR)/dndcmn.$(OBJSUFF) \
+               $(COMMDIR)/dobjcmn.$(OBJSUFF) \
+               $(COMMDIR)/docmdi.$(OBJSUFF) \
+               $(COMMDIR)/docview.$(OBJSUFF) \
+               $(COMMDIR)/dseldlg.$(OBJSUFF) \
+               $(COMMDIR)/effects.$(OBJSUFF) \
+               $(COMMDIR)/fddlgcmn.$(OBJSUFF) \
+               $(COMMDIR)/fontcmn.$(OBJSUFF) \
+               $(COMMDIR)/framecmn.$(OBJSUFF) \
+               $(COMMDIR)/gaugecmn.$(OBJSUFF) \
+               $(COMMDIR)/gdicmn.$(OBJSUFF) \
+               $(COMMDIR)/geometry.$(OBJSUFF) \
+               $(COMMDIR)/gifdecod.$(OBJSUFF) \
+               $(COMMDIR)/helpbase.$(OBJSUFF) \
+               $(COMMDIR)/imagall.$(OBJSUFF) \
+               $(COMMDIR)/imagbmp.$(OBJSUFF) \
+               $(COMMDIR)/image.$(OBJSUFF) \
+               $(COMMDIR)/imaggif.$(OBJSUFF) \
+               $(COMMDIR)/imagiff.$(OBJSUFF) \
+               $(COMMDIR)/imagjpeg.$(OBJSUFF) \
+               $(COMMDIR)/imagpcx.$(OBJSUFF) \
+               $(COMMDIR)/imagpng.$(OBJSUFF) \
+               $(COMMDIR)/imagpnm.$(OBJSUFF) \
+               $(COMMDIR)/imagtiff.$(OBJSUFF) \
+               $(COMMDIR)/imagxpm.$(OBJSUFF) \
+               $(COMMDIR)/layout.$(OBJSUFF) \
+               $(COMMDIR)/lboxcmn.$(OBJSUFF) \
+               $(COMMDIR)/matrix.$(OBJSUFF) \
+               $(COMMDIR)/menucmn.$(OBJSUFF) \
+               $(COMMDIR)/nbkbase.$(OBJSUFF) \
+               $(COMMDIR)/paper.$(OBJSUFF) \
+               $(COMMDIR)/popupcmn.$(OBJSUFF) \
+               $(COMMDIR)/prntbase.$(OBJSUFF) \
+               $(COMMDIR)/quantize.$(OBJSUFF) \
+               $(COMMDIR)/radiocmn.$(OBJSUFF) \
+               $(COMMDIR)/resource.$(OBJSUFF) \
+               $(COMMDIR)/sizer.$(OBJSUFF) \
+               $(COMMDIR)/statbar.$(OBJSUFF) \
+               $(COMMDIR)/tbarbase.$(OBJSUFF) \
+               $(COMMDIR)/textcmn.$(OBJSUFF) \
+               $(COMMDIR)/toplvcmn.$(OBJSUFF) \
+               $(COMMDIR)/treebase.$(OBJSUFF) \
+               $(COMMDIR)/valgen.$(OBJSUFF) \
+               $(COMMDIR)/validate.$(OBJSUFF) \
+               $(COMMDIR)/valtext.$(OBJSUFF) \
+               $(COMMDIR)/wincmn.$(OBJSUFF) \
+               $(COMMDIR)/wxexpr.$(OBJSUFF) \
+               $(COMMDIR)/xpmdecod.$(OBJSUFF)
+
 HTMLOBJS = \
                 $(HTMLDIR)/helpctrl.$(OBJSUFF) \
                $(HTMLDIR)/helpdata.$(OBJSUFF) \
@@ -249,7 +265,22 @@ HTMLOBJS = \
                $(HTMLDIR)/m_tables.$(OBJSUFF) \
                $(HTMLDIR)/winpars.$(OBJSUFF)
 
+MSWOBJS_BASE = \
+                $(MSWDIR)/dde.$(OBJSUFF) \
+               $(MSWDIR)/dir.$(OBJSUFF) \
+               $(MSWDIR)/gsocket.$(OBJSUFF) \
+               $(MSWDIR)/gsockmsw.$(OBJSUFF) \
+               $(MSWDIR)/main.$(OBJSUFF) \
+               $(MSWDIR)/mimetype.$(OBJSUFF) \
+               $(MSWDIR)/regconf.$(OBJSUFF) \
+               $(MSWDIR)/registry.$(OBJSUFF) \
+               $(MSWDIR)/snglinst.$(OBJSUFF) \
+               $(MSWDIR)/thread.$(OBJSUFF) \
+               $(MSWDIR)/utils.$(OBJSUFF) \
+               $(MSWDIR)/utilsexc.$(OBJSUFF)
+
 MSWOBJS     = \
+                $(MSWOBJS_BASE) \
                $(MSWDIR)/accel.$(OBJSUFF) \
                $(MSWDIR)/app.$(OBJSUFF) \
                $(MSWDIR)/bitmap.$(OBJSUFF) \
@@ -273,12 +304,10 @@ MSWOBJS     = \
                $(MSWDIR)/dcmemory.$(OBJSUFF) \
                $(MSWDIR)/dcprint.$(OBJSUFF) \
                $(MSWDIR)/dcscreen.$(OBJSUFF) \
-               $(MSWDIR)/dde.$(OBJSUFF) \
                $(MSWDIR)/dialog.$(OBJSUFF) \
                $(MSWDIR)/dialup.$(OBJSUFF) \
                $(MSWDIR)/dib.$(OBJSUFF) \
                $(MSWDIR)/dibutils.$(OBJSUFF) \
-               $(MSWDIR)/dir.$(OBJSUFF) \
                $(MSWDIR)/dragimag.$(OBJSUFF) \
                $(MSWDIR)/enhmeta.$(OBJSUFF) \
                $(MSWDIR)/evtloop.$(OBJSUFF) \
@@ -293,8 +322,6 @@ MSWOBJS     = \
                $(MSWDIR)/gdiimage.$(OBJSUFF) \
                $(MSWDIR)/gdiobj.$(OBJSUFF) \
                $(MSWDIR)/glcanvas.$(OBJSUFF) \
-               $(MSWDIR)/gsocket.$(OBJSUFF) \
-               $(MSWDIR)/gsockmsw.$(OBJSUFF) \
                $(MSWDIR)/helpbest.$(OBJSUFF) \
                $(MSWDIR)/helpchm.$(OBJSUFF) \
                $(MSWDIR)/helpwin.$(OBJSUFF) \
@@ -303,12 +330,10 @@ MSWOBJS     = \
                $(MSWDIR)/joystick.$(OBJSUFF) \
                $(MSWDIR)/listbox.$(OBJSUFF) \
                $(MSWDIR)/listctrl.$(OBJSUFF) \
-               $(MSWDIR)/main.$(OBJSUFF) \
                $(MSWDIR)/mdi.$(OBJSUFF) \
                $(MSWDIR)/menu.$(OBJSUFF) \
                $(MSWDIR)/menuitem.$(OBJSUFF) \
                $(MSWDIR)/metafile.$(OBJSUFF) \
-               $(MSWDIR)/mimetype.$(OBJSUFF) \
                $(MSWDIR)/minifram.$(OBJSUFF) \
                $(MSWDIR)/msgdlg.$(OBJSUFF) \
                $(MSWDIR)/nativdlg.$(OBJSUFF) \
@@ -321,13 +346,10 @@ MSWOBJS     = \
                $(MSWDIR)/printwin.$(OBJSUFF) \
                $(MSWDIR)/radiobox.$(OBJSUFF) \
                $(MSWDIR)/radiobut.$(OBJSUFF) \
-               $(MSWDIR)/regconf.$(OBJSUFF) \
                $(MSWDIR)/region.$(OBJSUFF) \
-               $(MSWDIR)/registry.$(OBJSUFF) \
                $(MSWDIR)/scrolbar.$(OBJSUFF) \
                $(MSWDIR)/settings.$(OBJSUFF) \
                $(MSWDIR)/slider95.$(OBJSUFF) \
-               $(MSWDIR)/snglinst.$(OBJSUFF) \
                $(MSWDIR)/spinbutt.$(OBJSUFF) \
                $(MSWDIR)/spinctrl.$(OBJSUFF) \
                $(MSWDIR)/statbmp.$(OBJSUFF) \
@@ -340,17 +362,17 @@ MSWOBJS     = \
                $(MSWDIR)/tbar95.$(OBJSUFF) \
                $(MSWDIR)/textctrl.$(OBJSUFF) \
                $(MSWDIR)/tglbtn.$(OBJSUFF) \
-               $(MSWDIR)/thread.$(OBJSUFF) \
                $(MSWDIR)/timer.$(OBJSUFF) \
                $(MSWDIR)/tooltip.$(OBJSUFF) \
                $(MSWDIR)/toplevel.$(OBJSUFF) \
                $(MSWDIR)/treectrl.$(OBJSUFF) \
-               $(MSWDIR)/utils.$(OBJSUFF) \
-               $(MSWDIR)/utilsexc.$(OBJSUFF) \
                $(MSWDIR)/wave.$(OBJSUFF) \
                $(MSWDIR)/window.$(OBJSUFF)
 
+ADVANCEDOBJS_BASE = \
+
 ADVANCEDOBJS     = \
+                $(ADVANCEDOBJS_BASE) \
                $(COMMDIR)/odbc.$(OBJSUFF) \
                $(MSWDIR)/ole/automtn.$(OBJSUFF) \
                $(MSWDIR)/ole/dataobj.$(OBJSUFF) \
@@ -484,6 +506,9 @@ ifeq ($(MINGW32),1)
 else
   OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) $(DIRDLGOBJ)
 endif
+ifeq ($(wxUSE_GUI),0)
+  OBJECTS = $(MSWOBJS_BASE) $(COMMONOBJS_BASE) $(COMMONOBJS_BASEONLY) $(GENERICOBJS_BASE)
+endif
 
 # MBN: if anyone has a better solution for this kludge, step
 #      forward, *please*
@@ -504,7 +529,7 @@ else
 endif
 
 #ARCHINCDIR=$(subst $(PATH_SUBST),$(PATH_SEPARATOR),$(WXDIR)/lib/msw$(INCEXT))
-ARCHINCDIR=$(WXDIR)/lib/msw$(INCEXT)
+ARCHINCDIR=$(WXDIR)/lib/$(TOOLKIT)$(INCEXT)
 
 SETUP_H=$(ARCHINCDIR)/wx/setup.h