Loading ...
Sorry, an error occurred while loading the content.

Makefile patch for shadow

Expand Messages
  • Mark Waggoner
    I have sometimes run into a problem when compiling vim for multiple platforms. The usual way that I create multi-platform builds is: On each platform: setenv
    Message 1 of 1 , Apr 21, 2000
    • 0 Attachment
      I have sometimes run into a problem when compiling vim for multiple
      platforms. The usual way that I create multi-platform builds is:

      On each platform:
      setenv PLATFORM <name-of-this-platform>
      make shadow
      mv shadow $PLATFORM
      cd $PLATFORM
      make
      ...

      If you automate this and spawn build processes off onto multiple
      machines at the same time, however, the make shadow step can be a
      problem since all the machines will want to make the same "shadow"
      directory. Here is a makefile patch that fixes it for gmake by
      allowing you to define an environment variable "SHADOWDIR", which will
      give the name of the shadow directory you want to create.

      I don't know if this will work across other make versions;
      Suggestions as to making it more generic are welcome.


      *** Makefile.orig Fri Apr 21 15:03:58 2000
      --- Makefile Fri Apr 21 15:42:34 2000
      ***************
      *** 1542,1562 ****
      cd ctags; $(MAKE) -f Makefile SUFFIX="$(SUFFIX)" clean; \
      fi

      shadow: runtime pixmaps
      ! mkdir shadow
      ! cd shadow; ln -s ../*.[ch] ../*.in ../*.sh ../*.xs ../*.xbm ../toolcheck ../proto ../configure ../vimtutor .
      ! cd shadow; rm -f osdef.h config.h pathdef.c link.sed
      ! cp Makefile shadow
      ! echo "the first targets to make vim are: scratch config myself" > shadow/config.mk
      ! mkdir shadow/ctags
      ! cd shadow/ctags; ln -s ../../ctags/*.[ch1] \
      ../../ctags/*.in \
      ../../ctags/mkinstalldirs \
      ../../ctags/configure .
      ! mkdir shadow/xxd
      ! cd shadow/xxd; ln -s ../../xxd/*.[ch] ../../xxd/Make* .
      ! mkdir shadow/testdir
      ! cd shadow/testdir; ln -s ../../testdir/Makefile \
      ../../testdir/vimrc.unix \
      ../../testdir/*.in \
      ../../testdir/*.ok .
      --- 1542,1566 ----
      cd ctags; $(MAKE) -f Makefile SUFFIX="$(SUFFIX)" clean; \
      fi

      + ifeq ($(SHADOWDIR),)
      + SHADOWDIR=shadow
      + endif
      +
      shadow: runtime pixmaps
      ! mkdir $(SHADOWDIR)
      ! cd $(SHADOWDIR); ln -s ../*.[ch] ../*.in ../*.sh ../*.xs ../*.xbm ../toolcheck ../proto ../configure ../vimtutor .
      ! cd $(SHADOWDIR); rm -f osdef.h config.h pathdef.c link.sed
      ! cp Makefile $(SHADOWDIR)
      ! echo "the first targets to make vim are: scratch config myself" > $(SHADOWDIR)/config.mk
      ! mkdir $(SHADOWDIR)/ctags
      ! cd $(SHADOWDIR)/ctags; ln -s ../../ctags/*.[ch1] \
      ../../ctags/*.in \
      ../../ctags/mkinstalldirs \
      ../../ctags/configure .
      ! mkdir $(SHADOWDIR)/xxd
      ! cd $(SHADOWDIR)/xxd; ln -s ../../xxd/*.[ch] ../../xxd/Make* .
      ! mkdir $(SHADOWDIR)/testdir
      ! cd $(SHADOWDIR)/testdir; ln -s ../../testdir/Makefile \
      ../../testdir/vimrc.unix \
      ../../testdir/*.in \
      ../../testdir/*.ok .


      --------------------------------------------------------------------------
      Mark Waggoner waggoner@... (503) 613-7638
      "Besides, now, it's getting quite late in the day
      And _surely_ tomorrow they'll all go away."
    Your message has been successfully submitted and would be delivered to recipients shortly.