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 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2919 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
340 lines
9.9 KiB
Plaintext
340 lines
9.9 KiB
Plaintext
#----------------------------------------------------------------------------
|
|
# Name: makefile.nt
|
|
# Purpose: Win32, VC++ 5 makefile for wxPython
|
|
#
|
|
# Author: Robin Dunn
|
|
#
|
|
# Created: 3/27/97
|
|
# RCS-ID: $Id$
|
|
# 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=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, and should be
|
|
# named wxPython
|
|
TARGETDIR=..
|
|
|
|
# Set this to 1 for make to pre-compile the Python modules, 0 to
|
|
# just copy the sources and let Python compile them at the first
|
|
# runtime.
|
|
COMPILEPY=0
|
|
|
|
SEPARATE=0
|
|
|
|
#----------------------------------------------------------------------
|
|
|
|
WXUSINGDLL=0
|
|
NOPCH=1
|
|
THISDIR=$(WXDIR)\utils\wxPython
|
|
|
|
EXTRALIBS=$(PYTHONDIR)\libs\python15.lib
|
|
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 = wxc
|
|
|
|
OBJECTS = wx.obj helpers.obj windows.obj events.obj \
|
|
misc.obj gdi.obj mdi.obj controls.obj \
|
|
controls2.obj windows2.obj cmndlgs.obj stattool.obj \
|
|
frames.obj windows3.obj \
|
|
!if "$(SEPARATE)" == "0"
|
|
utils.obj
|
|
!else
|
|
|
|
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)\stattool.py $(TARGETDIR)\frames.py \
|
|
$(TARGETDIR)\utils.py $(TARGETDIR)\windows3.py \
|
|
$(TARGETDIR)\__init__.py
|
|
|
|
|
|
#----------------------------------------------------------------------
|
|
|
|
!if "$(FINAL)" == "0"
|
|
DEBUGLFLAGS = /DEBUG /INCREMENTAL:YES
|
|
!else
|
|
DEBUGLFLAGS = /INCREMENTAL:NO
|
|
!endif
|
|
|
|
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 $(target2) pycfiles
|
|
|
|
all: wx $(TARGET) $(TARGET2)
|
|
|
|
wx:
|
|
cd $(WXDIR)\src\msw
|
|
nmake -f makefile.nt FINAL=$(FINAL)
|
|
cd $(THISDIR)
|
|
|
|
wxclean:
|
|
cd $(WXDIR)\src\msw
|
|
nmake -f makefile.nt clean
|
|
cd $(THISDIR)
|
|
|
|
|
|
pycfiles : $(PYMODULES)
|
|
!if "$(COMPILEPY)" == "1"
|
|
$(PYTHONDIR)\python $(PYTHONDIR)\Lib\compileall.py -l $(TARGETDIR)
|
|
$(PYTHONDIR)\python -O $(PYTHONDIR)\Lib\compileall.py -l $(TARGETDIR)
|
|
!endif
|
|
|
|
#----------------------------------------------------------------------
|
|
|
|
$(TARGETDIR)\$(TARGET).pyd : $(DUMMYOBJ) $(WXLIB) $(OBJECTS) $(TARGET).res
|
|
$(link) @<<
|
|
/out:$@ /dll
|
|
$(LFLAGS)
|
|
$(DUMMYOBJ) $(OBJECTS) $(TARGET).res
|
|
$(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
|
|
|
|
|
|
|
|
# implicit rule for compiling .cpp files
|
|
{}.cpp{}.obj:
|
|
$(cc) @<<
|
|
$(CPPFLAGS) /c /Tp $<
|
|
<<
|
|
|
|
{$(GENCODEDIR)}.cpp{}.obj:
|
|
$(cc) @<<
|
|
$(CPPFLAGS) /c /Tp $<
|
|
<<
|
|
|
|
|
|
clean:
|
|
-erase *.obj
|
|
-erase *.exe
|
|
-erase *.res
|
|
-erase *.map
|
|
-erase *.sbr
|
|
-erase *.pdb
|
|
-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
|
|
|
|
|
|
|
|
#------------------------------------------------------------------------
|
|
|
|
.SUFFIXES : .i .py
|
|
|
|
# Implicit rules to run SWIG
|
|
{}.i{$(GENCODEDIR)}.cpp:
|
|
swig $(SWIGFLAGS) -c -o $@ $<
|
|
|
|
{}.i{$(GENCODEDIR)}.py:
|
|
swig $(SWIGFLAGS) -c -o $@ $<
|
|
|
|
|
|
{$(GENCODEDIR)}.py{$(TARGETDIR)}.py:
|
|
copy $< $@
|
|
|
|
{}.py{$(TARGETDIR)}.py:
|
|
copy $< $@
|
|
|
|
#{}.py{$(TARGETDIR)}.$(PYEXT):
|
|
# $(PYTHON) -c "import py_compile; py_compile.compile('$<', '$@')"
|
|
|
|
|
|
|
|
|
|
# This one must leave out the -c flag so we define the whole rule
|
|
$(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
|
|
# different each time.
|
|
#
|
|
# - A few minor fixes.
|
|
#
|
|
# Revision 1.2 1998/08/14 03:34:23 RD
|
|
# made pre-compiling the python files optional
|
|
#
|
|
# Revision 1.1 1998/08/09 08:25:51 RD
|
|
# Initial version
|
|
#
|