This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
embed.fnc: Add clarifying comment
[perl5.git] / Makefile.micro
index 4b738f5..dabebcd 100644 (file)
@@ -1,6 +1,6 @@
 LD = $(CC)
 CCFLAGS = -c
-DEFINES = -DPERL_CORE -DPERL_MICRO -DSTANDARD_C -DPERL_USE_SAFE_PUTENV
+DEFINES = -DPERL_CORE -DPERL_MICRO -DPERL_USE_SAFE_PUTENV -DNO_MATHOMS
 OPTIMIZE = 
 CFLAGS = $(DEFINES) $(OPTIMIZE)
 LDFLAGS = 
@@ -13,29 +13,30 @@ RUN =
 
 all:   microperl
 
-O = uav$(_O) udeb$(_O) udoio$(_O) udoop$(_O) udump$(_O) \
+O = uav$(_O) udeb$(_O) udoio$(_O) udoop$(_O) udquote$(_O) udump$(_O) \
        uglobals$(_O) ugv$(_O) uhv$(_O) umro$(_O)\
        umg$(_O) uperlmain$(_O) uop$(_O) ureentr$(_O) \
        upad$(_O) uperl$(_O) uperlio$(_O) uperly$(_O) upp$(_O) \
        upp_ctl$(_O) upp_hot$(_O) upp_sys$(_O) upp_pack$(_O) upp_sort$(_O) \
        uregcomp$(_O) uregexec$(_O) urun$(_O) \
-       uscope$(_O) usv$(_O) utaint$(_O) utoke$(_O) \
+       uscope$(_O) usv$(_O) utaint$(_O) utime64$(_O) utoke$(_O) \
        unumeric$(_O) ulocale$(_O) umathoms$(_O) \
-       uuniversal$(_O) uutf8$(_O) uutil$(_O) uperlapi$(_O) ukeywords$(_O)
+       uuniversal$(_O) uutf8$(_O) uutil$(_O) ukeywords$(_O)
 
 microperl:     $(O)
        $(LD) -o $@ $(O) $(LDFLAGS) $(LIBS)
 
+generated_headers = uuudmap.h ubitcount.h umg_data.h
 H = av.h uconfig.h cop.h cv.h embed.h embedvar.h form.h gv.h handy.h \
-       hv.h intrpvar.h iperlsys.h mg.h op.h opcode.h opnames.h pad.h \
+       hv.h hv_func.h intrpvar.h iperlsys.h mg.h op.h opcode.h opnames.h pad.h \
        patchlevel.h perl.h perlsdio.h perlvars.h perly.h pp.h \
        pp_proto.h proto.h reentr.h regexp.h scope.h sv.h \
-       thread.h unixish.h utf8.h util.h uudmap.h warnings.h
+       thread.h unixish.h utf8.h util.h warnings.h $(generated_headers)
 
 HE = $(H) EXTERN.h
 
 clean:
-       -rm -f $(O) microperl generate_uudmap$(_X) uudmap.h
+       -rm -f $(O) microperl ugenerate_uudmap$(_X) $(generated_headers)
 
 distclean:     clean
 
@@ -44,11 +45,14 @@ distclean:  clean
 # Cannot use $$ in the command line itself, so using var expansion instead.
 Config = '$$Config{$$1}'
 patch_uconfig:
-       $(PERL) -MConfig -pi -e "s/^((?:short|int|long(?:dbl|long)?|ptr|double|[iun]v|u?quad|[iu]\d+|fpos|lseek)(?:size|type)|byteorder|d_quad|quadkind|use64.+)=.*/\\1='"$(Config)"'/g" uconfig.shx
+       $(PERL) -MConfig -pi -e "s/^((?:short|int|long(?:dbl|long)?|ptr|double|[iun]v|u?quad|[iu]\d+|fpos|lseek)(?:size|type)|byteorder|d_quad|quadkind|use64.+)=.*/\\1='"$(Config)"'/g" uconfig.sh
 
 regen_uconfig: uconfig.sh config_h.SH
        $(ENV) CONFIG_SH=uconfig.sh CONFIG_H=uconfig.h sh ./config_h.SH
 
