test -d $src/host || mkdir $src/host
cd $src/host && rm -rf ./*
$src/Configure -des -Dusedevel -Dmksymlinks
- make miniperl
- make generate_uudmap
+ $make miniperl
+ case "$hostgenerate" in
+ '') $make generate_uudmap
+ hostgenerate=$src/host/generate_uudmap
+ ;;
+ "$undef") hostgenerate=''
+ ;;
+ esac
hostperl=$src/host/miniperl
- hostgenerate=$src/host/generate_uudmap
cd $before_host
fi
hostosname=`$hostperl -le 'print $^O'`
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