]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/Makefile.pre.in
fixed somebody's poorly done StreamSize-->GetSize transition
[wxWidgets.git] / utils / wxPython / src / Makefile.pre.in
index 88d7e02d8e37fa4ea0cbebb59c1e4682564a4b07..733998e4a99f150863290db323b6702c01642b55 100644 (file)
@@ -1,3 +1,4 @@
+# -*- makefile -*-
 # Universal Unix Makefile for Python extensions
 # =============================================
 
@@ -177,10 +178,20 @@ INSTALL=  $(LIBPL)/install-sh -c
 # Also, making them read-only seems to be a good idea...
 INSTALL_SHARED=        ${INSTALL} -m 555
 
+#---------------------------------------------------
+# Possibly change some definintions for C++
+ifdef MY_LDSHARED
+LDSHARED=$(MY_LDSHARED)
+endif
+ifdef MY_LINKCC
+LINKCC=$(MY_LINKCC)
+endif
+
+
 # === Fixed rules ===
 
 # Default target.  This builds shared libraries only
-default:       sharedmods
+default:       $(HELPERLIB) sharedmods
 
 # Build everything
 all:           static sharedmods
@@ -198,7 +209,7 @@ $(TARGET):  $(ADDOBJS) lib.a $(PYTHONLIBS) Makefile $(BASELIB)
 
 #------------------------------------------------------------------------
 #------------------------------------------------------------------------
-# This is a defaul version of the install target for wxPython.  It just
+# This is a default version of the install target for wxPython.  It just
 # redirects to wxInstall below...
 
 install:       wxInstall
@@ -236,11 +247,11 @@ config.o: config.c
 
 # Setup is copied from Setup.in *only* if it doesn't yet exist
 Setup:
-               cp $(srcdir)/Setup.in Setup
+               cp Setup.in Setup
 
 # Make the intermediate Makefile.pre from Makefile.pre.in
 Makefile.pre: Makefile.pre.in sedscript
-               sed -f sedscript $(srcdir)/Makefile.pre.in >Makefile.pre
+               sed -f sedscript Makefile.pre.in >Makefile.pre
 
 # Shortcuts to make the sed arguments on one line
 P=prefix
@@ -286,7 +297,7 @@ boot:       clobber
        VERSION=`$(PYTHON) -c "import sys; print sys.version[:3]"`; \
        installdir=`$(PYTHON) -c "import sys; print sys.prefix"`; \
        exec_installdir=`$(PYTHON) -c "import sys; print sys.exec_prefix"`; \
-       $(MAKE) -f $(srcdir)/Makefile.pre.in VPATH=$(VPATH) srcdir=$(srcdir) \
+       $(MAKE) -f Makefile.pre.in VPATH=$(VPATH) srcdir=$(srcdir) \
                VERSION=$$VERSION \
                installdir=$$installdir \
                exec_installdir=$$exec_installdir \
@@ -314,64 +325,132 @@ distclean:       clobber
 # Custom rules and dependencies added for wxPython
 #
 
-SWIGFLAGS=-c++ -shadow -python -dnone
+WXP_VERSION=2.1b2
 
-ifndef FINAL
-PYEXT=pyc
-PYTHON=python
-else
-PYEXT=pyo
-PYTHON=python -O
-endif
+SWIGFLAGS=-c++ -shadow -python -dnone -D__WXGTK__ $(SEPARATE)
 
-PYMODULES = wxp.py       events.py    windows.py   misc.py      \
-           gdi.py       mdi.py       controls.py  controls2.py \
-            windows2.py  cmndlgs.py   __init__.py
 
+PYMODULES = $(GENCODEDIR)/wx.py        $(GENCODEDIR)/events.py    \
+           $(GENCODEDIR)/windows.py   $(GENCODEDIR)/misc.py      \
+           $(GENCODEDIR)/gdi.py       $(GENCODEDIR)/mdi.py       \
+           $(GENCODEDIR)/controls.py  $(GENCODEDIR)/controls2.py \
+            $(GENCODEDIR)/windows2.py  $(GENCODEDIR)/cmndlgs.py   \
+           $(GENCODEDIR)/stattool.py  $(GENCODEDIR)/frames.py    \
+           $(GENCODEDIR)/windows3.py  __init__.py                \
+           $(GENCODEDIR)/utils.py     $(GENCODEDIR)/image.py     \
+           $(GENCODEDIR)/printfw.py   $(GENCODEDIR)/misc2.py     \
+            $(GENCODEDIR)/glcanvas.py
 
 
 # Implicit rules to run SWIG
-%.cpp : %.i
-       swig $(SWIGFLAGS) -c -o $*.cpp $*.i
-
-$(TARGETDIR)/%.py : %.py
-       cp $< $@
+$(GENCODEDIR)/%.cpp : %.i
+       swig $(SWIGFLAGS) -c -o $@ $<
 
-$(TARGETDIR)/%.$(PYEXT) : %.py
-       $(PYTHON) -c "import py_compile; py_compile.compile('$<', '$@')"
-
-%.py : %.i
-       swig $(SWIGFLAGS) -c -o $*.cpp $*.i
+$(GENCODEDIR)/%.py : %.i
+       swig $(SWIGFLAGS) -c -o $@ $<
 
 
 # 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
