]> sjero.net Git - wget/blobdiff - windows/Makefile.watcom
[svn] Define WGET_USE_STDARG in windows/config.h.bor.
[wget] / windows / Makefile.watcom
index 11856d800824468cd8b3d36d45ae3b6df6df0f8a..81811330a6edf71dee8eba20177766c5a04e2c39 100644 (file)
@@ -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 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 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 $[@
+