X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=windows%2FMakefile.watcom;h=44d0b5baefe64c4e28b7c985bc375311d9509f40;hp=11856d800824468cd8b3d36d45ae3b6df6df0f8a;hb=370ff7a57640ff98cc399317927e8f3c51abad76;hpb=dc823e0604c34dd518463675650c68c581a42abb diff --git a/windows/Makefile.watcom b/windows/Makefile.watcom index 11856d80..44d0b5ba 100644 --- a/windows/Makefile.watcom +++ b/windows/Makefile.watcom @@ -1,63 +1,60 @@ ## Compiler, linker, and lib stuff ## Makefile for use with watcom win95/winnt executable. # -# Copy this file to the ..\src directory (maybe rename to Makefile). Also: -# copy config.h.ms ..\src\config.h +# Copy this file to the ..\src directory (maybe rename to Makefile). # CC=wcc386 /zq LINK=wlink -#disabled for faster compiler -LFLAGS=sys nt op st=32767 op vers=1.7 op map op q op de 'GNU wget 1.7dev' de all -CFLAGS=/zp4 /d1 /w4 /fpd /5s /fp5 /bm /mf /os /bt=nt /DWINDOWS /DHAVE_CONFIG_H /I=$(%WATCOM)\h;$(%WATCOM)\h\nt;. +# +# Note: this will wipe anything in the env.var PATH ! +# +.BEFORE + @SET INCLUDE=$(%WATCOM)\h;$(%WATCOM)\h\nt;. + +LFLAGS=op q sys nt op st=32767 op vers=1.7 op map op de 'GNU wget 1.7dev' de dw op symf +# +# op q : quiet ! +# sys nt : producing an NT app +# op st(ack)=32768 : stack size +# op vers(ion)=1.7 : "Image version" in the EXE header ( major.minor ) +# op map : produce a map file +# op de : textual description, placed in the executable +# de dw : debug info on Dwarf format +# op symf : place debug info in a separate wget.sym +# + +CFLAGS=/zp4 /w4 /fpd /5s /fp5 /bm /mf /bt=nt /DWINDOWS /DHAVE_CONFIG_H +# ^^^^^^^^ wget will run on NT. We can safely assume a Pentium :-) # /zp4= pack structure members with this alignment # /d1 = line number debug info # /w4 = warning level -# /fpd= ??? no such switch ! +# /fpd= Pentium floatingpoint bug workaround # /5s = Pentium stack-based calling # /fp5= Pentium floating point # /bm = build multi-threaded # /mf = flat memory model -# /os = optimize for size # /bt = "build target" (nt) # -# The trouble: dependencies need to be space-separated (exe : obj1 obj2) -# wlink wants them comma-separated ( wlink FILE obj1,obj2 ) -# The trick : Use wmake's "immediate expansion" feautre ( $+ turns it on, -# end-of-line and $_ turns it off ) to construct -# Background : wmake expands macros in macro definitions at the place of -# the macro call (GNU make's = behaviour) -# $+ changes this behaviour to expand the macros at the -# place of the macro *definition* (kinda like gmake's := does) -# -# See the "Macros" topic in the Watcom Tools Guide +# Choose one of the following three: +# /od /d2 for no optimization, full debug info +# /os /d2 to optimize for size, full debug info (or /d1 for line number debug info) +# /othexan for "heavy-duty" optimizations, no debug info # +#CFLAGS+= /od /d2 +CFLAGS+= /os /d2 +#CFLAGS+= /othexan +# ^^-- mind the gap !! -# -# Add new object files to OBJS, with $_ appended -# Note: There MUST NOT be a $_ on the last one !! -# & is the line continuation character (also shouldn't be present at the end) -# -OBJS = cmpt.obj$_ connect.obj$_ cookies.obj$_ fnmatch.obj$_ ftp.obj$_ ftp-basic.obj$_ & - ftp-ls.obj$_ ftp-opie.obj$_ getopt.obj$_ hash.obj$_ headers.obj$_ host.obj$_ html-parse.obj$_ html-url.obj$_ & - http.obj$_ init.obj$_ log.obj$_ main.obj$_ md5.obj$_ netrc.obj$_ rbuf.obj$_ & - recur.obj$_ retr.obj$_ safe-ctype.obj$_ url.obj$_ utils.obj$_ version.obj$_ mswindows.obj - - -# -# For LINKOBJS, $_ is defined as a comma -# -_=, -LINKOBJS=FILE $+$(OBJS)$- - -# -# Empty $_ again. OBJS now can be used as the dependency list for wget.exe -# -_= - +#CFLAGS+= /DDEBUG_MALLOC +# ^^-- mind the gap !! +OBJS = cmpt.obj convert.obj connect.obj cookies.obj ftp.obj ftp-basic.obj & + ftp-ls.obj ftp-opie.obj getopt.obj hash.obj headers.obj host.obj html-parse.obj html-url.obj & + http.obj init.obj log.obj main.obj gen-md5.obj gnu-md5.obj netrc.obj progress.obj rbuf.obj & + recur.obj res.obj retr.obj safe-ctype.obj url.obj utils.obj version.obj mswindows.obj LIBFILES = # @@ -66,8 +63,21 @@ LIBFILES = BINNAME=wget.exe +all : config.h $(BINNAME) .SYMBOLIC + +# +# We use config.h.ms +# +config.h : ..\windows\config.h.ms + copy $[@ $^@ + +# +# Note: this will pass all the OBJ files to wlink, +# resulting in a very long command line (410 chars, last I counted) +# This might fail on Win9x (works with NT's cmd.exe) +# $(BINNAME): $(OBJS) Makefile - $(LINK) $(LFLAGS) NAME $(BINNAME) $(LINKOBJS) $(LIBPATH) $(LIBFILES) + $(LINK) $(LFLAGS) NAME $(BINNAME) FILE { $(OBJS) } $(LIBPATH) $(LIBFILES) # @@ -77,4 +87,8 @@ $(BINNAME): $(OBJS) Makefile # .c.obj: .AUTODEPEND - $(CC) $(CFLAGS) $[@ + $(CC) $(CFLAGS) $[@ + +.c.i: .AUTODEPEND + $(CC) $(CFLAGS) -fo=$@ /Pc $[@ +