X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/a7088bde9cd939caffd0627e2715e1865b0ec558..bace54316e12bf47756c5c53cd97baf533d95db5:/mkfiles.pl diff --git a/mkfiles.pl b/mkfiles.pl index 33b6a713..2d1b6252 100755 --- a/mkfiles.pl +++ b/mkfiles.pl @@ -29,12 +29,18 @@ close IN; foreach $i (split '\n',$store{'gui-apps'}) { $i =~ s/^# //; + $speciallibs = [split ' ', $i]; + $i = shift @$speciallibs; # take off project name $gui{$i} = 1; + $libs{$i} = $speciallibs; } foreach $i (split '\n',$store{'console-apps'}) { $i =~ s/^# //; - $gui{$i} = -0; + $speciallibs = [split ' ', $i]; + $i = shift @$speciallibs; # take off project name + $gui{$i} = 0; + $libs{$i} = $speciallibs; } sub project { @@ -72,7 +78,7 @@ print "\n". "CFLAGS = -mno-cygwin -Wall -O2 -D_WINDOWS -DDEBUG -DWIN32S_COMPAT -D_NO_OLDNAMES -I.\n". "LDFLAGS = -mno-cygwin -s\n". -"RCFLAGS = \$(RCINC) --define WIN32=1 --define _WIN32=1 --define WINVER=0x0400\n". +"RCFLAGS = \$(RCINC) --define WIN32=1 --define _WIN32=1 --define WINVER=0x0400 --define MINGW32_FIX=1\n". "LIBS = -ladvapi32 -luser32 -lgdi32 -lwsock32 -lcomctl32 -lcomdlg32\n". "OBJ=o\n". "RES=res.o\n". @@ -91,7 +97,9 @@ print foreach $p (@projects) { print $p, ".exe: ", &project($p), "\n"; my $mw = $gui{$p} ? " -mwindows" : ""; - print "\t\$(CC)" . $mw . " \$(LDFLAGS) -o \$@ " . &project($p), " \$(LIBS)\n\n"; + $libstr = ""; + foreach $lib (@{$libs{$p}}) { $libstr .= " -l$lib"; } + print "\t\$(CC)" . $mw . " \$(LDFLAGS) -o \$@ " . &project($p), " \$(LIBS)$libstr\n\n"; } print $store{"dependencies"}; print @@ -118,9 +126,6 @@ print "# so that the .rsp files still depend on the correct makefile.\n". "MAKEFILE = Makefile.bor\n". "\n". -"# Stop windows.h including winsock2.h which would conflict with winsock 1\n". -"CFLAGS = -DWIN32_LEAN_AND_MEAN\n". -"\n". "# Get include directory for resource compiler\n". "!if !\$d(BCB)\n". "BCB = \$(MAKEDIR)\\..\n". @@ -142,7 +147,7 @@ print map { " $_.exe" } @projects; print "\n\n"; foreach $p (@projects) { print $p, ".exe: ", &project($p), " $p.rsp\n"; - $ap = $gui{$p} ? "" : " -ap"; + $ap = $gui{$p} ? " -aa" : " -ap"; print "\tilink32$ap -Gn -L\$(BCB)\\lib \@$p.rsp\n\n"; } foreach $p (@projects) { @@ -155,7 +160,10 @@ foreach $p (@projects) { print "\techo \$($objlines[$i])$plus >> $p.rsp\n"; } print "\techo $p.exe >> $p.rsp\n"; - print "\techo nul,cw32 import32, >> $p.rsp\n"; + @libs = @{$libs{$p}}; + unshift @libs, "cw32", "import32"; + $libstr = join ' ', @libs; + print "\techo nul,$libstr, >> $p.rsp\n"; print "\techo " . (join " ", &project("resources.$p")) . " >> $p.rsp\n"; print "\n"; }