+#$(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
-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
-
-
-
-wxInstall :    sharedmods $(PYMODULES)
+$(GENCODEDIR)/wx.cpp        $(GENCODEDIR)/wx.py        : wx.i         my_typemaps.i _defs.i _extras.py
+$(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)/misc2.cpp     $(GENCODEDIR)/misc2.py     : misc2.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)/frames.cpp    $(GENCODEDIR)/frames.py    : frames.i     my_typemaps.i _defs.i
+$(GENCODEDIR)/stattool.cpp  $(GENCODEDIR)/stattool.py  : stattool.i   my_typemaps.i _defs.i
+$(GENCODEDIR)/image.cpp     $(GENCODEDIR)/image.py     : image.i      my_typemaps.i _defs.i
+$(GENCODEDIR)/utils.cpp     $(GENCODEDIR)/utils.py     : utils.i      my_typemaps.i _defs.i
+$(GENCODEDIR)/printfw.cpp   $(GENCODEDIR)/printfw.py   : printfw.i    my_typemaps.i _defs.i
+$(GENCODEDIR)/glcanvas.cpp  $(GENCODEDIR)/glcanvas.py  : glcanvas.i   my_typemaps.i _defs.i
+
+$(GENCODEDIR)/helpers.cpp:
+       ln -s `pwd`/helpers.cpp $@
+
+$(GENCODEDIR)/libpy.c:
+       ln -s `pwd`/libpy.c $@
+
+$(GENCODEDIR)/libptr.c:
+       ln -s `pwd`/libptr.c $@
+
+$(GENCODEDIR)/_glcanvas.cpp:
+       -cp $(WXWIN)/utils/glcanvas/$(GENCODEDIR)/glcanvas.cpp $@
+       -cp $(WXWIN)/utils/glcanvas/$(GENCODEDIR)/glcanvas.h ./glcanvas.h
+
+
+wxInstall :    $(HELPERLIB) sharedmods $(PYMODULES)
        if test ! -d $(TARGETDIR) ; then \
                mkdir $(TARGETDIR) ; else true ; fi
-       -for i in $(SHAREDMODS); do \
-               $(INSTALL_SHARED) $$i $(TARGETDIR)/$$i; \
-       done
+       if [ "$(SHAREDMODS)" != "" ]; then \
+                chmod 755 $(SHAREDMODS); \
+                cp $(SHAREDMODS) $(TARGETDIR); fi
        -for i in $(PYMODULES); do \
-               $(INSTALL) $$i $(TARGETDIR)/$$i; \
+               cp $$i $(TARGETDIR); \
        done
-       python $(LIBDEST)/compileall.py -l $(TARGETDIR)
-       python -O $(LIBDEST)/compileall.py -l $(TARGETDIR)
+       if [ "$(TARGETDIR)" != ".." ]; then                     \
+               mkdir $(TARGETDIR)/lib;                         \
+               mkdir $(TARGETDIR)/lib/sizers;                  \
+               mkdir $(TARGETDIR)/demo;                        \
+               mkdir $(TARGETDIR)/demo/bitmaps;                \
+               cp ../lib/*.py $(TARGETDIR)/lib;                \
+               cp ../lib/sizers/*.py $(TARGETDIR)/lib/sizers;  \
+               cp ../demo/*.py $(TARGETDIR)/demo;              \
+               cp ../lib/*.txt $(TARGETDIR)/lib;               \
+               cp ../lib/sizers/*.txt $(TARGETDIR)/lib/sizers; \
+               cp ../demo/*.txt $(TARGETDIR)/demo;             \
+               cp ../demo/bitmaps/[a-z]* $(TARGETDIR)/demo/bitmaps;    \
+       fi
+       if [ "$(TARGETDIR)" != ".." ]; then      \
+               python $(LIBDEST)/compileall.py $(TARGETDIR);      \
+               python -O $(LIBDEST)/compileall.py $(TARGETDIR);   \
+       else                                                       \
+               python $(LIBDEST)/compileall.py -l $(TARGETDIR);   \
+               python -O $(LIBDEST)/compileall.py -l $(TARGETDIR);\
+       fi
+ifdef HELPERLIB
+       cp lib$(WXPYLIB)$(SO) $(WXPYLIBDIR)
+       @echo ---------------------------------------------------------
+       @echo You may have to run ldconfig, or set an environment
+       @echo variable in order for $(WXPYLIBDIR)/lib$(WXPYLIB)$(SO)
+       @echo to be found at runtime.  See your man pages for ld.so or
+       @echo equivalent.
+       @echo ---------------------------------------------------------
+endif
+
+ifdef HELPERLIB
+helpers.o: $(srcdir)/helpers.cpp; $(CCC) $(CCSHARED)  $(C_DEFINES) $(C_FLAGS) $(CFLAGS) -c $(srcdir)/helpers.cpp
+libpy.o: $(srcdir)/libpy.c; $(CC) $(CCSHARED)  $(C_DEFINES) $(C_FLAGS) $(CFLAGS) -c $(srcdir)/libpy.c
+libptr.o: $(srcdir)/libptr.c; $(CC) $(CCSHARED)  $(C_DEFINES) $(C_FLAGS) $(CFLAGS) -c $(srcdir)/libptr.c
+
+$(HELPERLIB) : helpers.o libpy.o libptr.o
+       $(LDSHARED) helpers.o libpy.o libptr.o  $(C_DEFINES) $(C_FLAGS) -Xlinker $(WX_CONFIG_LIBS) -o $@
+endif
+
+
+lib : libwxPython.a
+
+libwxPython.a : lib.a
+       cp $< $@
+
+dist: tgz rpm
+
+tgz:
+       cd ../..; wxPython/distrib/maketgz $(WXP_VERSION)
+
+rpm:
+       cd ../distrib; ./makerpm $(WXP_VERSION)
+
+