*: Updated copyright to 2009 and normalized name & email.
[kbuild-mirror.git] / kBuild / tools / WATCOMC11C-WL.kmk
blob5c845d27a10f5b8c4166c0080236cc12d8b8dc0f
1 # $Id$
2 ## @file
3 # kBuild Tool Config - Watcom C/C++ v11.0c, using wlink.
5 # @remarks wrc is untested, so are DLLs, and programs.
8 # Copyright (c) 2008-2009 knut st. osmundsen <bird-kBuild-spamix@anduin.net>
10 # This file is part of kBuild.
12 # kBuild is free software; you can redistribute it and/or modify
13 # it under the terms of the GNU General Public License as published by
14 # the Free Software Foundation; either version 2 of the License, or
15 # (at your option) any later version.
17 # kBuild is distributed in the hope that it will be useful,
18 # but WITHOUT ANY WARRANTY; without even the implied warranty of
19 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 # GNU General Public License for more details.
22 # You should have received a copy of the GNU General Public License
23 # along with kBuild; if not, write to the Free Software
24 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27 # As a special exception you are granted permission to include this file, via
28 # the kmk include directive, as you wish without this in itself causing the
29 # resulting makefile, program or whatever to be covered by the GPL license.
30 # This exception does not however invalidate any other reasons why the makefile,
31 # program, whatever should not be covered the GPL.
35 TOOL_WATCOMC11C-WL = Watcom C/C++ v11.0c, using wlink.
36 TOOL_WATCOMC11C-WL_EXTENDS = WATCOMC11C
37 TOOL_WATCOMC11C-WL_LDFLAGS ?= Option Quiet
38 TOOL_WATCOMC11C-WL_LDFLAGS.dos ?= $(NO_SUCH_VARIABLE)
39 TOOL_WATCOMC11C-WL_LDFLAGS.linux ?= $(NO_SUCH_VARIABLE)
40 TOOL_WATCOMC11C-WL_LDFLAGS.nt ?= $(NO_SUCH_VARIABLE)
41 TOOL_WATCOMC11C-WL_LDFLAGS.os2 ?= $(NO_SUCH_VARIABLE)
42 TOOL_WATCOMC11C-WL_LDFLAGS.win ?= $(NO_SUCH_VARIABLE)
45 TOOL_WATCOMC11C-WL_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp
46 TOOL_WATCOMC11C-WL_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
47 TOOL_WATCOMC11C-WL_LINK_PROGRAM_DEPORD =
48 define TOOL_WATCOMC11C-WL_LINK_PROGRAM_CMDS
49 $(QUIET)$(APPEND) -tn $(outbase).rsp \
50 $(if $(flags),'$(flags)',) \
51 'Name $(subst /,\,$(out)$(if $(suffix $(out)),,.))' \
52 'Option Map=$(subst /,\,$(outbase)).map' \
53 $(foreach p,$(subst /,\,$(libpath)),'LIBPath $p') \
54 $(foreach o,$(subst /,\,$(filter-out %.res,$(objs)) $(othersrc)),'$(if $(filter %.lib %.a,$l),LIB,)File $o') \
55 $(foreach l,$(subst /,\,$(libs)),'Library $l')
56 $(QUIET)$(call TOOL_WATCOMC11C_ENV_SETUP) \
57 $(TOOL_WATCOMC11C_WLINK) @$(outbase).rsp
58 $(if $(filter %.res,$(objs)), $(QUIET)$(call TOOL_WATCOMC11C_ENV_SETUP) \
59 $(TOOL_WATCOMC11C_RC) \
60 $(filter -bt=%,$(flags)) \
61 /fe=$(subst /,\\,$(out)) \
62 $(subst /,\\,$(filter %.res,$(objs))))
63 endef
65 TOOL_WATCOMC11C-WL_LINK_DLL_OUTPUT = $(TOOL_WATCOMC11C-WL_LINK_PROGRAM_OUTPUT)
66 TOOL_WATCOMC11C-WL_LINK_DLL_DEPEND = $(TOOL_WATCOMC11C-WL_LINK_PROGRAM_DEPEND)
67 TOOL_WATCOMC11C-WL_LINK_DLL_DEPORD = $(TOOL_WATCOMC11C-WL_LINK_PROGRAM_DEPORD)
68 TOOL_WATCOMC11C-WL_LINK_DLL_CMDS = $(TOOL_WATCOMC11C-WL_LINK_PROGRAM_CMDS)
70 TOOL_WATCOMC11C-WL_LINK_SYSMOD_OUTPUT = $(TOOL_WATCOMC11C-WL_LINK_PROGRAM_OUTPUT)
71 TOOL_WATCOMC11C-WL_LINK_SYSMOD_DEPEND = $(TOOL_WATCOMC11C-WL_LINK_PROGRAM_DEPEND)
72 TOOL_WATCOMC11C-WL_LINK_SYSMOD_DEPORD = $(TOOL_WATCOMC11C-WL_LINK_PROGRAM_DEPORD)
73 TOOL_WATCOMC11C-WL_LINK_SYSMOD_CMDS = $(TOOL_WATCOMC11C-WL_LINK_PROGRAM_CMDS)
75 TOOL_WATCOMC11C-WL_LINK_MISCBIN_OUTPUT = $(TOOL_WATCOMC11C-WL_LINK_PROGRAM_OUTPUT)
76 TOOL_WATCOMC11C-WL_LINK_MISCBIN_DEPEND = $(TOOL_WATCOMC11C-WL_LINK_PROGRAM_DEPEND)
77 TOOL_WATCOMC11C-WL_LINK_MISCBIN_DEPORD = $(TOOL_WATCOMC11C-WL_LINK_PROGRAM_DEPORD)
78 TOOL_WATCOMC11C-WL_LINK_MISCBIN_CMDS = $(TOOL_WATCOMC11C-WL_LINK_PROGRAM_CMDS)