X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=os2%2FMakefile.SHs;h=5506a395863ae883530620e4ef60a16a6f39b68b;hb=491527d0220de34ec13035d557e288c9952d1007;hp=c498706627e24efee34d383d7b7419f9877039e8;hpb=55497cffdd24c959994f9a8ddd56db8ce85e1c5b;p=p5sagit%2Fp5-mst-13.2.git diff --git a/os2/Makefile.SHs b/os2/Makefile.SHs index c498706..5506a39 100644 --- a/os2/Makefile.SHs +++ b/os2/Makefile.SHs @@ -8,7 +8,8 @@ $spitshell >>Makefile <> $@ + echo 'emx_free emxlibcm 401 ?' >> $@ + echo 'emx_malloc emxlibcm 402 ?' >> $@ + echo 'emx_realloc emxlibcm 403 ?' >> $@ perl.dll: $(obj) perl5.def perl$(OBJ_EXT) - $(LD) $(LDDLFLAGS) -o $@ perl$(OBJ_EXT) $(obj) $(libs) perl5.def + $(LD) $(LD_OPT) $(LDDLFLAGS) -o $@ perl$(OBJ_EXT) $(obj) $(libs) perl5.def perl5.def: perl.linkexp echo "LIBRARY 'Perl' INITINSTANCE TERMINSTANCE" > $@ @@ -41,16 +48,6 @@ perl5.def: perl.linkexp echo CODE LOADONCALL >>$@ echo DATA LOADONCALL NONSHARED MULTIPLE >>$@ echo EXPORTS >>$@ - echo ' "ctermid"' >>$@ - echo ' "get_sysinfo"' >>$@ - echo ' "Perl_OS2_init"' >>$@ - echo ' "OS2_Perl_data"' >>$@ - echo ' "dlopen"' >>$@ - echo ' "dlsym"' >>$@ - echo ' "dlerror"' >>$@ - echo ' "perl_init_i18nl10n"' >>$@ - echo ' "my_tmpfile"' >>$@ - echo ' "my_tmpnam"' >>$@ !NO!SUBS! if [ ! -z "$myttyname" ] ; then @@ -65,46 +62,42 @@ $spitshell >>Makefile <<'!NO!SUBS!' # grep -v '"\(malloc\|realloc\|free\)"' perl.linkexp >>$@ -# We assume here that perl is available somewhere ... - perl.exports: perl.exp EXTERN.h perl.h - (echo '#include "EXTERN.h"'; echo '#include "perl.h"' ; \ - echo '#include "perl.exp"') | \ + (echo "#include \"EXTERN.h\" \n#include \"perl.h\" \n#include \"perl.exp\""; \ + echo "malloc\nrealloc\ncalloc\nfree") | \ $(CC) -DEMBED -E - | \ awk '{if ($$2 == "") print $$1}' | sort | uniq > $@ -# perl -ne 'print if (/^#!/ .. /^#\s/) && s/^(\w+) *$$/$$1/' > $@ - perl.linkexp: perl.exports perl.map - cat perl.exports perl.map | sort | uniq -d | sed -e 's/\w\+/ "\0"/' > perl.linkexp + cat perl.exports os2/os2.sym perl.map | sort | uniq -d | sed -e 's/\w\+/ "\0"/' > perl.linkexp -perl.map: $(obj) perl$(OBJ_EXT) miniperlmain$(OBJ_EXT) - $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o dummy.exe miniperlmain$(OBJ_EXT) perl$(OBJ_EXT) $(obj) $(libs) -Zmap -Zlinker /map - awk '{if ($$3 == "") print $$2}' perl.map - rm dummy.exe dummy.map +# We link miniperl statically, since .DLL depends on $(DYNALOADER) + +perl.map miniperl: $(obj) perl$(OBJ_EXT) miniperlmain$(OBJ_EXT) + $(CC) $(LARGE) $(CLDFLAGS) -o miniperl miniperlmain$(OBJ_EXT) perl$(OBJ_EXT) $(obj) $(libs) -Zmap -Zlinker /map + awk '{if ($$3 == "") print $$2}' perl.map + rm miniperl.map + @./miniperl -w -Ilib -MExporter -e 0 || $(MAKE) minitest -depend: os2ish.h dlfcn.h +depend: os2ish.h dlfcn.h os2thread.h os2.c # Stupid make? Needed... os2$(OBJ_EXT) : os2.c os2.c: os2/os2.c os2ish.h - cp $< $@ + cp -f $< $@ dl_os2.c: os2/dl_os2.c os2ish.h - cp $< $@ + cp -f $< $@ os2ish.h: os2/os2ish.h - cp $< $@ + cp -f $< $@ -dlfcn.h: os2/dlfcn.h - cp $< $@ - -# We link miniperl statically, since .DLL depends on $(DYNALOADER) +os2thread.h: os2/os2thread.h + cp -f $< $@ -miniperl: $& miniperlmain$(OBJ_EXT) perl$(OBJ_EXT) $(obj) - $(CC) $(LARGE) $(CLDFLAGS) -o miniperl miniperlmain$(OBJ_EXT) perl$(OBJ_EXT) $(obj) $(libs) - @./miniperl -w -Ilib -MExporter -e 0 || $(MAKE) minitest +dlfcn.h: os2/dlfcn.h + cp -f $< $@ # This one is compiled OMF, so cannot fork():