source: trunk/essentials/dev-lang/perl/os2/Makefile.SHs@ 3221

Last change on this file since 3221 was 3220, checked in by bird, 19 years ago

Build a.out and link omf. Drop -Zexe.

  • Property svn:eol-style set to native
File size: 6.0 KB
RevLine 
[3181]1# This file is read by Makefile.SH to produce rules for $(LIBPERL) (and
2# some additional rules as well).
3
4# Rerun `sh Makefile.SH; make depend' after making any change.
5
[3220]6# Additional rules supported: perl_
[3181]7
8perl_fullversion="5.00${PERL_VERSION}_$PERL_SUBVERSION"
9case "$archname" in
10 *-thread*) perl_fullversion="${perl_fullversion}-threaded";;
11esac
12
13dll_post="`echo $perl_fullversion | sum | sed -e 's/^0*//' | awk '{print $1}'`"
14dll_post="`printf '%x' $dll_post | tr '[a-z]' '[A-Z]'`"
[3220]15if test -z "dll_post"; then
16 echo "error: dll_post is emtpy.";
17 exit 1;
18fi
[3181]19
20$spitshell >>Makefile <<!GROK!THIS!
21
22PERL_FULLVERSION = $perl_fullversion
23
24# No -DPERL_CORE
25SO_CCCMD = \$(CC) $ccflags \$(OPTIMIZE)
26
[3188]27LD_OPT =
[3220]28PERL_DLL_LD_OPT = -Zdll -Zomf -Zhigh-mem -Zmap
[3181]29
30PERL_DLL_BASE = perl$dll_post
31PERL_DLL = \$(PERL_DLL_BASE)\$(DLSUFFIX)
32TEST_PERL_DLL = perl_dll_t
33CONFIG_ARGS = $config_args
34
35!GROK!THIS!
36
37$spitshell >>Makefile <<'!NO!SUBS!'
38PREPLIBRARY_LIBPERL = $(LIBPERL)
[3220]39$(LIBPERL) perl.lib: perl.imp perl5.def libperl_override.a
40 emximp -o $@ perl.imp
41 cp $@ perl.lib
[3181]42
[3220]43imp_version: #$(FIRSTMAKEFILE) -crap
[3181]44 echo $(PERL_DLL_BASE) > $@
45
[3220]46libperl_override.imp: os2/os2add.sym miniperl$(EXE_EXT) imp_version
47 ./miniperl$(EXE_EXT) -wnle 'print "$$_\t$(PERL_DLL_BASE)\t$$_\t?"' os2/os2add.sym > $@
[3181]48 echo 'strdup $(PERL_DLL_BASE) Perl_strdup ?' >> $@
49 echo 'putenv $(PERL_DLL_BASE) Perl_putenv ?' >> $@
50
[3220]51libperl_override.a: libperl_override.imp
[3181]52 emximp -o $@ libperl_override.imp
53
54libperl_dllmain.imp: imp_version
[3194]55 echo '_main $(PERL_DLL_BASE) _dll_perlmain ?' > $@
[3181]56
[3220]57libperl_dllmain$(LIB_EXT): libperl_dllmain.imp
[3181]58 emximp -o $@ libperl_dllmain.imp
59
[3220]60perl.imp: perl5.def imp_version
61 emximp -o $@ perl5.def
[3181]62
63
[3220]64.PHONY: perl_dll installcmd perlrexx test_prep_perl_ test_prep_various all_harness \
65 all_test test_harness_redir
[3181]66
67perl_dll: $(PERL_DLL)
68
69perl_dll_t: t/$(PERL_DLL)
70
71t/$(PERL_DLL): $(PERL_DLL)
[3220]72 cp -f $(PERL_DLL) t/$(PERL_DLL)
[3181]73