# Copyright: (c) 1998 by Total Control Software
# Licence: wxWindows license
#----------------------------------------------------------------------------
+VERSION=0.5.4
# Set WXDIR to the root wxWindows directory for your system
WXDIR = $(WXWIN)
# Set this to the root of the Python installation
-PYTHONDIR=e:\Tools\Python15
+PYTHONDIR=d:\Python
# Set this to 1 for a non-debug, optimised compile
FINAL=0
# Set this to where you want the stuff installed at. It should
-# be a directory contained in a PYTHONPATH directory.
+# be a directory contained in a PYTHONPATH directory, and should be
+# named wxPython
TARGETDIR=..
# Set this to 1 for make to pre-compile the Python modules, 0 to
# runtime.
COMPILEPY=0
+SEPARATE=0
+
#----------------------------------------------------------------------
WXUSINGDLL=0
THISDIR=$(WXDIR)\utils\wxPython
EXTRALIBS=$(PYTHONDIR)\libs\python15.lib
-EXTRAINC=-I$(PYTHONDIR)\include
+EXTRAINC=-I$(PYTHONDIR)\include -I.
EXTRAFLAGS=/Fpwxp.pch /YXhelpers.h -DSWIG_GLOBAL -DHAVE_CONFIG_H
+OVERRIDEFLAGS=/GX-
+
SWIGFLAGS=-c++ -shadow -python -dnone -D__WXMSW__
+GENCODEDIR=msw
!include $(WXDIR)\src\ntwxwin.mak
#----------------------------------------------------------------------
-TARGET = wxpc
+TARGET = wxc
-OBJECTS = wxp.obj helpers.obj windows.obj events.obj \
+OBJECTS = wx.obj helpers.obj windows.obj events.obj \
misc.obj gdi.obj mdi.obj controls.obj \
- controls2.obj windows2.obj cmndlgs.obj
+ controls2.obj windows2.obj cmndlgs.obj stattool.obj \
+ frames.obj windows3.obj \
+!if "$(SEPARATE)" == "0"
+ utils.obj
+!else
-PYMODULES = $(TARGETDIR)\wxp.py $(TARGETDIR)\events.py \
+TARGET2 = utilsc
+OBJECTS2 = utils.obj
+target2=$(TARGETDIR)\$(TARGET2).pyd
+!endif
+
+PYMODULES = $(TARGETDIR)\wx.py $(TARGETDIR)\events.py \
$(TARGETDIR)\windows.py $(TARGETDIR)\misc.py \
$(TARGETDIR)\gdi.py $(TARGETDIR)\mdi.py \
$(TARGETDIR)\controls.py $(TARGETDIR)\controls2.py \
$(TARGETDIR)\windows2.py $(TARGETDIR)\cmndlgs.py \
- $(TARGETDIR)\__init__.py
+ $(TARGETDIR)\stattool.py $(TARGETDIR)\frames.py \
+ $(TARGETDIR)\utils.py $(TARGETDIR)\windows3.py \
+ $(TARGETDIR)\__init__.py
+
#----------------------------------------------------------------------
LFLAGS= $(DEBUGLFLAGS) /DLL /def:$(TARGET).def /subsystem:windows,3.50 \
/machine:I386 /implib:./$(TARGET).lib /nologo
+LFLAGS2=$(DEBUGLFLAGS) /DLL /def:$(TARGET2).def /subsystem:windows,3.50 \
+ /machine:I386 /implib:./$(TARGET2).lib /nologo
+
#----------------------------------------------------------------------
-default: $(TARGETDIR)\$(TARGET).pyd pycfiles
+default: $(TARGETDIR)\$(TARGET).pyd $(target2) pycfiles
-all: wx $(TARGET)
+all: wx $(TARGET) $(TARGET2)
wx:
cd $(WXDIR)\src\msw
$(LIBS)
<<
+$(TARGETDIR)\$(TARGET2).pyd : $(DUMMYOBJ) $(WXLIB) $(OBJECTS2)
+ $(link) @<<
+/out:$@ /dll
+$(LFLAGS2)
+$(DUMMYOBJ) $(OBJECTS2)
+$(LIBS)
+<<
+
$(TARGET).res : $(TARGET).rc $(WXDIR)\include\wx\msw\wx.rc
$(rc) -r /i$(WXDIR)\include -fo$@ $(TARGET).rc
$(CPPFLAGS) /c /Tp $<
<<
+{$(GENCODEDIR)}.cpp{}.obj:
+ $(cc) @<<
+$(CPPFLAGS) /c /Tp $<
+<<
+
clean:
-erase *.obj
-erase *.pch
-erase $(TARGET).exp
-erase $(TARGET).lib
+ -erase $(TARGETDIR)\$(TARGET).*
+!if "$(SEPARATE)" != "0"
+ -erase $(TARGET2).exp
+ -erase $(TARGET2).lib
+ -erase $(TARGETDIR)\$(TARGET2).*
+!endif
-erase $(TARGETDIR)\$(TARGET).pyd
-erase $(TARGETDIR)\*.py
-erase $(TARGETDIR)\*.pyc
-erase $(TARGETDIR)\*.pyo
- -erase $(TARGETDIR)\$(TARGET).*
.SUFFIXES : .i .py
# Implicit rules to run SWIG
-{}.i{}.cpp:
- swig $(SWIGFLAGS) -c -o $*.cpp $*.i
+{}.i{$(GENCODEDIR)}.cpp:
+ swig $(SWIGFLAGS) -c -o $@ $<
+
+{}.i{$(GENCODEDIR)}.py:
+ swig $(SWIGFLAGS) -c -o $@ $<
+
-{}.i{}.py:
- swig $(SWIGFLAGS) -c -o $*.cpp $*.i
+{$(GENCODEDIR)}.py{$(TARGETDIR)}.py:
+ copy $< $@
{}.py{$(TARGETDIR)}.py:
copy $< $@
# This one must leave out the -c flag so we define the whole rule
-wxp.cpp wxp.py : wxp.i my_typemaps.i _defs.i _extras.py
- swig $(SWIGFLAGS) -o wxp.cpp wxp.i
-
-
-# define some dependencies
-windows.cpp windows.py : windows.i my_typemaps.i _defs.i
-windows2.cpp windows2.py : windows2.i my_typemaps.i _defs.i
-events.cpp events.py : events.i my_typemaps.i _defs.i
-misc.cpp misc.py : misc.i my_typemaps.i _defs.i
-gdi.cpp gdi.py : gdi.i my_typemaps.i _defs.i
-mdi.cpp mdi.py : mdi.i my_typemaps.i _defs.i
-controls.cpp controls.py : controls.i my_typemaps.i _defs.i
-controls2.cpp controls2.py : controls2.i my_typemaps.i _defs.i
-cmndlgs.cpp cmndlgs.py : cmndlgs.i my_typemaps.i _defs.i
-
-
-$(TARGETDIR)\wxp.py : wxp.py
-$(TARGETDIR)\windows.py : windows.py
-$(TARGETDIR)\windows2.py : windows2.py
-$(TARGETDIR)\events.py : events.py
-$(TARGETDIR)\misc.py : misc.py
-$(TARGETDIR)\gdi.py : gdi.py
-$(TARGETDIR)\mdi.py : mdi.py
-$(TARGETDIR)\controls.py : controls.py
-$(TARGETDIR)\controls2.py : controls2.py
-$(TARGETDIR)\cmndlgs.py : cmndlgs.py
+$(GENCODEDIR)\wx.cpp $(GENCODEDIR)\wx.py : wx.i my_typemaps.i _defs.i _extras.py
+ swig $(SWIGFLAGS) -o $(GENCODEDIR)/wx.cpp wx.i
+
+
+# Define some dependencies. These MUST use forward slashes so SWIG
+# will write the shadow file to the right directory.
+$(GENCODEDIR)/windows.cpp $(GENCODEDIR)/windows.py : windows.i my_typemaps.i _defs.i
+$(GENCODEDIR)/windows2.cpp $(GENCODEDIR)/windows2.py : windows2.i my_typemaps.i _defs.i
+$(GENCODEDIR)/windows3.cpp $(GENCODEDIR)/windows3.py : windows3.i my_typemaps.i _defs.i
+$(GENCODEDIR)/events.cpp $(GENCODEDIR)/events.py : events.i my_typemaps.i _defs.i
+$(GENCODEDIR)/misc.cpp $(GENCODEDIR)/misc.py : misc.i my_typemaps.i _defs.i
+$(GENCODEDIR)/gdi.cpp $(GENCODEDIR)/gdi.py : gdi.i my_typemaps.i _defs.i
+$(GENCODEDIR)/mdi.cpp $(GENCODEDIR)/mdi.py : mdi.i my_typemaps.i _defs.i
+$(GENCODEDIR)/controls.cpp $(GENCODEDIR)/controls.py : controls.i my_typemaps.i _defs.i
+$(GENCODEDIR)/controls2.cpp $(GENCODEDIR)/controls2.py : controls2.i my_typemaps.i _defs.i
+$(GENCODEDIR)/cmndlgs.cpp $(GENCODEDIR)/cmndlgs.py : cmndlgs.i my_typemaps.i _defs.i
+$(GENCODEDIR)/stattool.cpp $(GENCODEDIR)/stattool.py : stattool.i my_typemaps.i _defs.i
+$(GENCODEDIR)/frames.cpp $(GENCODEDIR)/frames.py : frames.i my_typemaps.i _defs.i
+
+!if "$(SEPARATE)" == "1"
+$(GENCODEDIR)\utils.cpp $(GENCODEDIR)\utils.py : utils.i my_typemaps.i
+ swig $(SWIGFLAGS) -o $(GENCODEDIR)/utils.cpp utils.i
+!else
+$(GENCODEDIR)/utils.cpp $(GENCODEDIR)/utils.py : utils.i my_typemaps.i _defs.i
+!endif
+$(TARGETDIR)\wx.py : $(GENCODEDIR)\wx.py
+$(TARGETDIR)\windows.py : $(GENCODEDIR)\windows.py
+$(TARGETDIR)\windows2.py : $(GENCODEDIR)\windows2.py
+$(TARGETDIR)\windows3.py : $(GENCODEDIR)\windows3.py
+$(TARGETDIR)\events.py : $(GENCODEDIR)\events.py
+$(TARGETDIR)\misc.py : $(GENCODEDIR)\misc.py
+$(TARGETDIR)\gdi.py : $(GENCODEDIR)\gdi.py
+$(TARGETDIR)\mdi.py : $(GENCODEDIR)\mdi.py
+$(TARGETDIR)\controls.py : $(GENCODEDIR)\controls.py
+$(TARGETDIR)\controls2.py : $(GENCODEDIR)\controls2.py
+$(TARGETDIR)\cmndlgs.py : $(GENCODEDIR)\cmndlgs.py
+$(TARGETDIR)\frames.py : $(GENCODEDIR)\frames.py
+$(TARGETDIR)\stattool.py : $(GENCODEDIR)\stattool.py
+$(TARGETDIR)\utils.py : $(GENCODEDIR)\utils.py
+$(TARGETDIR)\__init__.py : __init__.py
+
+
+SOURCES = $(GENCODEDIR)\wx.cpp $(GENCODEDIR)\wx.py \
+ $(GENCODEDIR)/windows.cpp $(GENCODEDIR)/windows.py \
+ $(GENCODEDIR)/windows2.cpp $(GENCODEDIR)/windows2.py \
+ $(GENCODEDIR)/windows3.cpp $(GENCODEDIR)/windows3.py \
+ $(GENCODEDIR)/events.cpp $(GENCODEDIR)/events.py \
+ $(GENCODEDIR)/misc.cpp $(GENCODEDIR)/misc.py \
+ $(GENCODEDIR)/gdi.cpp $(GENCODEDIR)/gdi.py \
+ $(GENCODEDIR)/mdi.cpp $(GENCODEDIR)/mdi.py \
+ $(GENCODEDIR)/controls.cpp $(GENCODEDIR)/controls.py \
+ $(GENCODEDIR)/controls2.cpp $(GENCODEDIR)/controls2.py\
+ $(GENCODEDIR)/cmndlgs.cpp $(GENCODEDIR)/cmndlgs.py \
+ $(GENCODEDIR)/stattool.cpp $(GENCODEDIR)/stattool.py \
+ $(GENCODEDIR)/frames.cpp $(GENCODEDIR)/frames.py \
+ $(GENCODEDIR)/utils.cpp $(GENCODEDIR)/utils.py \
+
+
+sources : $(SOURCES)
+
+
+dist:
+ cd ..\..
+ wxPython\distrib\zipit.bat $(VERSION)
+
#------------------------------------------------------------------------
#
# $Log$
+# Revision 1.12 1999/06/28 21:39:47 VZ
+# 1. wxStaticLine implemented (generic (ugly) and MSW versions)
+# 2. wxTextDialog looks fine under MSW again
+# 3. startup tips added: code, sample, docs
+# 4. read-only text controls don't participate in TAB traversal
+#
+# Revision 1.11 1999/02/06 23:47:02 RD
+#
+# Changing makefile.nt to makefile.vc as in rest of wxWindows
+#
+# Revision 1.10 1999/02/01 00:10:40 RD
+#
+# Added the missing EVT_LIST_ITEM_SELECTED and friends.
+#
+# Revision 1.9 1999/01/30 07:30:13 RD
+#
+# Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc.
+#
+# Various cleanup, tweaks, minor additions, etc. to maintain
+# compatibility with the current wxWindows.
+#
+# Revision 1.8 1998/12/21 19:58:06 RD
+#
+# Now compiles with /GX- on MSW.
+#
+# Revision 1.7 1998/12/15 20:41:20 RD
+# Changed the import semantics from "from wxPython import *" to "from
+# wxPython.wx import *" This is for people who are worried about
+# namespace pollution, they can use "from wxPython import wx" and then
+# prefix all the wxPython identifiers with "wx."
+#
+# Added wxTaskbarIcon for wxMSW.
+#
+# Made the events work for wxGrid.
+#
+# Added wxConfig.
+#
+# Added wxMiniFrame for wxGTK, (untested.)
+#
+# Changed many of the args and return values that were pointers to gdi
+# objects to references to reflect changes in the wxWindows API.
+#
+# Other assorted fixes and additions.
+#
+# Revision 1.6 1998/10/02 06:40:41 RD
+#
+# Version 0.4 of wxPython for MSW.
+#
+# Revision 1.5 1998/08/19 00:38:23 RD
+#
+# A few tweaks
+#
+# Revision 1.4 1998/08/18 21:55:10 RD
+#
+# New build directory structure
+#
# Revision 1.3 1998/08/15 07:36:37 RD
# - Moved the header in the .i files out of the code that gets put into
# the .cpp files. It caused CVS conflicts because of the RCS ID being