This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Sync with libnet-1.13
[perl5.git] / Makefile.SH
index 17f087e..cd18ffb 100644 (file)
@@ -299,20 +299,20 @@ plextract = pod/pod2html pod/pod2latex pod/pod2man pod/pod2text \
 addedbyconf = UU $(shextract) $(plextract) lib/lib.pm pstruct
 
 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 perlapi.h perly.h pp.h proto.h regcomp.h
+h2 = embed.h form.h gv.h handy.h hv.h keywords.h mg.h op.h opcode.h
+h3 = pad.h patchlevel.h perl.h perlapi.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 = utf8.h warnings.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 reentr.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 xsutils.c
+c3 = gv.c sv.c taint.c toke.c util.c deb.c run.c universal.c xsutils.c pad.c
 c4 = globals.c perlio.c perlapi.c numeric.c locale.c pp_pack.c pp_sort.c
 
 c = $(c1) $(c2) $(c3) $(c4) 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) reentr$(OBJ_EXT)
+obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$(OBJ_EXT) pad$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) reentr$(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) xsutils$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT) perlapi$(OBJ_EXT) numeric$(OBJ_EXT) locale$(OBJ_EXT) pp_pack$(OBJ_EXT) pp_sort$(OBJ_EXT)
 
@@ -329,13 +329,11 @@ lintflags = -hbvxac
 .c.s:
        $(CCCMDSRC) -S $*.c
 
-.PHONY: all
-
 all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT) extra.pods $(private) $(public) $(dynamic_ext) $(nonxs_ext) extras.make
        @echo " ";
        @echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
 
-.PHONY: compile translators utilities
+.PHONY: all compile translators utilities
 
 compile: all
        echo "testing compilation" > testcompile;
@@ -380,9 +378,19 @@ perlmain.c: miniperlmain.c config.sh $(FIRSTMAKEFILE)
        sh writemain $(DYNALOADER) $(static_ext) > writemain.tmp
        sh mv-if-diff writemain.tmp perlmain.c
 
+!NO!SUBS!
+case "$osname" in
+cygwin)
+       ;; # Let cygwin/Makefile.SHs do its work.
+*)
+       $spitshell >>Makefile <<'!NO!SUBS!'
 perlmain$(OBJ_EXT): perlmain.c
        $(CCCMD) $(PLDLFLAGS) $*.c
 
+!NO!SUBS!
+       ;;
+esac
+$spitshell >>Makefile <<'!NO!SUBS!'
 # The file ext.libs is a list of libraries that must be linked in
 # for static extensions, e.g. -lm -lgdbm, etc.  The individual
 # static extension Makefile's add to it.
@@ -816,8 +824,10 @@ CHMOD_W = chmod +w
 #      warnings.pl:    warnings.h lib/warnings.pm
 # The correct versions should be already supplied with the perl kit,
 # in case you don't have perl available.
-# To force them to be regenerated, type
-#      make regen_headers
+# To force them to be regenerated, run
+#       perl regen_headers.pl
+# with your existing copy of perl
+# (make regen_headers is kept for backwards compatibility)
 
 AUTOGEN_FILES = keywords.h opcode.h opnames.h pp_proto.h pp.sym proto.h \
                embed.h embedvar.h global.sym \
@@ -829,14 +839,7 @@ AUTOGEN_FILES = keywords.h opcode.h opnames.h pp_proto.h pp.sym proto.h \
 .PHONY: regen_headers regen_pods regen_all
 
 regen_headers: FORCE
-       -$(CHMOD_W) $(AUTOGEN_FILES)
-       -perl keywords.pl
-       -perl opcode.pl
-       -perl embed.pl
-       -perl bytecode.pl
-       -perl regcomp.pl
-       -perl warnings.pl
-       -perl autodoc.pl
+       -perl regen_headers.pl
 
 regen_pods:    FORCE
        -cd pod; $(LDLIBPTH) $(MAKE) regen_pods
@@ -889,6 +892,7 @@ veryclean:  _verycleaner _mopup _clobber
 # Do not 'make _mopup' directly.
 _mopup:
        rm -f *$(OBJ_EXT) *$(LIB_EXT) all perlmain.c
+       -rmdir .depending
        -@test -f extra.pods && rm -f `cat extra.pods`
        -@test -f vms/README_vms.pod && rm -f vms/README_vms.pod
        -rm -f perl.exp ext.libs extra.pods opmini.o
@@ -898,8 +902,8 @@ _mopup:
        -rm -f perl.pixie lib*.so.perl.pixie lib*.so.Addrs
        -rm -f perl.Addrs perl.Counts t/perl.Addrs t/perl.Counts *perl.xok
        -rm -f perlld cygwin.c ld2 libperl*.def libperl*.dll cygperl*.dll *.exe.stackdump
-       rm -f perl$(EXE_EXT) suidperl$(EXE_EXT) miniperl$(EXE_EXT) $(LIBPERL) libperl.* microperl
-       rm -f opcode.h-old opnames.h-old pp.sym-old pp_proto.h-old
+       -rm -f perl$(EXE_EXT) suidperl$(EXE_EXT) miniperl$(EXE_EXT) $(LIBPERL) libperl.* microperl
+       -rm -f opcode.h-old opnames.h-old pp.sym-old pp_proto.h-old
 
 # Do not 'make _tidy' directly.
 _tidy:
@@ -928,7 +932,7 @@ _cleaner2:
        rm -f so_locations $(LIBPERL_NONSHR) $(MINIPERL_NONSHR)
        rm -rf $(addedbyconf)
        rm -f $(FIRSTMAKEFILE) $(FIRSTMAKEFILE).old
-       rm -f $(private)
+       rm -f $(private) lib/Config.pod
        rm -rf lib/auto
        rm -f lib/.exists lib/*/.exists lib/*/*/.exists
        rm -f h2ph.man pstruct