ByteLoader mark 2
[p5sagit/p5-mst-13.2.git] / Makefile.SH
index 1ba5e80..0c02a43 100644 (file)
@@ -46,6 +46,9 @@ true)
        rhapsody*)
                ldlibpth="DYLD_LIBRARY_PATH=`pwd`/Perl:$DYLD_LIBRARY_PATH"
                ;;
+       cygwin*)        ldlibpth="PATH=`pwd`:$PATH"
+               linklibperl="-lperl"
+               ;;
        os2*)   # OS/2 doesn't need anything special for LD_LIBRARY_PATH.
                ldlibpth=''
                ;;
@@ -68,8 +71,9 @@ true)
                aixinstdir=`pwd | sed 's/\/UU$//'`
                linklibperl="-L $archlibexp/CORE -L $aixinstdir -lperl"
                ;;
-       hpux10*|hpux11*)
-               linklibperl="-L `pwd | sed 's/\/UU$//'` -Wl,+b$archlibexp/CORE -lperl"
+       hpux*)
+               linklibperl="-L `pwd | sed 's/\/UU$//'` -Wl,+s -Wl,+b$archlibexp/CORE -lperl"
+               ldlibpth="SHLIB_PATH=`pwd`:${SHLIB_PATH}"
                ;;
        beos*)  ldlibpth="LIBRARY_PATH=`pwd`:$LIBRARY_PATH"
                ;;
@@ -220,16 +224,16 @@ h1 = EXTERN.h INTERN.h XSUB.h av.h config.h cop.h cv.h dosish.h
 h2 = embed.h form.h gv.h handy.h hv.h keywords.h mg.h op.h
 h3 = opcode.h patchlevel.h perl.h perly.h pp.h proto.h regcomp.h
 h4 = regexp.h scope.h sv.h unixish.h util.h iperlsys.h thread.h
-h5 = bytecode.h byterun.h utf8.h warning.h
+h5 = utf8.h warning.h
 h = $(h1) $(h2) $(h3) $(h4) $(h5)
 
-c1 = $(mallocsrc) av.c scope.c op.c doop.c doio.c dump.c hv.c mg.c byterun.c
+c1 = $(mallocsrc) av.c scope.c op.c doop.c doio.c dump.c hv.c mg.c
 c2 = perl.c perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c
 c3 = gv.c sv.c taint.c toke.c util.c deb.c run.c universal.c globals.c perlio.c
 
 c = $(c1) $(c2) $(c3) miniperlmain.c perlmain.c
 
-obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) byterun$(OBJ_EXT)
+obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT)
 obj2 = hv$(OBJ_EXT) av$(OBJ_EXT) run$(OBJ_EXT) pp_hot$(OBJ_EXT) sv$(OBJ_EXT) pp$(OBJ_EXT) scope$(OBJ_EXT) pp_ctl$(OBJ_EXT) pp_sys$(OBJ_EXT)
 obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT)
 
@@ -295,11 +299,20 @@ ext.libs: $(static_ext)
 
 # How to build libperl.  This is still rather convoluted.
 # Load up custom Makefile.SH fragment for shared loading and executables:
-if test -r $osname/Makefile.SHs ; then
-       . $osname/Makefile.SHs
+case "$osname" in
+cygwin*)
+       Makefile_s="cygwin32/Makefile.SHs"
+       ;;
+*)
+       Makefile_s="$osname/Makefile.SHs"
+       ;;
+esac
+
+if test -r $Makefile_s ; then
+       . $Makefile_s
        $spitshell >>Makefile <<!GROK!THIS!
 
-Makefile: $osname/Makefile.SHs
+Makefile: $Makefile_s
 !GROK!THIS!
 else
        $spitshell >>Makefile <<'!NO!SUBS!'
@@ -472,9 +485,9 @@ SYMH = perlvars.h intrpvar.h thrdvar.h
 #      pp.sym:         opcode.pl
 #      embed.h:        embed.pl  [* needs pp.sym generated by opcode.pl! *]
 #      embedvar.h:     embed.pl  [* needs pp.sym generated by opcode.pl! *]
-#      byterun.h:      bytecode.pl
-#      byterun.c:      bytecode.pl
-#      lib/B/Asmdata.pm:       bytecode.pl
+#      ext/ByteLoader/byterun.h:       bytecode.pl
+#      ext/ByteLoader/byterun.c:       bytecode.pl
+#      ext/B/Asmdata.pm:       bytecode.pl
 #      regnodes.h:     regcomp.pl
 #      warning.h lib/warning.pm:       warning.pl
 # The correct versions should be already supplied with the perl kit,
@@ -592,7 +605,9 @@ depend: makedepend
 makedepend: makedepend.SH config.sh
        sh ./makedepend.SH
 
-test-prep: miniperl perl preplibrary utilities $(dynamic_ext) $(nonxs_ext)
+# Cannot delegate rebuilding of t/perl to make to allow interlaced
+# test and minitest
+test-prep: miniperl perl preplibrary utilities $(dynamic_ext) $(nonxs_ext) $(TEST_PERL_DLL)
        cd t && (rm -f perl$(EXE_EXT); $(LNS) ../perl$(EXE_EXT) perl$(EXE_EXT))
 
 # Second branch is for testing without a tty or controling terminal.
@@ -659,11 +674,18 @@ elc:      emacs/cperl-mode.elc
 emacs/cperl-mode.elc: emacs/cperl-mode.el
        -cd emacs; emacs -batch -q -no-site-file -f batch-byte-compile cperl-mode.el
 
-etags: emacs/cperl-mode.elc
+etags: TAGS
+
+TAGS: emacs/cperl-mode.elc
        sh emacs/ptags
-       perl emacs/e2ctags.pl TAGS > tags
 
-ctags: etags
+ctags: tags
+
+# Let's hope make will not go into an infinite loop on case-unsensitive systems
+# This may also fail if . is in the head of the path, since perl will
+# require -Ilib
+tags:  TAGS
+       perl emacs/e2ctags.pl TAGS > tags
 
 # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
 # If this runs make out of memory, delete /usr/include lines.