X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/853b255a6b035f9448b4ca7e07a453be7bd2f892..2356708db31b737c6eae53c2316b642aa5a2e68d:/utils/wxPython/src/Makefile.pre.in diff --git a/utils/wxPython/src/Makefile.pre.in b/utils/wxPython/src/Makefile.pre.in index 3f79a65c93..733998e4a9 100644 --- a/utils/wxPython/src/Makefile.pre.in +++ b/utils/wxPython/src/Makefile.pre.in @@ -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 -D__WXGTK__ +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) + +