summaryrefslogtreecommitdiff
path: root/watcom.mif
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2004-11-23 18:48:10 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>2004-11-23 18:48:10 +0000
commit85c0090b7c62ad4bc0bc3d0b7c2fcd7460dad2ba (patch)
tree6754358473812c3c9f288e517fa47cb3e6cb8ae3 /watcom.mif
parent7ca20dcd4a1aab740635a9e5150f051a98ca8c0d (diff)
More watcom fixes (STR #627)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3915 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'watcom.mif')
-rw-r--r--watcom.mif559
1 files changed, 279 insertions, 280 deletions
diff --git a/watcom.mif b/watcom.mif
index 3ba3fa6af..2a316a86c 100644
--- a/watcom.mif
+++ b/watcom.mif
@@ -1,280 +1,279 @@
-######################################################################
-#
-# Watcom C specific makefile, multiplatform
-#
-#
-# The following macross must be set active when this file is called
-# -D parameter, e.g. -DPROJ=fltk
-# ROOT = root of project (e.g. FLTK directory)
-# PROJ = project name (e.g. fltk)
-#
-# The following environment variable must be set. If you have multiple
-# Watcom versions, use the setvars file in the Watcom directory to set it.
-# WATCOM = root of Watcom C
-######################################################################
-
-#
-# The following options must be set when calling this wmake file
-# (case-sensitive):
-# D (debug/release mode): d for debug mode,
-# r for release mode
-# O (target environment): d = DOS 32 bits
-# o = OS/2 32 bits
-# w = Windows 32 bit
-# l = Linux Intel (experimental, no graphics yet (OW 1.3))
-#
-#
-# If not set, debug mode and target=host (that is, no cross-compiling).
-# Example: wmake -h -f makefile.wat d=r o=w
-#
-# Following macros can be used to add/override existing macros in
-# this file.
-# EXTRA_INCLUDE_DIRS # Non-Watcom (project) include dirs
-# ODIR # Output directory if not default
-# ROOT # Project root. If not given, .
-# PROJ # Project name.
-# LIBS # Extra libs to link in
-# LIBDIR # Project library directory. Default: PROJ\LIB
-# LIBNAMEROOT # Project rootname of output library. Default: PROJ\Lib\Proj
-# EXTRA_LIBS # Target specific include libs
-
-!ifndef D
-MODE=d # default is debug mode
-!else
-! ifeq D d
-MODE=d
-! else ifeq D r
-MODE=r
-! else
-CONFIG_ERROR_MSG=Unrecognized mode: $(D)
-! endif
-!endif
-
-# If target is specified, check its validity; if not specified, the target is
-# the host platform itself.
-
-!ifdef O
-! ifeq O d
-TARGET=dos
-! else ifeq O o
-TARGET=os2
-! else ifeq O w
-TARGET=nt
-! else ifeq O l
-TARGET=linux
-! else
-CONFIG_ERROR_MSG=Unrecognized target: $(O)
-! endif
-!else
-! ifdef __DOS__
-TARGET=dos
-! else ifdef __OS2__
-TARGET=os2
-! else ifdef __NT__
-TARGET=nt
-! else ifdef __LINUX__
-TARGET=linux
-! endif
-!endif
-
-#
-# Now we know the target. Determine the link target. For fltk, this
-# is always GUI for Windows and OS/2. For possible link targets (aliases
-# for a set of linker directives) see wlsystem.lnk in Watcom's BINW directory.
-#
-!ifeq TARGET dos
-LINKTARGET=dos32a
-!else ifeq TARGET os2
-LINKTARGET=os2v2_pm
-!else ifeq TARGET nt
-LINKTARGET=nt_win
-!else
-LINKTARGET=linux
-!endif
-
-#
-# Very important: specify the sequence of extensions. Wmake will try to make a target
-# with an extension from the first file of the same name with an extension to the right.
-# E.g. it tries to make hello.obj from hello.cxx, or hello.cpp etc, but never from hello.exe
-#
-.EXTENSIONS :
-.EXTENSIONS : .exe .lib .obj .cxx .cpp .c .h .fl
-
-#
-# Create output directory name if not already supplied. To allow
-# cross-development, must include target name.
-#
-!ifndef ODIR
-ODIR=$(D)_$(TARGET)
-!endif
-
-#
-# Contruct the libname from the root plus D and O macros, so that
-# multiple LIBS can co-exists, e.g. FLTK_DW and FLTK_RW for Win32.
-#
-!ifndef LIBDIR
-LIBDIR=$(ROOT)\lib\
-!endif
-!ifndef LIBNAMEROOT
-LIBNAMEROOT=$(PROJ)
-!endif
-!ifndef LIBNAME
-LIBNAME = $(LIBDIR)$(LIBNAMEROOT)_$(D)$(O).lib
-# FLTK has other 'global' libs. Define the names here so that any application
-# using FLTK can use them by just including this mif file.
-LIBNAMEFL = $(LIBDIR)$(LIBNAMEROOT)_fl_$(D)$(O).lib
-LIBNAMEGL = $(LIBDIR)$(LIBNAMEROOT)_gl_$(D)$(O).lib
-LIBNAMEIMG = $(LIBDIR)$(LIBNAMEROOT)_img_$(D)$(O).lib
-LIBS = $(LIBNAME) $(LIBNAMEFL) $(LIBNAMEGL) $(LIBNAMEIMG)
-!endif
-
-# Set target environment options for the project
-
-!ifeqi TARGET nt # WINDOWS 32 bit
-SYSDEF= -DWIN32
-ASYSDEF=
-EXEEXT=.exe
-
-!else ifeqi TARGET linux # Linux Intel 32 bit generic
-SYSDEF=
-ASYSDEF=
-EXEEXT=.exe # We need some exe extension else the build won't work
-
-!else ifeqi TARGET os2 # OS/2 32 bit
-SYSDEF=
-ASYSDEF=
-EXEEXT=.exe
-
-!else ifeqi TARGET dos # DOS 32 bit
-SYSDEF=
-ASYSDEF=
-EXEEXT=.exe
-
-!endif
-
-
-######################################################################
-#
-# End of compiler- and environment specific options
-#
-# Note !message will print before any actions ('PRE'processor!), and thus
-# will not reflect results of any rules (like set xxx=yyy).
-# echo is a rule itself, and will reflect results of preceding rules.
-#
-######################################################################
-
-.BEFORE :
-!ifdef CONFIG_ERROR_MSG
-! message
-! message Configuration error:
-! message $(CONFIG_ERROR_MSG)
-! message
- %abort
-!endif
- @if not exist $(ODIR) -mkdir $(ODIR)
-!ifeqi O d
- @set INCLUDE=$(%WATCOM)\H;$(EXTRA_INCLUDE_DIRS)
-!else ifeqi O o
- @set INCLUDE=$(%WATCOM)\H;$(%WATCOM)\H\OS2;$(EXTRA_INCLUDE_DIRS)
-!else ifeqi O w
- @set INCLUDE=$(%WATCOM)\H;$(%WATCOM)\H\NT;$(EXTRA_INCLUDE_DIRS)
-!else ifeqi O l
- @set INCLUDE=$(%WATCOM)\LH;$(EXTRA_INCLUDE_DIRS)
-!endif
-
-# @set LIB=$(LIBPATH)
-# @echo Top dir: $(PROJ)
- @echo Include dirs: $(%INCLUDE)
-# @echo Lib dirs: $(LIBDIRS)
-# @echo Libname=$(LIBNAME)
-# @echo extra libs: $(LIBS)
-# @echo Wmake version $(__VERSION__)
-# @echo Wmake parameters: $(__MAKEOPTS__)
-# @echo Compiler : $(CC) $(CCOPTS0) $(CCOPTS1) $(CCOPTS2) $(CCOPTS3)
-# @echo Librarian: $(LIB)
-# @echo Linker : $(LN) $(LNOPTS)
-# @echo Project : $(P)
-
-!ifeqi D d
-WCADEBUG=-d1 # debug opts for wasm
-WCCDEBUG=-d2 -s -ors # debug opts for wcc. NOTE: -we is to make errors of all warnings
-WCLDEBUG=d all # debug opts for wlink
-# WCCTIMING=-et # if added to CC command line will generate timing file after execution
-!else
-#
-# WCADEBUG= # debug opts for wasm
-WCCDEBUG= -ors -s # release opts for wcc
-# WCLDEBUG= # release opts for wlink
-!endif
-
-# Conventions Watcom
-
-# Tell default paths based on extension
-.fl : .
-.h : .
-#.lib : .
-.c : .
-.cpp : .
-.cxx : .
-.obj : $(ODIR)
-.exe : $(ODIR)
-
-#
-# Tell wmake to use DLL versions of some commands (much quicker)
-#
-!loaddll wcc386 wccd386
-!loaddll wpp386 wppd386
-!loaddll wlink wlink
-!loaddll wlib wlibd
-
-CCOPTS0=-6r -zq
-CCOPTS1=$(WCCDEBUG) -bt=$(TARGET) -fp6 -fpi87 # 1st part of Watcom opts
-CCOPTS2=-mf -wce=130 -wx -zq # -j # 2nd part of Watcom opts
-CCOPTS3=-fo$(ODIR)\$^&.obj # 3rd part Watcom opts
-COPTS=-zm
-CPPOPTS=-zmf -zv -fx
-
-LNOPTS=sys $(LINKTARGET) $(WCLDEBUG) op symf,q,m,el,vfr op st=32k # linker options
-LIBOPTS= -b -q -p=512 -c # librarian options
-LN=wlink # Watcom linker
-AS=wasm # Watcom assembler
-cc=wcc386 # Watcom C compiler
-cpp=wpp386 # Watcom C++ compiler
-LIB=wlib # Watcom librarian
-
-#
-# Compilation
-#
-.c.obj: .AUTODEPEND
- $(CC) $(SYSDEF) $(DEBUGDEF) $(CCOPTS0) $(CCOPTS1) $(CCOPTS2) $(CCOPTS3) $(COPTS) $[@
-
-.cpp.obj: .AUTODEPEND
- $(CPP) $(SYSDEF) $(DEBUGDEF) $(CCOPTS0) $(CCOPTS1) $(CCOPTS2) $(CCOPTS3) $(CPPOPTS) $[@
-
-.cxx.obj: .AUTODEPEND
- $(CPP) $(SYSDEF) $(DEBUGDEF) $(CCOPTS0) $(CCOPTS1) $(CCOPTS2) $(CCOPTS3) $(CPPOPTS) $[@
-
-#
-# Librarian stage
-#
-.obj.lib:
- $(LIB) $(LIBOPTS) $@ $<
-
-#
-# Linking stage. This implicit rule assumes the .exe is created from an object file with the
-# same name, plus other object in macro OBJECTS, a number of .libs in macro LIBS etc.
-# If the linking fails for some reason, the .lk1 file is not deleted and it can be
-# examined.
-#
-.obj.exe:
- @%create $^*.lk1
- @%append $^*.lk1 F $(ODIR)/$^&
- @for %i in ($(%OBJS)) do @%append $^*.lk1 F $(ODIR)/%i
- @for %i in ($(OBJECTS)) do @%append $^*.lk1 F $(ODIR)/%i
- @for %i in ($(LIBS)) do @%append $^*.lk1 L %i
- @for %i in ($(EXTRA_LIBS)) do @%append $^*.lk1 L %i
- @for %i in ($(SYSLIBS)) do @%append $^*.lk1 L %i
- $(LN) $(LNOPTS) name $^@ op map=$^* @$^*.lk1
- @del $^*.lk1
-
-
+######################################################################
+#
+# Watcom C specific makefile, multiplatform
+#
+#
+# The following macross must be set active when this file is called
+# -D parameter, e.g. -DPROJ=fltk
+# ROOT = root of project (e.g. FLTK directory)
+# PROJ = project name (e.g. fltk)
+#
+# The following environment variable must be set. If you have multiple
+# Watcom versions, use the setvars file in the Watcom directory to set it.
+# WATCOM = root of Watcom C
+######################################################################
+
+#
+# The following options must be set when calling this wmake file
+# (case-sensitive):
+# D (debug/release mode): d for debug mode,
+# r for release mode
+# O (target environment): d = DOS 32 bits
+# o = OS/2 32 bits
+# w = Windows 32 bit
+# l = Linux Intel (experimental, no graphics yet (OW 1.3))
+#
+#
+# If not set, debug mode and target=host (that is, no cross-compiling).
+# Example: wmake -h -f makefile.wat d=r o=w
+#
+# Following macros can be used to add/override existing macros in
+# this file.
+# EXTRA_INCLUDE_DIRS # Non-Watcom (project) include dirs
+# ODIR # Output directory if not default
+# ROOT # Project root. If not given, .
+# PROJ # Project name.
+# LIBS # Extra libs to link in
+# LIBDIR # Project library directory. Default: PROJ\LIB
+# LIBNAMEROOT # Project rootname of output library. Default: PROJ\Lib\Proj
+# EXTRA_LIBS # Target specific include libs
+
+!ifndef D
+MODE=d # default is debug mode
+!else
+! ifeq D d
+MODE=d
+! else ifeq D r
+MODE=r
+! else
+CONFIG_ERROR_MSG=Unrecognized mode: $(D)
+! endif
+!endif
+
+# If target is specified, check its validity; if not specified, the target is
+# the host platform itself.
+
+!ifdef O
+! ifeq O d
+TARGET=dos
+! else ifeq O o
+TARGET=os2
+! else ifeq O w
+TARGET=nt
+! else ifeq O l
+TARGET=linux
+! else
+CONFIG_ERROR_MSG=Unrecognized target: $(O)
+! endif
+!else
+! ifdef __DOS__
+TARGET=dos
+! else ifdef __OS2__
+TARGET=os2
+! else ifdef __NT__
+TARGET=nt
+! else ifdef __LINUX__
+TARGET=linux
+! endif
+!endif
+
+#
+# Now we know the target. Determine the link target. For fltk, this
+# is always GUI for Windows and OS/2. For possible link targets (aliases
+# for a set of linker directives) see wlsystem.lnk in Watcom's BINW directory.
+#
+!ifeq TARGET dos
+LINKTARGET=dos32a
+!else ifeq TARGET os2
+LINKTARGET=os2v2_pm
+!else ifeq TARGET nt
+LINKTARGET=nt_win
+!else
+LINKTARGET=linux
+!endif
+
+#
+# Very important: specify the sequence of extensions. Wmake will try to make a target
+# with an extension from the first file of the same name with an extension to the right.
+# E.g. it tries to make hello.obj from hello.cxx, or hello.cpp etc, but never from hello.exe
+#
+.EXTENSIONS :
+.EXTENSIONS : .exe .lib .obj .cxx .cpp .c .h .fl
+
+#
+# Create output directory name if not already supplied. To allow
+# cross-development, must include target name.
+#
+!ifndef ODIR
+ODIR=$(D)_$(TARGET)
+!endif
+
+#
+# Contruct the libname from the root plus D and O macros, so that
+# multiple LIBS can co-exists, e.g. FLTK_DW and FLTK_RW for Win32.
+#
+!ifndef LIBDIR
+LIBDIR=$(ROOT)\lib\
+!endif
+!ifndef LIBNAMEROOT
+LIBNAMEROOT=$(PROJ)
+!endif
+!ifndef LIBNAME
+LIBNAME = $(LIBDIR)$(LIBNAMEROOT)_$(D)$(O).lib
+# FLTK has other 'global' libs. Define the names here so that any application
+# using FLTK can use them by just including this mif file.
+LIBNAMEFL = $(LIBDIR)$(LIBNAMEROOT)_fl_$(D)$(O).lib
+LIBNAMEGL = $(LIBDIR)$(LIBNAMEROOT)_gl_$(D)$(O).lib
+LIBNAMEIMG = $(LIBDIR)$(LIBNAMEROOT)_img_$(D)$(O).lib
+LIBS = $(LIBNAME) $(LIBNAMEFL) $(LIBNAMEGL) $(LIBNAMEIMG)
+!endif
+
+# Set target environment options for the project
+
+!ifeqi TARGET nt # WINDOWS 32 bit
+SYSDEF= -DWIN32
+ASYSDEF=
+SYSLIBS=wsock32.lib mpr.lib glu32.lib opengl32.lib
+EXEEXT=.exe
+
+!else ifeqi TARGET linux # Linux Intel 32 bit generic
+SYSDEF=
+ASYSDEF=
+EXEEXT=.exe # We need some exe extension else the build won't work
+
+!else ifeqi TARGET os2 # OS/2 32 bit
+SYSDEF=
+ASYSDEF=
+EXEEXT=.exe
+
+!else ifeqi TARGET dos # DOS 32 bit
+SYSDEF=
+ASYSDEF=
+EXEEXT=.exe
+
+!endif
+
+
+######################################################################
+#
+# End of compiler- and environment specific options
+#
+# Note !message will print before any actions ('PRE'processor!), and thus
+# will not reflect results of any rules (like set xxx=yyy).
+# echo is a rule itself, and will reflect results of preceding rules.
+#
+######################################################################
+
+.BEFORE :
+!ifdef CONFIG_ERROR_MSG
+! message
+! message Configuration error:
+! message $(CONFIG_ERROR_MSG)
+! message
+ %abort
+!endif
+ @if not exist $(ODIR) mkdir $(ODIR) >nul
+!ifeqi TARGET dos
+ @set INCLUDE=$(%WATCOM)\H;$(EXTRA_INCLUDE_DIRS)
+!else ifeqi TARGET os2
+ @set INCLUDE=$(%WATCOM)\H;$(%WATCOM)\H\OS2;$(EXTRA_INCLUDE_DIRS)
+!else ifeqi TARGET nt
+ @set INCLUDE=$(%WATCOM)\H;$(%WATCOM)\H\NT;$(EXTRA_INCLUDE_DIRS)
+!else ifeqi TARGET linux
+ @set INCLUDE=$(%WATCOM)\LH;$(EXTRA_INCLUDE_DIRS)
+!endif
+
+# @set LIB=$(LIBPATH)
+# @echo Top dir: $(PROJ)
+ @echo Include dirs: $(%INCLUDE)
+# @echo Lib dirs: $(LIBDIRS)
+# @echo Libname=$(LIBNAME)
+# @echo extra libs: $(LIBS)
+# @echo Wmake version $(__VERSION__)
+# @echo Wmake parameters: $(__MAKEOPTS__)
+# @echo Compiler : $(CC) $(CCOPTS0) $(CCOPTS1) $(CCOPTS2) $(CCOPTS3)
+# @echo Librarian: $(LIB)
+# @echo Linker : $(LN) $(LNOPTS)
+# @echo Project : $(P)
+
+!ifeqi D d
+WCADEBUG=-d1 # debug opts for wasm
+WCCDEBUG=-d2 -s -ors # debug opts for wcc. NOTE: -we is to make errors of all warnings
+WCLDEBUG=d all # debug opts for wlink
+# WCCTIMING=-et # if added to CC command line will generate timing file after execution
+!else
+#
+# WCADEBUG= # debug opts for wasm
+WCCDEBUG= -ors -s # release opts for wcc
+# WCLDEBUG= # release opts for wlink
+!endif
+
+# Conventions Watcom
+
+# Tell default paths based on extension
+.fl : .
+.h : .
+#.lib : .
+.c : .
+.cpp : .
+.cxx : .
+.obj : $(ODIR)
+.exe : $(ODIR)
+
+#
+# Tell wmake to use DLL versions of some commands (much quicker)
+#
+!loaddll wcc386 wccd386
+!loaddll wpp386 wppd386
+!loaddll wlink wlink
+!loaddll wlib wlibd
+
+CCOPTS0=-6r -zq
+CCOPTS1=$(WCCDEBUG) -bt=$(TARGET) -fp6 -fpi87 # 1st part of Watcom opts
+CCOPTS2=-mf -wce=130 -wx -zq # -j # 2nd part of Watcom opts
+CCOPTS3=-fo$(ODIR)\$^&.obj # 3rd part Watcom opts
+COPTS=-zm
+CPPOPTS=-zmf -zv -fx
+
+LNOPTS=sys $(LINKTARGET) $(WCLDEBUG) op symf,q,m,el,vfr op st=32k # linker options
+LIBOPTS= -b -q -p=512 -c # librarian options
+LN=wlink # Watcom linker
+AS=wasm # Watcom assembler
+cc=wcc386 # Watcom C compiler
+cpp=wpp386 # Watcom C++ compiler
+LIB=wlib # Watcom librarian
+
+#
+# Compilation
+#
+.c.obj: .AUTODEPEND
+ $(CC) $(SYSDEF) $(DEBUGDEF) $(CCOPTS0) $(CCOPTS1) $(CCOPTS2) $(CCOPTS3) $(COPTS) $[@
+
+.cpp.obj: .AUTODEPEND
+ $(CPP) $(SYSDEF) $(DEBUGDEF) $(CCOPTS0) $(CCOPTS1) $(CCOPTS2) $(CCOPTS3) $(CPPOPTS) $[@
+
+.cxx.obj: .AUTODEPEND
+ $(CPP) $(SYSDEF) $(DEBUGDEF) $(CCOPTS0) $(CCOPTS1) $(CCOPTS2) $(CCOPTS3) $(CPPOPTS) $[@
+
+#
+# Librarian stage
+#
+.obj.lib:
+ $(LIB) $(LIBOPTS) $@ $<
+
+#
+# Linking stage. This implicit rule assumes the .exe is created from an object file with the
+# same name, plus other object in macro OBJECTS, a number of .libs in macro LIBS etc.
+# If the linking fails for some reason, the .lk1 file is not deleted and it can be
+# examined.
+#
+.obj.exe:
+ @%create $^*.lk1
+ @%append $^*.lk1 F $(ODIR)/$^&
+ @for %i in ($(%OBJS)) do @%append $^*.lk1 F $(ODIR)/%i
+ @for %i in ($(OBJECTS)) do @%append $^*.lk1 F $(ODIR)/%i
+ @for %i in ($(LIBS)) do @%append $^*.lk1 L %i
+ @for %i in ($(EXTRA_LIBS)) do @%append $^*.lk1 L %i
+ @for %i in ($(SYSLIBS)) do @%append $^*.lk1 L %i
+ $(LN) $(LNOPTS) name $^@ op map=$^* @$^*.lk1
+ @del $^*.lk1