+regen_uconfig64: uconfig64.sh config_h.SH
+       $(ENV) CONFIG_SH=uconfig64.sh CONFIG_H=uconfig.h sh ./config_h.SH
+
 # Do not regenerate perly.c and perly.h.
 
 perly.c: perly.y
@@ -71,17 +75,20 @@ udoio$(_O): $(HE) doio.c
 udoop$(_O):    $(HE) doop.c
        $(CC) $(CCFLAGS) -o $@ $(CFLAGS) doop.c
 
+udquote$(_O):  $(HE) dquote.c regcomp.h regnodes.h
+       $(CC) $(CCFLAGS) -o $@ $(CFLAGS) dquote.c
+
 udump$(_O):    $(HE) dump.c regcomp.h regnodes.h
        $(CC) $(CCFLAGS) -o $@ $(CFLAGS) dump.c
 
-uglobals$(_O): $(H) globals.c INTERN.h perlapi.h
+uglobals$(_O): $(H) globals.c INTERN.h $(generated_headers)
        $(CC) $(CCFLAGS) -o $@ $(CFLAGS) globals.c
 
 ugv$(_O):      $(HE) gv.c
        $(CC) $(CCFLAGS) -o $@ $(CFLAGS) gv.c
 
-umro$(_O):     $(HE) mro.c
-       $(CC) $(CCFLAGS) -o $@ $(CFLAGS) mro.c
+umro$(_O):     $(HE) mro_core.c
+       $(CC) $(CCFLAGS) -o $@ $(CFLAGS) mro_core.c
 
 uhv$(_O):      $(HE) hv.c
        $(CC) $(CCFLAGS) -o $@ $(CFLAGS) hv.c
@@ -149,6 +156,9 @@ usv$(_O):   $(HE) sv.c
 utaint$(_O):   $(HE) taint.c
        $(CC) $(CCFLAGS) -o $@ $(CFLAGS) taint.c
 
+utime64$(_O):  $(HE) time64.c time64.h time64_config.h
+       $(CC) $(CCFLAGS) -o $@ $(CFLAGS) time64.c
+
 utoke$(_O):    $(HE) toke.c keywords.h
        $(CC) $(CCFLAGS) -o $@ $(CFLAGS) toke.c
 
@@ -170,16 +180,19 @@ uutf8$(_O):       $(HE) utf8.c
 uutil$(_O):    $(HE) util.c
        $(CC) $(CCFLAGS) -o $@ $(CFLAGS) util.c
 
-uperlapi$(_O): $(HE) perlapi.c perlapi.h
-       $(CC) $(CCFLAGS) -o $@ $(CFLAGS) perlapi.c
+uuudmap.h umg_data.h: ubitcount.h
 
-uudmap.h: generate_uudmap$(_X)
-       $(RUN) ./generate_uudmap$(_X) >uudmap.h
+ubitcount.h: ugenerate_uudmap$(_X)
+       $(RUN) ./ugenerate_uudmap$(_X) $(generated_headers)
 
-generate_uudmap$(_O): generate_uudmap.c
+ugenerate_uudmap$(_O): generate_uudmap.c
        $(CC) $(CCFLAGS) -o $@ $(CFLAGS) generate_uudmap.c
 
-generate_uudmap$(_X): generate_uudmap$(_O)
-       $(LD) -o generate_uudmap $(LDFLAGS) generate_uudmap$(_O) $(LIBS)
+ugenerate_uudmap$(_X): ugenerate_uudmap$(_O)
+       $(LD) -o ugenerate_uudmap $(LDFLAGS) ugenerate_uudmap$(_O) $(LIBS)
+
+microtest: microperl
+       - cd t && (rm -f perl; ln -s ../microperl perl) \
+         && ./perl TEST base/*.t cmd/*.t
 
 # That's it, folks!