;;
esac
-case $CROSS_NAME in
-'')
- Makefile=Makefile
- ;;
-*)
- # if cross-compilation, the Makefile named accordingly
- Makefile=Makefile-cross-$CROSS_NAME
- . Cross/config-${CROSS_NAME}.sh
- ;;
-esac
+Makefile=Makefile
: This forces SH files to create target in same directory as SH file.
: This is so that make depend always knows where to find SH derivatives.
;;
esac
-case $CROSS_NAME in
-'')
## In the following dollars and backticks do not need the extra backslash.
$spitshell >>$Makefile <<'!NO!SUBS!'
CONFIGH = config.h
!NO!SUBS!
- ;;
-*)
- # if cross-compilation
-$spitshell >>$Makefile <<!GROK!THIS!
-CROSS_NAME = $CROSS_NAME
-CROSS_LIB = xlib/$CROSS_NAME
-
-CCCMD = \`sh \$(shellflags) cflags-cross-$CROSS_NAME "optimize='\$(OPTIMIZE)'" \$@\` -I\$(CROSS_LIB)
-CCCMDSRC = \`sh \$(shellflags) cflags-cross-$CROSS_NAME "optimize='\$(OPTIMIZE)'" \$<\` -I\$(CROSS_LIB)
-CONFIGPM = xlib/\$(CROSS_NAME)/Config.pm
-CONFIGPOD = xlib/\$(CROSS_NAME)/Config.pod
-CONFIGH = xconfig.h
-
-xconfig.h: config_h.SH Cross/config-\$(CROSS_NAME).sh
- CONFIG_SH=Cross/config-\$(CROSS_NAME).sh CONFIG_H=xconfig.h \$(SHELL) config_h.SH
- #TODO \$(LDLIBPTH) ./miniperl$(EXE_EXT) -Ilib -MCross=\$(CROSS_NAME) config_h.PL "INST_VER=\$(INST_VER)" "CORE_DIR=\$(CROSS_LIB)" "CONFIG_H=xconfig.h"
- cp xconfig.h \$(CROSS_LIB)/
- cp xconfig.h \$(CROSS_LIB)/config.h
-
-!GROK!THIS!
- ;;
-esac
SH_to_target() {
echo $@ | sed -e s/\\\.SH//g -e s/_/./g
ndt_obj = $(obj0) $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
obj = $(ndt_obj) $(DTRACE_O)
-perltoc_pod_prereqs = extra.pods pod/perl5199delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
+perltoc_pod_prereqs = extra.pods pod/perl51910delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
generated_pods = pod/perltoc.pod $(perltoc_pod_prereqs)
generated_headers = uudmap.h bitcount.h mg_data.h
uudmap.h mg_data.h: bitcount.h
-bitcount.h: generate_uudmap$(HOST_EXE_EXT)
- ./generate_uudmap$(HOST_EXE_EXT) $(generated_headers)
-
generate_uudmap$(OBJ_EXT): mg_raw.h
!NO!SUBS!
-if test "X$hostgenerate" != X; then
- $spitshell >>$Makefile <<'!NO!SUBS!'
+# If hostgerenate isn't defined, then we have to build
+# generate_uudmap and run it. This can potentially mean running
+# it on the target system if we're cross-compiling.
+# If it is defined, then we just run it locally.
+case "$hostgenerate" in
+'')
+$spitshell >>$Makefile <<!GROK!THIS!
+bitcount.h: generate_uudmap\$(HOST_EXE_EXT)
+ $run ./generate_uudmap\$(HOST_EXE_EXT) \$(generated_headers)
+ -@for f in \$(generated_headers); do \\
+ $from \$\$f; \\
+ done
+
+!GROK!THIS!
+
+$spitshell >>$Makefile <<'!NO!SUBS!'
generate_uudmap$(HOST_EXE_EXT): generate_uudmap$(OBJ_EXT)
- -@rm generate_uudmap$(HOST_EXE_EXT)
- $(LNS) $(HOST_GENERATE) generate_uudmap$(HOST_EXE_EXT)
+ $(CC) -o generate_uudmap$(EXE_EXT) $(LDFLAGS) generate_uudmap$(OBJ_EXT) $(libs)
!NO!SUBS!
-else
- $spitshell >>$Makefile <<'!NO!SUBS!'
+;;
+*)
+$spitshell >>$Makefile <<'!NO!SUBS!'
+bitcount.h: generate_uudmap$(HOST_EXE_EXT)
+ ./generate_uudmap$(HOST_EXE_EXT) $(generated_headers)
+
generate_uudmap$(HOST_EXE_EXT): generate_uudmap$(OBJ_EXT)
- $(CC) -o generate_uudmap$(EXE_EXT) $(LDFLAGS) generate_uudmap$(OBJ_EXT) $(libs)
+ -@rm generate_uudmap$(HOST_EXE_EXT)
+ $(LNS) $(HOST_GENERATE) generate_uudmap$(HOST_EXE_EXT)
!NO!SUBS!
-fi
+;;
+esac
+
$spitshell >>$Makefile <<'!NO!SUBS!'
perlmain.c: $(MINIPERL_EXE) ext/ExtUtils-Miniperl/pm_to_blib
pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST
$(MINIPERL) pod/perlmodlib.PL -q
-pod/perl5199delta.pod: pod/perldelta.pod
- $(RMS) pod/perl5199delta.pod
- $(LNS) perldelta.pod pod/perl5199delta.pod
+pod/perl51910delta.pod: pod/perldelta.pod
+ $(RMS) pod/perl51910delta.pod
+ $(LNS) perldelta.pod pod/perl51910delta.pod
extra.pods: $(MINIPERL_EXE)
-@test ! -f extra.pods || rm -f `cat extra.pods`
@echo "Note that '$(MAKE) realclean' does not delete config.sh or Policy.sh"
_clobber:
- -@rm -f Cross/run-* Cross/to-* Cross/from-*
+ -@rm -f Cross/run-* Cross/to-* Cross/from-* Cross/mkdir
-rm -rf host
rm -f t/test_state
rm -f config.sh cppstdin Policy.sh extras.lst
$to *.h
# --- For t/x2p/s2p.t
$to x2p
+# --- For t/TEST
+ $to config.sh
# --- For lib/diagnostics.t with -Duseshrplib
$to \$(PERL_EXE)
cd t && (rm -f \$(PERL_EXE); \$(LNS) ../\$(PERL_EXE) \$(PERL_EXE)) && cd ..
*) $spitshell >>$Makefile <<!GROK!THIS!
test check: test_prep
- $run -cwd $targetdir/t -env LD_LIBRARY_PATH=$targetdir ./TEST
+ $run -cwd $targetdir/t -env "$targetenv LD_LIBRARY_PATH=$targetdir:$targetdir/lib:$targetdir/lib/auto:\$\$LD_LIBRARY_PATH" ./TEST
!GROK!THIS!
;;