Now that we have Subversion's file renaming ability, it's time at
long last to move all the Windows-specific source files down into a `windows' subdirectory. Only platform-specific files remain at the top level. With any luck this will act as a hint to anyone still contemplating sending us a Windows-centric patch... [originally from svn r4792]
29
README
@ -8,34 +8,37 @@ below.)
|
|||||||
|
|
||||||
For building on Windows:
|
For building on Windows:
|
||||||
|
|
||||||
- Makefile.vc is for command-line builds on MS Visual C++ systems.
|
- windows/Makefile.vc is for command-line builds on MS Visual C++
|
||||||
Type `nmake -f Makefile.vc' to build all the PuTTY binaries.
|
systems. Change into the `windows' subdirectory and type `nmake
|
||||||
|
-f Makefile.vc' to build all the PuTTY binaries.
|
||||||
|
|
||||||
(We've also had one report of success building with the
|
(We've also had one report of success building with the
|
||||||
OpenWatcom compiler -- www.openwatcom.org -- using Makefile.vc
|
OpenWatcom compiler -- www.openwatcom.org -- using Makefile.vc
|
||||||
with `wmake -ms -f makefile.vc' and NO_MULTIMON, although we
|
with `wmake -ms -f makefile.vc' and NO_MULTIMON, although we
|
||||||
haven't tried this ourselves.)
|
haven't tried this ourselves.)
|
||||||
|
|
||||||
- Inside the MSVC subdirectory are MS Visual Studio project files
|
- Inside the windows/MSVC subdirectory are MS Visual Studio project
|
||||||
for doing GUI-based builds of the various PuTTY utilities. These
|
files for doing GUI-based builds of the various PuTTY utilities.
|
||||||
have been tested on Visual Studio 6.
|
These have been tested on Visual Studio 6.
|
||||||
|
|
||||||
You should be able to build each PuTTY utility by loading the
|
You should be able to build each PuTTY utility by loading the
|
||||||
corresponding .dsp file in Visual Studio. For example,
|
corresponding .dsp file in Visual Studio. For example,
|
||||||
MSVC/putty/putty.dsp builds PuTTY itself, MSVC/plink/plink.dsp
|
MSVC/putty/putty.dsp builds PuTTY itself, MSVC/plink/plink.dsp
|
||||||
builds Plink, and so on.
|
builds Plink, and so on.
|
||||||
|
|
||||||
- Makefile.bor is for the Borland C compiler. Type `make -f
|
- windows/Makefile.bor is for the Borland C compiler. Type `make -f
|
||||||
Makefile.bor' to build all the PuTTY binaries.
|
Makefile.bor' while in the `windows' subdirectory to build all
|
||||||
|
the PuTTY binaries.
|
||||||
|
|
||||||
- Makefile.cyg is for Cygwin / mingw32 installations. Type `make -f
|
- windows/Makefile.cyg is for Cygwin / mingw32 installations. Type
|
||||||
Makefile.cyg' to build all the PuTTY binaries. Note that by
|
`make -f Makefile.cyg' while in the `windows' subdirectory to
|
||||||
default the Pageant WinNT security features and the multiple
|
build all the PuTTY binaries. Note that by default the multiple
|
||||||
monitor support are excluded from the Cygwin build, since at the
|
monitor support is excluded from the Cygwin build, since at the
|
||||||
time of writing Cygwin doesn't include the necessary headers.
|
time of writing Cygwin doesn't include the necessary headers.
|
||||||
|
|
||||||
- Makefile.lcc is for lcc-win32. Type `make -f Makefile.lcc'. (You
|
- windows/Makefile.lcc is for lcc-win32. Type `make -f
|
||||||
will probably need to specify COMPAT=-DNO_MULTIMON.)
|
Makefile.lcc' while in the `windows' subdirectory. (You will
|
||||||
|
probably need to specify COMPAT=-DNO_MULTIMON.)
|
||||||
|
|
||||||
For building on Unix:
|
For building on Unix:
|
||||||
|
|
||||||
|
44
Recipe
@ -12,15 +12,16 @@
|
|||||||
# Overall project name.
|
# Overall project name.
|
||||||
!name putty
|
!name putty
|
||||||
# Locations and types of output Makefiles.
|
# Locations and types of output Makefiles.
|
||||||
!makefile vc Makefile.vc
|
!makefile vc windows/Makefile.vc
|
||||||
!makefile vcproj MSVC
|
!makefile vcproj windows/MSVC
|
||||||
!makefile cygwin Makefile.cyg
|
!makefile cygwin windows/Makefile.cyg
|
||||||
!makefile borland Makefile.bor
|
!makefile borland windows/Makefile.bor
|
||||||
!makefile lcc Makefile.lcc
|
!makefile lcc windows/Makefile.lcc
|
||||||
!makefile gtk unix/Makefile.gtk
|
!makefile gtk unix/Makefile.gtk
|
||||||
!makefile mpw mac/Makefile.mpw
|
!makefile mpw mac/Makefile.mpw
|
||||||
# Source directories.
|
# Source directories.
|
||||||
!srcdir charset/
|
!srcdir charset/
|
||||||
|
!srcdir windows/
|
||||||
!srcdir unix/
|
!srcdir unix/
|
||||||
!srcdir mac/
|
!srcdir mac/
|
||||||
|
|
||||||
@ -109,23 +110,27 @@
|
|||||||
# Hack to force version.o to be rebuilt always.
|
# Hack to force version.o to be rebuilt always.
|
||||||
!begin vc
|
!begin vc
|
||||||
version.obj: *.c *.h *.rc
|
version.obj: *.c *.h *.rc
|
||||||
cl $(FWHACK) $(VER) $(CFLAGS) /c version.c
|
cl $(FWHACK) $(VER) $(CFLAGS) /c ..\version.c
|
||||||
!end
|
!end
|
||||||
|
!specialobj vc version
|
||||||
!begin cygwin
|
!begin cygwin
|
||||||
version.o: FORCE;
|
version.o: FORCE
|
||||||
FORCE:
|
FORCE:
|
||||||
$(CC) $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) $(VER) -c version.c
|
$(CC) $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) $(VER) -c ../version.c
|
||||||
!end
|
!end
|
||||||
|
!specialobj cygwin version
|
||||||
!begin borland
|
!begin borland
|
||||||
version.obj: FORCE
|
version.obj: FORCE
|
||||||
FORCE:
|
FORCE:
|
||||||
bcc32 $(FWHACK) $(VER) $(CFLAGS) /c version.c
|
bcc32 $(FWHACK) $(VER) $(CFLAGS) /c ..\version.c
|
||||||
!end
|
!end
|
||||||
|
!specialobj borland version
|
||||||
!begin lcc
|
!begin lcc
|
||||||
version.o: FORCE
|
version.o: FORCE
|
||||||
FORCE:
|
FORCE:
|
||||||
lcc $(FWHACK) $(VER) $(CFLAGS) /c version.c
|
lcc $(FWHACK) $(VER) $(CFLAGS) /c ..\version.c
|
||||||
!end
|
!end
|
||||||
|
!specialobj lcc version
|
||||||
# For Unix, we also need the gross MD5 hack that causes automatic
|
# For Unix, we also need the gross MD5 hack that causes automatic
|
||||||
# version number selection in release source archives.
|
# version number selection in release source archives.
|
||||||
!begin gtk
|
!begin gtk
|
||||||
@ -137,6 +142,7 @@ FORCE:
|
|||||||
$(CC) $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) $(VER) -c ../version.c; \
|
$(CC) $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) $(VER) -c ../version.c; \
|
||||||
fi
|
fi
|
||||||
!end
|
!end
|
||||||
|
!specialobj gtk version
|
||||||
|
|
||||||
# `make install' target for Unix.
|
# `make install' target for Unix.
|
||||||
!begin gtk
|
!begin gtk
|
||||||
@ -171,7 +177,7 @@ TERMINAL = terminal wcwidth ldiscucs logging tree234 minibidi
|
|||||||
+ config dialog
|
+ config dialog
|
||||||
|
|
||||||
# GUI front end and terminal emulator (putty, puttytel).
|
# GUI front end and terminal emulator (putty, puttytel).
|
||||||
GUITERM = TERMINAL window windlg winctrls sizetip unicode printing
|
GUITERM = TERMINAL window windlg winctrls sizetip winucs winprint
|
||||||
+ winutils wincfg
|
+ winutils wincfg
|
||||||
|
|
||||||
# Same thing on Unix.
|
# Same thing on Unix.
|
||||||
@ -184,7 +190,7 @@ NONSSH = telnet raw rlogin ldisc
|
|||||||
SSH = ssh sshcrc sshdes sshmd5 sshrsa sshrand sshsha sshblowf
|
SSH = ssh sshcrc sshdes sshmd5 sshrsa sshrand sshsha sshblowf
|
||||||
+ sshdh sshcrcda sshpubk sshzlib sshdss x11fwd portfwd
|
+ sshdh sshcrcda sshpubk sshzlib sshdss x11fwd portfwd
|
||||||
+ sshaes sshsh512 sshbn wildcard
|
+ sshaes sshsh512 sshbn wildcard
|
||||||
WINSSH = SSH noise pageantc
|
WINSSH = SSH winnoise winpgntc
|
||||||
UXSSH = SSH uxnoise uxagentc
|
UXSSH = SSH uxnoise uxagentc
|
||||||
MACSSH = SSH macnoise
|
MACSSH = SSH macnoise
|
||||||
|
|
||||||
@ -222,18 +228,18 @@ BE_NONE = be_none nocproxy
|
|||||||
|
|
||||||
putty : [G] GUITERM NONSSH WINSSH BE_ALL WINMISC win_res.res LIBS
|
putty : [G] GUITERM NONSSH WINSSH BE_ALL WINMISC win_res.res LIBS
|
||||||
puttytel : [G] GUITERM NONSSH BE_NOSSH WINMISC win_res.res LIBS
|
puttytel : [G] GUITERM NONSSH BE_NOSSH WINMISC win_res.res LIBS
|
||||||
plink : [C] plink console NONSSH WINSSH BE_ALL logging WINMISC
|
plink : [C] winplink wincons NONSSH WINSSH BE_ALL logging WINMISC
|
||||||
+ plink.res LIBS
|
+ plink.res LIBS
|
||||||
pscp : [C] scp winsftp console WINSSH BE_SSH SFTP wildcard WINMISC
|
pscp : [C] scp winsftp wincons WINSSH BE_SSH SFTP wildcard WINMISC
|
||||||
+ scp.res LIBS
|
+ scp.res LIBS
|
||||||
psftp : [C] psftp winsftp console WINSSH BE_SSH SFTP WINMISC scp.res LIBS
|
psftp : [C] psftp winsftp wincons WINSSH BE_SSH SFTP WINMISC scp.res LIBS
|
||||||
|
|
||||||
pageant : [G] pageant sshrsa sshpubk sshdes sshbn sshmd5 version tree234
|
pageant : [G] winpgnt sshrsa sshpubk sshdes sshbn sshmd5 version tree234
|
||||||
+ misc sshaes sshsha pageantc sshdss sshsh512 winutils winmisc
|
+ misc sshaes sshsha winpgntc sshdss sshsh512 winutils winmisc
|
||||||
+ pageant.res LIBS
|
+ pageant.res LIBS
|
||||||
|
|
||||||
puttygen : [G] puttygen sshrsag sshdssg sshprime sshdes sshbn sshmd5 version
|
puttygen : [G] winpgen sshrsag sshdssg sshprime sshdes sshbn sshmd5 version
|
||||||
+ sshrand noise sshsha winstore misc winctrls sshrsa sshdss winmisc
|
+ sshrand winnoise sshsha winstore misc winctrls sshrsa sshdss winmisc
|
||||||
+ sshpubk sshaes sshsh512 import winutils puttygen.res tree234 LIBS
|
+ sshpubk sshaes sshsh512 import winutils puttygen.res tree234 LIBS
|
||||||
|
|
||||||
pterm : [X] UXTERM uxmisc misc ldisc settings pty uxsel BE_NONE uxstore
|
pterm : [X] UXTERM uxmisc misc ldisc settings pty uxsel BE_NONE uxstore
|
||||||
|
85
mkfiles.pl
@ -51,6 +51,7 @@ while (<IN>) {
|
|||||||
if ($_[0] eq "!name") { $project_name = $_[1]; next; }
|
if ($_[0] eq "!name") { $project_name = $_[1]; next; }
|
||||||
if ($_[0] eq "!srcdir") { push @srcdirs, $_[1]; next; }
|
if ($_[0] eq "!srcdir") { push @srcdirs, $_[1]; next; }
|
||||||
if ($_[0] eq "!makefile" and &mfval($_[1])) { $makefiles{$_[1]}=$_[2]; next;}
|
if ($_[0] eq "!makefile" and &mfval($_[1])) { $makefiles{$_[1]}=$_[2]; next;}
|
||||||
|
if ($_[0] eq "!specialobj" and &mfval($_[1])) { $specialobj{$_[1]}->{$_[2]} = 1; next;}
|
||||||
if ($_[0] eq "!begin") {
|
if ($_[0] eq "!begin") {
|
||||||
if (&mfval($_[1])) {
|
if (&mfval($_[1])) {
|
||||||
$divert = \$makefile_extra{$_[1]};
|
$divert = \$makefile_extra{$_[1]};
|
||||||
@ -221,8 +222,14 @@ sub dirpfx {
|
|||||||
my ($path) = shift @_;
|
my ($path) = shift @_;
|
||||||
my ($sep) = shift @_;
|
my ($sep) = shift @_;
|
||||||
my $ret = "", $i;
|
my $ret = "", $i;
|
||||||
while (($i = index $path, $sep) >= 0) {
|
|
||||||
$path = substr $path, ($i + length $sep);
|
while (($i = index $path, $sep) >= 0 ||
|
||||||
|
($j = index $path, "/") >= 0) {
|
||||||
|
if ($i >= 0 and ($j < 0 or $i < $j)) {
|
||||||
|
$path = substr $path, ($i + length $sep);
|
||||||
|
} else {
|
||||||
|
$path = substr $path, ($j + 1);
|
||||||
|
}
|
||||||
$ret .= "..$sep";
|
$ret .= "..$sep";
|
||||||
}
|
}
|
||||||
return $ret;
|
return $ret;
|
||||||
@ -278,12 +285,13 @@ sub splitline {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub deps {
|
sub deps {
|
||||||
my ($otmpl, $rtmpl, $prefix, $dirsep, $depchar, $splitchar) = @_;
|
my ($otmpl, $rtmpl, $prefix, $dirsep, $mftyp, $depchar, $splitchar) = @_;
|
||||||
my ($i, $x, $y);
|
my ($i, $x, $y);
|
||||||
my @deps, @ret;
|
my @deps, @ret;
|
||||||
@ret = ();
|
@ret = ();
|
||||||
$depchar ||= ':';
|
$depchar ||= ':';
|
||||||
foreach $i (sort keys %depends) {
|
foreach $i (sort keys %depends) {
|
||||||
|
next if $specialobj{$mftyp}->{$i};
|
||||||
if ($i =~ /^(.*)\.(res|rsrc)/) {
|
if ($i =~ /^(.*)\.(res|rsrc)/) {
|
||||||
next if !defined $rtmpl;
|
next if !defined $rtmpl;
|
||||||
$y = $1;
|
$y = $1;
|
||||||
@ -372,12 +380,6 @@ if (defined $makefiles{'cygwin'}) {
|
|||||||
" --define WINVER=0x0400 --define MINGW32_FIX=1")."\n".
|
" --define WINVER=0x0400 --define MINGW32_FIX=1")."\n".
|
||||||
"\n".
|
"\n".
|
||||||
".SUFFIXES:\n".
|
".SUFFIXES:\n".
|
||||||
"\n".
|
|
||||||
"%.o: %.c\n".
|
|
||||||
"\t\$(CC) \$(COMPAT) \$(FWHACK) \$(XFLAGS) \$(CFLAGS) -c \$<\n".
|
|
||||||
"\n".
|
|
||||||
"%.res.o: %.rc\n".
|
|
||||||
"\t\$(RC) \$(FWHACK) \$(RCFL) \$(RCFLAGS) \$< \$\@\n".
|
|
||||||
"\n";
|
"\n";
|
||||||
print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("GC"));
|
print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("GC"));
|
||||||
print "\n\n";
|
print "\n\n";
|
||||||
@ -391,9 +393,14 @@ if (defined $makefiles{'cygwin'}) {
|
|||||||
"-Wl,-Map,$prog.map " .
|
"-Wl,-Map,$prog.map " .
|
||||||
$objstr . " $libstr", 69), "\n\n";
|
$objstr . " $libstr", 69), "\n\n";
|
||||||
}
|
}
|
||||||
foreach $d (&deps("X.o", "X.res.o", $dirpfx, "/")) {
|
foreach $d (&deps("X.o", "X.res.o", $dirpfx, "/", "cygwin")) {
|
||||||
print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
|
print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
|
||||||
"\n";
|
"\n";
|
||||||
|
if ($d->{obj} =~ /\.res\.o$/) {
|
||||||
|
print "\t\$(RC) \$(FWHACK) \$(RCFL) \$(RCFLAGS) ".$d->{deps}->[0]." ".$d->{obj}."\n\n";
|
||||||
|
} else {
|
||||||
|
print "\t\$(CC) \$(COMPAT) \$(FWHACK) \$(XFLAGS) \$(CFLAGS) -c ".$d->{deps}->[0]."\n\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
print "\n";
|
print "\n";
|
||||||
print $makefile_extra{'cygwin'};
|
print $makefile_extra{'cygwin'};
|
||||||
@ -488,7 +495,7 @@ if (defined $makefiles{'borland'}) {
|
|||||||
print "\techo " . &objects($p, undef, "X.res", undef) . " >> $prog.rsp\n";
|
print "\techo " . &objects($p, undef, "X.res", undef) . " >> $prog.rsp\n";
|
||||||
print "\n";
|
print "\n";
|
||||||
}
|
}
|
||||||
foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\")) {
|
foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\", "borland")) {
|
||||||
print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
|
print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
|
||||||
"\n";
|
"\n";
|
||||||
}
|
}
|
||||||
@ -525,13 +532,11 @@ if (defined $makefiles{'vc'}) {
|
|||||||
"MAKEFILE = Makefile.vc\n".
|
"MAKEFILE = Makefile.vc\n".
|
||||||
"\n".
|
"\n".
|
||||||
"# C compilation flags\n".
|
"# C compilation flags\n".
|
||||||
"CFLAGS = /nologo /W3 /O1 /D_WINDOWS /D_WIN32_WINDOWS=0x401 /DWINVER=0x401\n".
|
"CFLAGS = /nologo /W3 /O1 " .
|
||||||
|
(join " ", map {"-I$dirpfx$_"} @srcdirs) .
|
||||||
|
" /D_WINDOWS /D_WIN32_WINDOWS=0x401 /DWINVER=0x401\n".
|
||||||
"LFLAGS = /incremental:no /fixed\n".
|
"LFLAGS = /incremental:no /fixed\n".
|
||||||
"\n".
|
"\n".
|
||||||
".c.obj:\n".
|
|
||||||
"\tcl \$(COMPAT) \$(FWHACK) \$(XFLAGS) \$(CFLAGS) /c \$*.c\n".
|
|
||||||
".rc.res:\n".
|
|
||||||
"\trc \$(FWHACK) \$(RCFL) -r -DWIN32 -D_WIN32 -DWINVER=0x0400 \$*.rc\n".
|
|
||||||
"\n";
|
"\n";
|
||||||
print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("GC"));
|
print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("GC"));
|
||||||
print "\n\n";
|
print "\n\n";
|
||||||
@ -560,9 +565,14 @@ if (defined $makefiles{'vc'}) {
|
|||||||
}
|
}
|
||||||
print "\n";
|
print "\n";
|
||||||
}
|
}
|
||||||
foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\")) {
|
foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\", "vc")) {
|
||||||
print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
|
print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
|
||||||
"\n";
|
"\n";
|
||||||
|
if ($d->{obj} =~ /.obj$/) {
|
||||||
|
print "\tcl \$(COMPAT) \$(FWHACK) \$(XFLAGS) \$(CFLAGS) /c ".$d->{deps}->[0],"\n\n";
|
||||||
|
} else {
|
||||||
|
print "\trc \$(FWHACK) \$(RCFL) -r -DWIN32 -D_WIN32 -DWINVER=0x0400 ".$d->{deps}->[0],"\n\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
print "\n";
|
print "\n";
|
||||||
print $makefile_extra{'vc'};
|
print $makefile_extra{'vc'};
|
||||||
@ -588,6 +598,7 @@ if (defined $makefiles{'vc'}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (defined $makefiles{'vcproj'}) {
|
if (defined $makefiles{'vcproj'}) {
|
||||||
|
$dirpfx = &dirpfx($makefiles{'vcproj'}, "\\");
|
||||||
|
|
||||||
$orig_dir = cwd;
|
$orig_dir = cwd;
|
||||||
|
|
||||||
@ -604,7 +615,7 @@ if (defined $makefiles{'vcproj'}) {
|
|||||||
mkdir $makefiles{'vcproj'}
|
mkdir $makefiles{'vcproj'}
|
||||||
if(! -d $makefiles{'vcproj'});
|
if(! -d $makefiles{'vcproj'});
|
||||||
chdir $makefiles{'vcproj'};
|
chdir $makefiles{'vcproj'};
|
||||||
@deps = &deps("X.obj", "X.res", "", "\\");
|
@deps = &deps("X.obj", "X.res", $dirpfx, "\\", "vcproj");
|
||||||
%all_object_deps = map {$_->{obj} => $_->{deps}} @deps;
|
%all_object_deps = map {$_->{obj} => $_->{deps}} @deps;
|
||||||
# Create the project files
|
# Create the project files
|
||||||
# Get names of all Windows projects (GUI and console)
|
# Get names of all Windows projects (GUI and console)
|
||||||
@ -739,8 +750,12 @@ if (defined $makefiles{'vcproj'}) {
|
|||||||
"# PROP Intermediate_Dir \"Release\"\r\n".
|
"# PROP Intermediate_Dir \"Release\"\r\n".
|
||||||
"# PROP Ignore_Export_Lib 0\r\n".
|
"# PROP Ignore_Export_Lib 0\r\n".
|
||||||
"# PROP Target_Dir \"\"\r\n".
|
"# PROP Target_Dir \"\"\r\n".
|
||||||
"# ADD BASE CPP /nologo /W3 /GX /O2 /D \"WIN32\" /D \"NDEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /c\r\n".
|
"# ADD BASE CPP /nologo /W3 /GX /O2 ".
|
||||||
"# ADD CPP /nologo /W3 /GX /O2 /D \"WIN32\" /D \"NDEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /c\r\n".
|
(join " ", map {"/I \"..\\..\\$dirpfx$_\""} @srcdirs) .
|
||||||
|
" /D \"WIN32\" /D \"NDEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /c\r\n".
|
||||||
|
"# ADD CPP /nologo /W3 /GX /O2 ".
|
||||||
|
(join " ", map {"/I \"..\\..\\$dirpfx$_\""} @srcdirs) .
|
||||||
|
" /D \"WIN32\" /D \"NDEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /c\r\n".
|
||||||
"# ADD BASE MTL /nologo /D \"NDEBUG\" /mktyplib203 /win32\r\n".
|
"# ADD BASE MTL /nologo /D \"NDEBUG\" /mktyplib203 /win32\r\n".
|
||||||
"# ADD MTL /nologo /D \"NDEBUG\" /mktyplib203 /win32\r\n".
|
"# ADD MTL /nologo /D \"NDEBUG\" /mktyplib203 /win32\r\n".
|
||||||
"# ADD BASE RSC /l 0x809 /d \"NDEBUG\"\r\n".
|
"# ADD BASE RSC /l 0x809 /d \"NDEBUG\"\r\n".
|
||||||
@ -766,8 +781,12 @@ if (defined $makefiles{'vcproj'}) {
|
|||||||
"# PROP Intermediate_Dir \"Debug\"\r\n".
|
"# PROP Intermediate_Dir \"Debug\"\r\n".
|
||||||
"# PROP Ignore_Export_Lib 0\r\n".
|
"# PROP Ignore_Export_Lib 0\r\n".
|
||||||
"# PROP Target_Dir \"\"\r\n".
|
"# PROP Target_Dir \"\"\r\n".
|
||||||
"# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D \"WIN32\" /D \"_DEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /GZ /c\r\n".
|
"# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od ".
|
||||||
"# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D \"WIN32\" /D \"_DEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /GZ /c\r\n".
|
(join " ", map {"/I \"..\\..\\$dirpfx$_\""} @srcdirs) .
|
||||||
|
" /D \"WIN32\" /D \"_DEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /GZ /c\r\n".
|
||||||
|
"# ADD CPP /nologo /W3 /Gm /GX /ZI /Od ".
|
||||||
|
(join " ", map {"/I \"..\\..\\$dirpfx$_\""} @srcdirs) .
|
||||||
|
" /D \"WIN32\" /D \"_DEBUG\" /D \"_WINDOWS\" /D \"_MBCS\" /YX /FD /GZ /c\r\n".
|
||||||
"# ADD BASE MTL /nologo /D \"_DEBUG\" /mktyplib203 /win32\r\n".
|
"# ADD BASE MTL /nologo /D \"_DEBUG\" /mktyplib203 /win32\r\n".
|
||||||
"# ADD MTL /nologo /D \"_DEBUG\" /mktyplib203 /win32\r\n".
|
"# ADD MTL /nologo /D \"_DEBUG\" /mktyplib203 /win32\r\n".
|
||||||
"# ADD BASE RSC /l 0x809 /d \"_DEBUG\"\r\n".
|
"# ADD BASE RSC /l 0x809 /d \"_DEBUG\"\r\n".
|
||||||
@ -889,7 +908,7 @@ if (defined $makefiles{'gtk'}) {
|
|||||||
print &splitline("\t\$(CC)" . $mw . " \$(${type}LDFLAGS) -o \$@ " .
|
print &splitline("\t\$(CC)" . $mw . " \$(${type}LDFLAGS) -o \$@ " .
|
||||||
$objstr . " $libstr", 69), "\n\n";
|
$objstr . " $libstr", 69), "\n\n";
|
||||||
}
|
}
|
||||||
foreach $d (&deps("X.o", undef, $dirpfx, "/")) {
|
foreach $d (&deps("X.o", undef, $dirpfx, "/", "gtk")) {
|
||||||
print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
|
print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
|
||||||
"\n";
|
"\n";
|
||||||
}
|
}
|
||||||
@ -1008,14 +1027,14 @@ if (defined $makefiles{'mpw'}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
foreach $d (&deps("", "X.rsrc", "::", ":")) {
|
foreach $d (&deps("", "X.rsrc", "::", ":", "mpw")) {
|
||||||
next unless $d->{obj};
|
next unless $d->{obj};
|
||||||
print &splitline(sprintf("%s \xc4 %s", $d->{obj}, join " ", @{$d->{deps}}),
|
print &splitline(sprintf("%s \xc4 %s", $d->{obj}, join " ", @{$d->{deps}}),
|
||||||
undef, "\xb6"), "\n";
|
undef, "\xb6"), "\n";
|
||||||
print "\tRez ", $d->{deps}->[0], " -o {Targ} {ROptions}\n\n";
|
print "\tRez ", $d->{deps}->[0], " -o {Targ} {ROptions}\n\n";
|
||||||
}
|
}
|
||||||
foreach $arch (qw(68K CFM68K)) {
|
foreach $arch (qw(68K CFM68K)) {
|
||||||
foreach $d (&deps("X.\L$arch\E.o", "", "::", ":")) {
|
foreach $d (&deps("X.\L$arch\E.o", "", "::", ":", "mpw")) {
|
||||||
next unless $d->{obj};
|
next unless $d->{obj};
|
||||||
print &splitline(sprintf("%s \xc4 %s", $d->{obj},
|
print &splitline(sprintf("%s \xc4 %s", $d->{obj},
|
||||||
join " ", @{$d->{deps}}),
|
join " ", @{$d->{deps}}),
|
||||||
@ -1025,7 +1044,7 @@ if (defined $makefiles{'mpw'}) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach $arch (qw(PPC Carbon)) {
|
foreach $arch (qw(PPC Carbon)) {
|
||||||
foreach $d (&deps("X.\L$arch\E.o", "", "::", ":")) {
|
foreach $d (&deps("X.\L$arch\E.o", "", "::", ":", "mpw")) {
|
||||||
next unless $d->{obj};
|
next unless $d->{obj};
|
||||||
print &splitline(sprintf("%s \xc4 %s", $d->{obj},
|
print &splitline(sprintf("%s \xc4 %s", $d->{obj},
|
||||||
join " ", @{$d->{deps}}),
|
join " ", @{$d->{deps}}),
|
||||||
@ -1064,12 +1083,6 @@ if (defined $makefiles{'lcc'}) {
|
|||||||
"\n".
|
"\n".
|
||||||
"\n".
|
"\n".
|
||||||
"# Get include directory for resource compiler\n".
|
"# Get include directory for resource compiler\n".
|
||||||
"\n".
|
|
||||||
".c.obj:\n".
|
|
||||||
&splitline("\tlcc -O -p6 \$(COMPAT) \$(FWHACK)".
|
|
||||||
" \$(XFLAGS) \$(CFLAGS) \$*.c",69)."\n".
|
|
||||||
".rc.res:\n".
|
|
||||||
&splitline("\tlrc \$(FWHACK) \$(RCFL) -r \$*.rc",69)."\n".
|
|
||||||
"\n";
|
"\n";
|
||||||
print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("GC"));
|
print &splitline("all:" . join "", map { " $_.exe" } &progrealnames("GC"));
|
||||||
print "\n\n";
|
print "\n\n";
|
||||||
@ -1084,9 +1097,15 @@ if (defined $makefiles{'lcc'}) {
|
|||||||
print "\n\n";
|
print "\n\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\")) {
|
foreach $d (&deps("X.obj", "X.res", $dirpfx, "\\", "lcc")) {
|
||||||
print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
|
print &splitline(sprintf("%s: %s", $d->{obj}, join " ", @{$d->{deps}})),
|
||||||
"\n";
|
"\n";
|
||||||
|
if ($d->{obj} =~ /\.obj$/) {
|
||||||
|
print &splitline("\tlcc -O -p6 \$(COMPAT) \$(FWHACK)".
|
||||||
|
" \$(XFLAGS) \$(CFLAGS) ".$d->{deps}->[0],69)."\n";
|
||||||
|
} else {
|
||||||
|
print &splitline("\tlrc \$(FWHACK) \$(RCFL) -r ".$d->{deps}->[0],69)."\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
print "\n";
|
print "\n";
|
||||||
print $makefile_extra{'lcc'};
|
print $makefile_extra{'lcc'};
|
||||||
|
BIN
website.url
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 318 B After Width: | Height: | Size: 318 B |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 766 B After Width: | Height: | Size: 766 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |