More watcom fixes (STR #627)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3915 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
7ca20dcd4a
commit
85c0090b7c
50
ANNOUNCEMENT
50
ANNOUNCEMENT
@ -33,6 +33,32 @@ exceptions that allow for static linking.
|
||||
|
||||
Changes since FLTK 1.1.4 include:
|
||||
|
||||
- Documentation updates (STR #568, STR #570)
|
||||
- Shortcuts were incorrectly underlined in multi-line
|
||||
labels (STR #566)
|
||||
- More CMake updates (STR #499)
|
||||
- The Watcom C++ compiler needed a small change (STR
|
||||
#567)
|
||||
- Added DESTDIR support and now remove all man pages for
|
||||
the "uninstall" target (STR #545)
|
||||
- Fix PNG drawing on buggy WIN32 graphics cards (STR
|
||||
#548)
|
||||
- The configure script didn't propagate the CPPFLAGS
|
||||
environment variable (STR #549)
|
||||
- The numpad keys didn't work properly on WIN32 (STR
|
||||
#502)
|
||||
- fl_input() and friends now set the input focus to the
|
||||
text field when the dialog is shown (STR #553)
|
||||
- Fixed background color mixup when drawing Fl_Choice
|
||||
menus (STR #544)
|
||||
- Fixed MingW makefiles (STR #550)
|
||||
- More VC++ project file tweaking (STR #559)
|
||||
- Fl_PNG_Image didn't use the png_set_trns_to_alpha
|
||||
function when available (STR #547)
|
||||
- The FL_UNFOCUS event wasn't always sent when switching
|
||||
tabs (STR #558)
|
||||
|
||||
[1.1.5rc3]
|
||||
- Documentation updates (STR #505, STR #513)
|
||||
- Updated PNG library source to 1.2.7.
|
||||
- Updated ZLIB library source to 1.2.1.
|
||||
@ -326,6 +352,30 @@ exceptions that allow for static linking.
|
||||
|
||||
<UL>
|
||||
|
||||
<li>Documentation updates (<a href='str.php?L568'>STR #568</a>, <a href='str.php?L570'>STR #570</a>)
|
||||
<li>Shortcuts were incorrectly underlined in multi-line
|
||||
labels (<a href='str.php?L566'>STR #566</a>)
|
||||
<li>More CMake updates (<a href='str.php?L499'>STR #499</a>)
|
||||
<li>The Watcom C++ compiler needed a small change (<a href='str.php?L567'>STR #567</a>)
|
||||
<li>Added DESTDIR support and now remove all man pages for
|
||||
the "uninstall" target (<a href='str.php?L545'>STR #545</a>)
|
||||
<li>Fix PNG drawing on buggy WIN32 graphics cards (<a href='str.php?L548'>STR #548</a>)
|
||||
<li>The configure script didn't propagate the CPPFLAGS
|
||||
environment variable (<a href='str.php?L549'>STR #549</a>)
|
||||
<li>The numpad keys didn't work properly on WIN32 (<a href='str.php?L502'>STR #502</a>)
|
||||
<li>fl_input() and friends now set the input focus to the
|
||||
text field when the dialog is shown (<a href='str.php?L553'>STR #553</a>)
|
||||
<li>Fixed background color mixup when drawing Fl_Choice
|
||||
menus (<a href='str.php?L544'>STR #544</a>)
|
||||
<li>Fixed MingW makefiles (<a href='str.php?L550'>STR #550</a>)
|
||||
<li>More VC++ project file tweaking (<a href='str.php?L559'>STR #559</a>)
|
||||
<li>Fl_PNG_Image didn't use the png_set_trns_to_alpha
|
||||
function when available (<a href='str.php?L547'>STR #547</a>)
|
||||
<li>The FL_UNFOCUS event wasn't always sent when switching
|
||||
tabs (<a href='str.php?L558'>STR #558</a>)
|
||||
|
||||
<br /><i>[1.1.5rc3]</i>
|
||||
|
||||
<li>Documentation updates (<a href='http://www.fltk.org/str.php?L505'>STR #505</a>, <a href='http://www.fltk.org/str.php?L513'>STR #513</a>)
|
||||
<li>Updated PNG library source to 1.2.7.
|
||||
<li>Updated ZLIB library source to 1.2.1.
|
||||
|
||||
2
CHANGES
2
CHANGES
@ -20,7 +20,7 @@ CHANGES IN FLTK 1.1.6
|
||||
(STR #585)
|
||||
- Fl_Text_Display didn't support CTRL/CMD-A/C (STR #601)
|
||||
- Watcom fixes (STR #581, STR #584, STR #594, STR #595,
|
||||
STR #623)
|
||||
STR #623, STR #627)
|
||||
- Fixed library include order when building DSOs on
|
||||
MacOS X (STR #596)
|
||||
- fl_xid() could cause a WIN32 application to crash (STR
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# "$Id: makefile.wat,v 1.1.2.2 2004/11/21 14:32:21 easysw Exp $"
|
||||
# "$Id: makefile.wat,v 1.1.2.3 2004/11/23 18:48:09 easysw Exp $"
|
||||
#
|
||||
# FLUID makefile for the Fast Light Tool Kit (FLTK).
|
||||
#
|
||||
@ -45,8 +45,6 @@ OBJECTS = &
|
||||
|
||||
################################################################
|
||||
|
||||
EXTRA_LIBS = wsock32
|
||||
|
||||
!include ../watcom.mif
|
||||
|
||||
all: $(ODIR)/fluid$(EXEEXT)
|
||||
@ -74,5 +72,5 @@ rebuild:
|
||||
./fluid -c widget_panel.fl
|
||||
|
||||
#
|
||||
# End of "$Id: makefile.wat,v 1.1.2.2 2004/11/21 14:32:21 easysw Exp $".
|
||||
# End of "$Id: makefile.wat,v 1.1.2.3 2004/11/23 18:48:09 easysw Exp $".
|
||||
#
|
||||
|
||||
559
watcom.mif
559
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
|
||||
|
||||
444
watcom/config.h
444
watcom/config.h
@ -1,222 +1,222 @@
|
||||
/*
|
||||
* "$Id: config.h,v 1.1.2.1 2004/11/20 03:19:59 easysw Exp $"
|
||||
*
|
||||
* Configuration file for the Fast Light Tool Kit (FLTK) for Watcom C++ 1.3
|
||||
*
|
||||
* Copyright 1998-2004 by Bill Spitzak and others.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA.
|
||||
*
|
||||
* Please report all bugs and problems to "fltk-bugs@fltk.org".
|
||||
*/
|
||||
|
||||
/*
|
||||
* Where to find the documentation files...
|
||||
*/
|
||||
|
||||
#define FLTK_DATADIR "C:/FLTK"
|
||||
#define FLTK_DOCDIR "C:/FLTK/DOC"
|
||||
|
||||
|
||||
/*
|
||||
* BORDER_WIDTH:
|
||||
*
|
||||
* Thickness of FL_UP_BOX and FL_DOWN_BOX. Current 1,2, and 3 are
|
||||
* supported. 3 is the historic FLTK look. 2 looks more like Microsoft
|
||||
* Windows, KDE, and Qt, and is the default when building for Windows.
|
||||
* 1 is a plausible future evolution... Note that this may be simulated
|
||||
* at runtime by redefining the boxtypes using Fl::set_boxtype().
|
||||
*/
|
||||
|
||||
#define BORDER_WIDTH 2
|
||||
|
||||
/*
|
||||
* HAVE_GL:
|
||||
*
|
||||
* Do you have OpenGL? Set this to 0 if you don't have or plan to use
|
||||
* OpenGL, and FLTK will be smaller.
|
||||
*/
|
||||
|
||||
#define HAVE_GL 1
|
||||
|
||||
/*
|
||||
* HAVE_GL_GLU_H:
|
||||
*
|
||||
* Do you have the OpenGL Utility Library header file?
|
||||
* (many broken Mesa RPMs do not...)
|
||||
*/
|
||||
|
||||
#define HAVE_GL_GLU_H 1
|
||||
|
||||
/*
|
||||
* USE_COLORMAP:
|
||||
*
|
||||
* Setting this to zero will save a good deal of code (especially for
|
||||
* fl_draw_image), but FLTK will only work on TrueColor visuals.
|
||||
*/
|
||||
|
||||
#define USE_COLORMAP 1
|
||||
|
||||
/*
|
||||
* USE_XFT
|
||||
*
|
||||
* Use the new Xft library to draw anti-aliased text.
|
||||
*/
|
||||
|
||||
#define USE_XFT 0
|
||||
|
||||
/*
|
||||
* HAVE_XDBE:
|
||||
*
|
||||
* Do we have the X double-buffer extension?
|
||||
*/
|
||||
|
||||
#define HAVE_XDBE 0
|
||||
|
||||
/*
|
||||
* USE_XDBE:
|
||||
*
|
||||
* Actually try to use the double-buffer extension? Set this to zero
|
||||
* disable use of XDBE without breaking the list_visuals program.
|
||||
*/
|
||||
|
||||
#define USE_XDBE HAVE_XDBE
|
||||
|
||||
/*
|
||||
* HAVE_OVERLAY:
|
||||
*
|
||||
* Use the X overlay extension? FLTK will try to use an overlay
|
||||
* visual for Fl_Overlay_Window, the Gl_Window overlay, and for the
|
||||
* menus. Setting this to zero will remove a substantial amount of
|
||||
* code from FLTK. Overlays have only been tested on SGI servers!
|
||||
*/
|
||||
|
||||
#define HAVE_OVERLAY 0
|
||||
|
||||
/*
|
||||
* HAVE_GL_OVERLAY:
|
||||
*
|
||||
* It is possible your GL has an overlay even if X does not. If so,
|
||||
* set this to 1.
|
||||
*/
|
||||
|
||||
#define HAVE_GL_OVERLAY 1
|
||||
|
||||
/*
|
||||
* WORDS_BIGENDIAN:
|
||||
*
|
||||
* Byte order of your machine: 1 = big-endian, 0 = little-endian.
|
||||
*/
|
||||
|
||||
#define WORDS_BIGENDIAN 0
|
||||
|
||||
/*
|
||||
* U16, U32, U64:
|
||||
*
|
||||
* Types used by fl_draw_image. One of U32 or U64 must be defined.
|
||||
* U16 is optional but FLTK will work better with it!
|
||||
*/
|
||||
|
||||
#define U16 unsigned short
|
||||
#define U32 unsigned
|
||||
/* #undef U64 */
|
||||
|
||||
/*
|
||||
* HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H, HAVE_SCANDIR:
|
||||
*
|
||||
* Where is <dirent.h> (used only by fl_file_chooser and scandir).
|
||||
*/
|
||||
|
||||
#define HAVE_DIRENT_H 1
|
||||
/* #undef HAVE_SYS_NDIR_H */
|
||||
/* #undef HAVE_SYS_DIR_H */
|
||||
/* #undef HAVE_NDIR_H */
|
||||
/* #undef HAVE_SCANDIR */
|
||||
|
||||
/*
|
||||
* Possibly missing sprintf-style functions:
|
||||
*/
|
||||
|
||||
#define HAVE_VSNPRINTF 1
|
||||
#define HAVE_SNPRINTF 1
|
||||
|
||||
/*
|
||||
* String functions and headers...
|
||||
*/
|
||||
|
||||
/* #undef HAVE_STRINGS_H */
|
||||
#define HAVE_STRCASECMP 1
|
||||
/* #undef HAVE_STRLCAT */
|
||||
/* #undef HAVE_STRLCPY */
|
||||
|
||||
/*
|
||||
* HAVE_SYS_SELECT_H:
|
||||
*
|
||||
* Whether or not select() call has its own header file.
|
||||
*/
|
||||
|
||||
/* #undef HAVE_SYS_SELECT_H */
|
||||
|
||||
/*
|
||||
* HAVE_SYS_STDTYPES_H:
|
||||
*
|
||||
* Whether or not we have the <sys/stdtypes.h> header file.
|
||||
*/
|
||||
|
||||
/* #undef HAVE_SYS_STDTYPES_H */
|
||||
|
||||
/*
|
||||
* HAVE_POLL:
|
||||
*
|
||||
* Use poll() if we don't have select().
|
||||
*/
|
||||
|
||||
#define HAVE_POLL 0
|
||||
|
||||
/*
|
||||
* Do we have various image libraries?
|
||||
*/
|
||||
|
||||
/* #undef HAVE_LIBPNG */
|
||||
/* #undef HAVE_LIBZ */
|
||||
/* #undef HAVE_LIBJPEG */
|
||||
|
||||
/*
|
||||
* Which header file do we include for libpng?
|
||||
*/
|
||||
|
||||
/* #undef HAVE_PNG_H */
|
||||
/* #undef HAVE_LIBPNG_PNG_H */
|
||||
|
||||
/*
|
||||
* Do we have the png_xyz() functions?
|
||||
*/
|
||||
|
||||
/* #undef HAVE_PNG_GET_VALID */
|
||||
/* #undef HAVE_PNG_SET_TRNS_TO_ALPHA */
|
||||
/* #undef HAVE_PNG_READ_DESTROY */
|
||||
|
||||
/*
|
||||
* Do we have POSIX threading?
|
||||
*/
|
||||
|
||||
/* #undef HAVE_PTHREAD */
|
||||
/* #undef HAVE_PTHREAD_H */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: config.h,v 1.1.2.1 2004/11/20 03:19:59 easysw Exp $".
|
||||
*/
|
||||
/*
|
||||
* "$Id: config.h,v 1.1.2.2 2004/11/23 18:48:10 easysw Exp $"
|
||||
*
|
||||
* Configuration file for the Fast Light Tool Kit (FLTK) for Watcom C++ 1.3
|
||||
*
|
||||
* Copyright 1998-2004 by Bill Spitzak and others.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA.
|
||||
*
|
||||
* Please report all bugs and problems to "fltk-bugs@fltk.org".
|
||||
*/
|
||||
|
||||
/*
|
||||
* Where to find the documentation files...
|
||||
*/
|
||||
|
||||
#define FLTK_DATADIR "C:/FLTK"
|
||||
#define FLTK_DOCDIR "C:/FLTK/DOC"
|
||||
|
||||
|
||||
/*
|
||||
* BORDER_WIDTH:
|
||||
*
|
||||
* Thickness of FL_UP_BOX and FL_DOWN_BOX. Current 1,2, and 3 are
|
||||
* supported. 3 is the historic FLTK look. 2 looks more like Microsoft
|
||||
* Windows, KDE, and Qt, and is the default when building for Windows.
|
||||
* 1 is a plausible future evolution... Note that this may be simulated
|
||||
* at runtime by redefining the boxtypes using Fl::set_boxtype().
|
||||
*/
|
||||
|
||||
#define BORDER_WIDTH 2
|
||||
|
||||
/*
|
||||
* HAVE_GL:
|
||||
*
|
||||
* Do you have OpenGL? Set this to 0 if you don't have or plan to use
|
||||
* OpenGL, and FLTK will be smaller.
|
||||
*/
|
||||
|
||||
#define HAVE_GL 1
|
||||
|
||||
/*
|
||||
* HAVE_GL_GLU_H:
|
||||
*
|
||||
* Do you have the OpenGL Utility Library header file?
|
||||
* (many broken Mesa RPMs do not...)
|
||||
*/
|
||||
|
||||
#define HAVE_GL_GLU_H 1
|
||||
|
||||
/*
|
||||
* USE_COLORMAP:
|
||||
*
|
||||
* Setting this to zero will save a good deal of code (especially for
|
||||
* fl_draw_image), but FLTK will only work on TrueColor visuals.
|
||||
*/
|
||||
|
||||
#define USE_COLORMAP 1
|
||||
|
||||
/*
|
||||
* USE_XFT
|
||||
*
|
||||
* Use the new Xft library to draw anti-aliased text.
|
||||
*/
|
||||
|
||||
#define USE_XFT 0
|
||||
|
||||
/*
|
||||
* HAVE_XDBE:
|
||||
*
|
||||
* Do we have the X double-buffer extension?
|
||||
*/
|
||||
|
||||
#define HAVE_XDBE 0
|
||||
|
||||
/*
|
||||
* USE_XDBE:
|
||||
*
|
||||
* Actually try to use the double-buffer extension? Set this to zero
|
||||
* disable use of XDBE without breaking the list_visuals program.
|
||||
*/
|
||||
|
||||
#define USE_XDBE HAVE_XDBE
|
||||
|
||||
/*
|
||||
* HAVE_OVERLAY:
|
||||
*
|
||||
* Use the X overlay extension? FLTK will try to use an overlay
|
||||
* visual for Fl_Overlay_Window, the Gl_Window overlay, and for the
|
||||
* menus. Setting this to zero will remove a substantial amount of
|
||||
* code from FLTK. Overlays have only been tested on SGI servers!
|
||||
*/
|
||||
|
||||
#define HAVE_OVERLAY 0
|
||||
|
||||
/*
|
||||
* HAVE_GL_OVERLAY:
|
||||
*
|
||||
* It is possible your GL has an overlay even if X does not. If so,
|
||||
* set this to 1.
|
||||
*/
|
||||
|
||||
#define HAVE_GL_OVERLAY 1
|
||||
|
||||
/*
|
||||
* WORDS_BIGENDIAN:
|
||||
*
|
||||
* Byte order of your machine: 1 = big-endian, 0 = little-endian.
|
||||
*/
|
||||
|
||||
#define WORDS_BIGENDIAN 0
|
||||
|
||||
/*
|
||||
* U16, U32, U64:
|
||||
*
|
||||
* Types used by fl_draw_image. One of U32 or U64 must be defined.
|
||||
* U16 is optional but FLTK will work better with it!
|
||||
*/
|
||||
|
||||
#define U16 unsigned short
|
||||
#define U32 unsigned
|
||||
/* #undef U64 */
|
||||
|
||||
/*
|
||||
* HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H, HAVE_SCANDIR:
|
||||
*
|
||||
* Where is <dirent.h> (used only by fl_file_chooser and scandir).
|
||||
*/
|
||||
|
||||
#define HAVE_DIRENT_H 1
|
||||
/* #undef HAVE_SYS_NDIR_H */
|
||||
/* #undef HAVE_SYS_DIR_H */
|
||||
/* #undef HAVE_NDIR_H */
|
||||
/* #undef HAVE_SCANDIR */
|
||||
|
||||
/*
|
||||
* Possibly missing sprintf-style functions:
|
||||
*/
|
||||
|
||||
#define HAVE_VSNPRINTF 1
|
||||
#define HAVE_SNPRINTF 1
|
||||
|
||||
/*
|
||||
* String functions and headers...
|
||||
*/
|
||||
|
||||
/* #undef HAVE_STRINGS_H */
|
||||
#define HAVE_STRCASECMP 1
|
||||
/* #undef HAVE_STRLCAT */
|
||||
/* #undef HAVE_STRLCPY */
|
||||
|
||||
/*
|
||||
* HAVE_SYS_SELECT_H:
|
||||
*
|
||||
* Whether or not select() call has its own header file.
|
||||
*/
|
||||
|
||||
/* #undef HAVE_SYS_SELECT_H */
|
||||
|
||||
/*
|
||||
* HAVE_SYS_STDTYPES_H:
|
||||
*
|
||||
* Whether or not we have the <sys/stdtypes.h> header file.
|
||||
*/
|
||||
|
||||
/* #undef HAVE_SYS_STDTYPES_H */
|
||||
|
||||
/*
|
||||
* HAVE_POLL:
|
||||
*
|
||||
* Use poll() if we don't have select().
|
||||
*/
|
||||
|
||||
#define HAVE_POLL 0
|
||||
|
||||
/*
|
||||
* Do we have various image libraries?
|
||||
*/
|
||||
|
||||
/* #undef HAVE_LIBPNG */
|
||||
/* #undef HAVE_LIBZ */
|
||||
/* #undef HAVE_LIBJPEG */
|
||||
|
||||
/*
|
||||
* Which header file do we include for libpng?
|
||||
*/
|
||||
|
||||
/* #undef HAVE_PNG_H */
|
||||
/* #undef HAVE_LIBPNG_PNG_H */
|
||||
|
||||
/*
|
||||
* Do we have the png_xyz() functions?
|
||||
*/
|
||||
|
||||
/* #undef HAVE_PNG_GET_VALID */
|
||||
/* #undef HAVE_PNG_SET_TRNS_TO_ALPHA */
|
||||
/* #undef HAVE_PNG_READ_DESTROY */
|
||||
|
||||
/*
|
||||
* Do we have POSIX threading?
|
||||
*/
|
||||
|
||||
/* #undef HAVE_PTHREAD */
|
||||
/* #undef HAVE_PTHREAD_H */
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id: config.h,v 1.1.2.2 2004/11/23 18:48:10 easysw Exp $".
|
||||
*/
|
||||
|
||||
228
watcom/makefile
228
watcom/makefile
@ -1,114 +1,114 @@
|
||||
#
|
||||
# Name : Watcom makefile for FLTK, multiplatform
|
||||
#
|
||||
# Author : M. Nieuwenhoven
|
||||
#
|
||||
# The makefile has multiple targets:
|
||||
# - clean : Cleans all directories from files built during make
|
||||
# - all : Builds all targets for both debug and release
|
||||
# - xy : where x = D|R, Y = D|O|W|L, where only W (Win32) is
|
||||
# currently supported by the source for Watcom.
|
||||
#
|
||||
|
||||
|
||||
!ifndef %FLTK
|
||||
ERROR_MSG = Environment variable FLTK must have been set!
|
||||
!endif
|
||||
|
||||
.BEFORE
|
||||
!ifdef ERROR_MSG
|
||||
@echo .
|
||||
@echo $(ERROR_MSG)
|
||||
@echo .
|
||||
@%abort
|
||||
!endif
|
||||
|
||||
ROOT=$(%FLTK)
|
||||
PROJ=fltk
|
||||
|
||||
#
|
||||
# This builds all library targets and the main programs
|
||||
#
|
||||
ALL : .SYMBOLIC
|
||||
set Clean=
|
||||
wmake -h dw
|
||||
wmake -h rw
|
||||
# wmake -h do
|
||||
# wmake -h ro
|
||||
# wmake -h dl
|
||||
# wmake -h rl
|
||||
|
||||
#
|
||||
# Clean all directories. Call each target with a 'clean' target. Proper
|
||||
# knowledge about cleaning can only be at the places where also the
|
||||
# builds is done.
|
||||
#
|
||||
clean : .SYMBOLIC
|
||||
@echo Cleaning up.
|
||||
set Clean=CLEAN
|
||||
wmake -h dw
|
||||
wmake -h rw
|
||||
# wmake -h do
|
||||
# wmake -h ro
|
||||
# wmake -h dl
|
||||
# wmake -h rl
|
||||
|
||||
#
|
||||
# Win32 Debug and Release targets
|
||||
#
|
||||
DW : .SYMBOLIC
|
||||
@set OPTIONS=D=d O=w ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
|
||||
%make BuildOne
|
||||
|
||||
RW : .SYMBOLIC
|
||||
@set OPTIONS=D=r O=w ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
|
||||
%make BuildOne
|
||||
|
||||
#
|
||||
# OS/2 Debug and Release targets. Builds only jpeg, zlib and png libs for now.
|
||||
#
|
||||
DO : .SYMBOLIC
|
||||
@set OPTIONS=D=d O=o ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
|
||||
%make BuildOne
|
||||
|
||||
RO : .SYMBOLIC
|
||||
@set OPTIONS=D=r O=o ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
|
||||
%make BuildOne
|
||||
|
||||
#
|
||||
# Linux Debug and Release targets. Environment variable XLIB must point to a directory
|
||||
# which has a subdirectory X11 with X include files. Builds only jpeg, zlib and png libs for now.
|
||||
#
|
||||
DL : .SYMBOLIC
|
||||
@set OPTIONS=D=d O=l ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT);$(%XLIB)
|
||||
%make BuildOne
|
||||
|
||||
RL : .SYMBOLIC
|
||||
@set OPTIONS=D=r O=l ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT);$(%XLIB)
|
||||
%make BuildOne
|
||||
|
||||
# Internal target to build the individual modules. The following macros must
|
||||
# have been set: D (value D or R), O (D,O,W,L)
|
||||
|
||||
BuildOne : .SYMBOLIC
|
||||
|
||||
@echo "=== making jpeg library ==="
|
||||
@cd $(ROOT)\jpeg
|
||||
@wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
|
||||
@echo "=== making zlib library ==="
|
||||
@cd $(ROOT)\zlib
|
||||
@wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
|
||||
@echo "=== making png library ==="
|
||||
@cd $(ROOT)\png
|
||||
@wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
|
||||
@echo "=== making fltk libraries ==="
|
||||
@cd $(ROOT)\src
|
||||
@wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
|
||||
@echo "=== making fluid ==="
|
||||
@cd $(ROOT)\fluid
|
||||
@wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
|
||||
@echo "=== making test ==="
|
||||
@cd $(ROOT)\test
|
||||
@wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
|
||||
|
||||
|
||||
#
|
||||
# Name : Watcom makefile for FLTK, multiplatform
|
||||
#
|
||||
# Author : M. Nieuwenhoven
|
||||
#
|
||||
# The makefile has multiple targets:
|
||||
# - clean : Cleans all directories from files built during make
|
||||
# - all : Builds all targets for both debug and release
|
||||
# - xy : where x = D|R, Y = D|O|W|L, where only W (Win32) is
|
||||
# currently supported by the source for Watcom.
|
||||
#
|
||||
|
||||
|
||||
!ifndef %FLTK
|
||||
ERROR_MSG = Environment variable FLTK must have been set!
|
||||
!endif
|
||||
|
||||
.BEFORE
|
||||
!ifdef ERROR_MSG
|
||||
@echo .
|
||||
@echo $(ERROR_MSG)
|
||||
@echo .
|
||||
@%abort
|
||||
!endif
|
||||
|
||||
ROOT=$(%FLTK)
|
||||
PROJ=fltk
|
||||
|
||||
#
|
||||
# This builds all library targets and the main programs
|
||||
#
|
||||
ALL : .SYMBOLIC
|
||||
set Clean=
|
||||
wmake -h dw
|
||||
wmake -h rw
|
||||
# wmake -h do
|
||||
# wmake -h ro
|
||||
# wmake -h dl
|
||||
# wmake -h rl
|
||||
|
||||
#
|
||||
# Clean all directories. Call each target with a 'clean' target. Proper
|
||||
# knowledge about cleaning can only be at the places where also the
|
||||
# builds is done.
|
||||
#
|
||||
clean : .SYMBOLIC
|
||||
@echo Cleaning up.
|
||||
set Clean=CLEAN
|
||||
wmake -h dw
|
||||
wmake -h rw
|
||||
# wmake -h do
|
||||
# wmake -h ro
|
||||
# wmake -h dl
|
||||
# wmake -h rl
|
||||
|
||||
#
|
||||
# Win32 Debug and Release targets
|
||||
#
|
||||
DW : .SYMBOLIC
|
||||
@set OPTIONS=D=d O=w ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
|
||||
%make BuildOne
|
||||
|
||||
RW : .SYMBOLIC
|
||||
@set OPTIONS=D=r O=w ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
|
||||
%make BuildOne
|
||||
|
||||
#
|
||||
# OS/2 Debug and Release targets. Builds only jpeg, zlib and png libs for now.
|
||||
#
|
||||
DO : .SYMBOLIC
|
||||
@set OPTIONS=D=d O=o ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
|
||||
%make BuildOne
|
||||
|
||||
RO : .SYMBOLIC
|
||||
@set OPTIONS=D=r O=o ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT)
|
||||
%make BuildOne
|
||||
|
||||
#
|
||||
# Linux Debug and Release targets. Environment variable XLIB must point to a directory
|
||||
# which has a subdirectory X11 with X include files. Builds only jpeg, zlib and png libs for now.
|
||||
#
|
||||
DL : .SYMBOLIC
|
||||
@set OPTIONS=D=d O=l ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT);$(%XLIB)
|
||||
%make BuildOne
|
||||
|
||||
RL : .SYMBOLIC
|
||||
@set OPTIONS=D=r O=l ROOT=$(ROOT) PROJ=$(PROJ) EXTRA_INCLUDE_DIRS=$(ROOT);$(%XLIB)
|
||||
%make BuildOne
|
||||
|
||||
# Internal target to build the individual modules. The following macros must
|
||||
# have been set: D (value D or R), O (D,O,W,L)
|
||||
|
||||
BuildOne : .SYMBOLIC
|
||||
|
||||
@echo "=== making jpeg library ==="
|
||||
@cd $(ROOT)\jpeg
|
||||
@wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
|
||||
@echo "=== making zlib library ==="
|
||||
@cd $(ROOT)\zlib
|
||||
@wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
|
||||
@echo "=== making png library ==="
|
||||
@cd $(ROOT)\png
|
||||
@wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
|
||||
@echo "=== making fltk libraries ==="
|
||||
@cd $(ROOT)\src
|
||||
@wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
|
||||
@echo "=== making fluid ==="
|
||||
@cd $(ROOT)\fluid
|
||||
@wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
|
||||
@echo "=== making test ==="
|
||||
@cd $(ROOT)\test
|
||||
@wmake -h -f makefile.wat $(%OPTIONS) $(%CLEAN)
|
||||
|
||||
|
||||
|
||||
@ -1,26 +1,46 @@
|
||||
|
||||
Using Watcom to build and use FLTK 1.1.5
|
||||
|
||||
Supported targets: Win32 only, static builds (no DLLs). Can be used from any Watcom
|
||||
supported host (DOS, OS/2, Windows).
|
||||
|
||||
1. Unzip the include file in the root of the fltk 1.1.5 directory. It will create a
|
||||
new directory called watcom, put a makefile.wat in source directories, and update
|
||||
two sources files which need to be different from the 1.1.5 versions (STR updated),
|
||||
and put a watcom.mif file in the fltk root directory.
|
||||
|
||||
2. To build: set the environment variable fltk to the root directory of fltk, go
|
||||
to the Watcom directory, run wmake. Both debug and release versions of all libs,
|
||||
test programs and FLUID will be built.
|
||||
|
||||
3. To create you own programs: use the supplied watcom.mif file. If you use fluid,
|
||||
move the two fluid rules from test/makefile.wat into the watcom.mif
|
||||
file. Look in test/makefile.wat also for rules about building a non-fluid program
|
||||
with one object (source) file, or with multiple. if you use FLUID, take care in
|
||||
the order of object files specified (see tes/makefile.wat keyboard.exe).
|
||||
|
||||
Questions about the watcom port please to the fltk.general newsgroup.
|
||||
|
||||
Mat Nieuwenhoven, Hilversum, 2004-10-28
|
||||
|
||||
|
||||
|
||||
Using Watcom to build and use FLTK 1.1.5
|
||||
|
||||
Supported targets: Win32 only, static builds (no DLLs). Can be used from any Watcom
|
||||
supported host (DOS, OS/2, Windows).
|
||||
|
||||
1. To build fltk itself:
|
||||
- set the environment variable fltk to the root directory of fltk
|
||||
- go to the Watcom directory, run wmake.
|
||||
Both debug and release versions of all libs, test programs and FLUID will be built.
|
||||
|
||||
2. To create you own programs using fluid:
|
||||
- set the environment variable fltk to the root directory of fltk
|
||||
- make a directory where you want to create the source of your program.
|
||||
- from fltk's watcom directory, copy file "makefile.example" to "makefile" in your
|
||||
directory.
|
||||
- Start fluid, and create your program.
|
||||
- You can either put in fluid's menu shell->execute command:
|
||||
"cmd /k "wmake && hello && exit || pause && exit"
|
||||
to compile and run the program (if you are running under Windows only),
|
||||
- Or in Fluid do shift-Ctrl-C to create C+= code, and then in a cmd prompt
|
||||
in your directory enter 'wmake", and then run the program.
|
||||
I have been able to do most of the Fluid Flash tutorial (no time to do all,
|
||||
but no error at all for the ones I did do.
|
||||
|
||||
3. Known errors:
|
||||
- Fluid aborts when exiting.
|
||||
|
||||
Probably a lot more :-( . I cannot test/debug under NT or later, so I must
|
||||
rely on the help of others to find and fix :-) Watcom-related bugs.
|
||||
|
||||
|
||||
Questions about the OpenWatcom port please to the fltk.general newsgroup.
|
||||
Questions related to Openwatcom itself please to the c/c++ users group at
|
||||
new.openwatcom.org.
|
||||
|
||||
|
||||
Mat Nieuwenhoven, Hilversum, 2004-11-22
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user