source: trunk/kBuild/tools/OPENWATCOM-16.kmk@ 2749

Last change on this file since 2749 was 2749, checked in by bird, 10 years ago

tools/*WATCOM*: Pass --wcc-brain-damange to REDIRECT where appropriate.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 7.2 KB
Line 
1# $Id: OPENWATCOM-16.kmk 2749 2015-01-23 01:01:02Z bird $
2## @file
3# kBuild Tool Config - Open Watcom v1.4 and later, 16-bit targets.
4#
5# @remarks wrc is untested, so are DLLs, and programs.
6
7#
8# Copyright (c) 2008-2010 knut st. osmundsen <bird-kBuild-spamx@anduin.net>
9#
10# This file is part of kBuild.
11#
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.
16#
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.
21#
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
25#
26#
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.
32#
33#
34
35TOOL_OPENWATCOM-16 = Open Watcom v1.4 and later - 16-bit targets.
36TOOL_OPENWATCOM-16_EXTENDS = OPENWATCOM
37TOOL_OPENWATCOM-16_ASFLAGS.win ?= -bt=windows
38TOOL_OPENWATCOM-16_CFLAGS.win ?= -bt=windows
39TOOL_OPENWATCOM-16_CXXFLAGS.win ?= -bt=windows
40TOOL_OPENWATCOM-16_RCFLAGS.win ?= -bt=windows
41TOOL_OPENWATCOM-16_LDFLAGS.win ?= -bt=windows
42
43
44TOOL_OPENWATCOM-16_COMPILE_AS_DEPEND =
45TOOL_OPENWATCOM-16_COMPILE_AS_DEPORD =
46TOOL_OPENWATCOM-16_COMPILE_AS_OUTPUT = $(obj).err
47define TOOL_OPENWATCOM-16_COMPILE_AS_CMDS
48 $(QUIET) $(call TOOL_OPENWATCOM_ENV_SETUP_BD) $(TOOL_OPENWATCOM_AS) \
49 $(flags) \
50 $(addsuffix , $(addprefix -i=, $(call TOOL_OPENWATCOM_FIX_SLASHES,$(incs)))) \
51 $(addprefix -d, $(defs)) \
52 -fo=$(call TOOL_OPENWATCOM_FIX_SLASHES,$(obj)) \
53 -fr=$(call TOOL_OPENWATCOM_FIX_SLASHES,$(obj)).err \
54 $(call TOOL_OPENWATCOM_FIX_SLASHES,$(abspath $(source)))
55 $(QUIET)$(APPEND) -n $(obj).err
56## @todo dependencies
57endef
58
59TOOL_OPENWATCOM-16_COMPILE_C_DEPEND =
60TOOL_OPENWATCOM-16_COMPILE_C_DEPORD =
61TOOL_OPENWATCOM-16_COMPILE_C_OUTPUT = $(obj).err
62define TOOL_OPENWATCOM-16_COMPILE_C_CMDS
63 $(QUIET) $(call TOOL_OPENWATCOM_ENV_SETUP_BD) $(TOOL_OPENWATCOM_CC16) \
64 $(flags) \
65 $(addsuffix , $(addprefix -i=, $(call TOOL_OPENWATCOM_FIX_SLASHES,$(incs)))) \
66 $(addprefix -d, $(defs)) \
67 -fo=$(call TOOL_OPENWATCOM_FIX_SLASHES,$(obj)) \
68 -fr=$(call TOOL_OPENWATCOM_FIX_SLASHES,$(obj)).err \
69 $(call TOOL_OPENWATCOM_FIX_SLASHES,$(abspath $(source)))
70 $(QUIET)$(APPEND) -n $(obj).err
71## @todo dependencies
72endef
73
74TOOL_OPENWATCOM-16_COMPILE_CXX_DEPEND =
75TOOL_OPENWATCOM-16_COMPILE_CXX_DEPORD =
76TOOL_OPENWATCOM-16_COMPILE_CXX_OUTPUT = $(obj).err
77define TOOL_OPENWATCOM-16_COMPILE_CXX_CMDS
78 $(QUIET) $(call TOOL_OPENWATCOM_ENV_SETUP_BD) $(TOOL_OPENWATCOM_CXX16) \
79 $(flags) \
80 $(addsuffix , $(addprefix -i=, $(call TOOL_OPENWATCOM_FIX_SLASHES,$(incs)))) \
81 $(addprefix -d, $(defs)) \
82 -fo=$(call TOOL_OPENWATCOM_FIX_SLASHES,$(obj)) \
83 -fr=$(call TOOL_OPENWATCOM_FIX_SLASHES,$(obj)).err \
84 $(call TOOL_OPENWATCOM_FIX_SLASHES,$(abspath $(source)))
85 $(QUIET)$(APPEND) -n $(obj).err
86## @todo dependencies
87endef
88
89TOOL_OPENWATCOM-16_COMPILE_RC_OUTPUT =
90TOOL_OPENWATCOM-16_COMPILE_RC_DEPEND =
91TOOL_OPENWATCOM-16_COMPILE_RC_DEPORD =
92define TOOL_OPENWATCOM-16_COMPILE_RC_CMDS
93 $(QUIET) $(call TOOL_OPENWATCOM_ENV_SETUP) \
94 $(TOOL_OPENWATCOM_RC) -r\
95 $(flags) \
96 $(addprefix -i=, $(call TOOL_OPENWATCOM_FIX_SLASHES,$(incs))) \
97 $(addprefix -d, $(defs))\
98 -fo=$(call TOOL_OPENWATCOM_FIX_SLASHES,$(obj)) \
99 $(call TOOL_OPENWATCOM_FIX_SLASHES,$(abspath $(source)))
100endef
101
102TOOL_OPENWATCOM-16_LINK_LIBRARY_OUTPUT = $(outbase).rsp
103TOOL_OPENWATCOM-16_LINK_LIBRARY_DEPEND = $(othersrc)
104TOOL_OPENWATCOM-16_LINK_LIBRARY_DEPORD =
105define TOOL_OPENWATCOM-16_LINK_LIBRARY_CMDS
106 $(QUIET)$(APPEND) -tn $(outbase).rsp $(foreach obj,$(call TOOL_OPENWATCOM_FIX_SLASHES,$(objs) $(othersrc)),'+"$(obj)"')
107 $(QUIET)$(TOOL_OPENWATCOM_ENV_SETUP_BD) $(TOOL_OPENWATCOM_AR) $(flags) $(call TOOL_OPENWATCOM_FIX_SLASHES,$(out)) @$(outbase).rsp
108endef
109
110TOOL_OPENWATCOM-16_LINK_PROGRAM_OUTPUT = $(outbase).map
111TOOL_OPENWATCOM-16_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).sym
112TOOL_OPENWATCOM-16_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
113TOOL_OPENWATCOM-16_LINK_PROGRAM_DEPORD =
114define TOOL_OPENWATCOM-16_LINK_PROGRAM_CMDS
115 $(QUIET)$(call TOOL_OPENWATCOM_ENV_SETUP_BD,$(subst $(SP),,$(addsuffix ;,$(libpath))),-C $(dir $(out))) \
116 $(TOOL_OPENWATCOM_LD16) \
117 $(flags) \
118 -fe=$(call TOOL_OPENWATCOM_FIX_SLASHES,$(out)) \
119 -fm=$(call TOOL_OPENWATCOM_FIX_SLASHES,$(outbase).map) \
120 $(call TOOL_OPENWATCOM_FIX_SLASHES,$(filter-out %.res,$(objs))) \
121 $(call TOOL_OPENWATCOM_FIX_SLASHES,$(libs)) \
122 $(call TOOL_OPENWATCOM_FIX_SLASHES,$(othersrc))
123 $(if $(filter %.res,$(objs)), $(QUIET)$(call TOOL_OPENWATCOM_ENV_SETUP) \
124 $(TOOL_OPENWATCOM_RC) \
125 $(filter -bt=%,$(flags)) \
126 /fe=$(call TOOL_OPENWATCOM_FIX_SLASHES,$(out)) \
127 $(call TOOL_OPENWATCOM_FIX_SLASHES,$(filter %.res,$(objs))))
128endef
129
130TOOL_OPENWATCOM-16_LINK_DLL_OUTPUT = $(outbase).map
131TOOL_OPENWATCOM-16_LINK_DLL_OUTPUT_MAYBE = $(outbase).sym
132TOOL_OPENWATCOM-16_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
133TOOL_OPENWATCOM-16_LINK_DLL_DEPORD =
134define TOOL_OPENWATCOM-16_LINK_DLL_CMDS
135 $(QUIET)$(call TOOL_OPENWATCOM_ENV_SETUP_BD,$(subst $(SP),,$(addsuffix ;,$(libpath))),-C $(dir $(out))) \
136 $(TOOL_OPENWATCOM_LD16) \
137 $(flags) \
138 -fe=$(call TOOL_OPENWATCOM_FIX_SLASHES,$(out)) \
139 -fm=$(call TOOL_OPENWATCOM_FIX_SLASHES,$(outbase).map) \
140 $(call TOOL_OPENWATCOM_FIX_SLASHES,$(filter-out %.res,$(objs))) \
141 $(call TOOL_OPENWATCOM_FIX_SLASHES,$(libs)) \
142 $(call TOOL_OPENWATCOM_FIX_SLASHES,$(othersrc))
143 $(if $(filter %.res,$(objs)), $(QUIET)$(call TOOL_OPENWATCOM_ENV_SETUP) \
144 $(TOOL_OPENWATCOM_RC) \
145 $(filter -bt=%,$(flags)) \
146 /fe=$(call TOOL_OPENWATCOM_FIX_SLASHES,$(out)) \
147 $(call TOOL_OPENWATCOM_FIX_SLASHES,$(filter %.res,$(objs))))
148endef
149
150TOOL_OPENWATCOM-16_LINK_SYSMOD_OUTPUT = $(outbase).map
151TOOL_OPENWATCOM-16_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).sym
152TOOL_OPENWATCOM-16_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
153TOOL_OPENWATCOM-16_LINK_SYSMOD_DEPORD =
154define TOOL_OPENWATCOM-16_LINK_SYSMOD_CMDS
155 $(QUIET)$(call TOOL_OPENWATCOM_ENV_SETUP_BD,$(subst $(SP),,$(addsuffix ;,$(libpath))),-C $(dir $(out))) \
156 $(TOOL_OPENWATCOM_LD16) \
157 $(flags) \
158 -fe=$(call TOOL_OPENWATCOM_FIX_SLASHES,$(out)) \
159 -fm=$(call TOOL_OPENWATCOM_FIX_SLASHES,$(outbase).map) \
160 $(call TOOL_OPENWATCOM_FIX_SLASHES,$(filter-out %.res,$(objs))) \
161 $(call TOOL_OPENWATCOM_FIX_SLASHES,$(libs)) \
162 $(call TOOL_OPENWATCOM_FIX_SLASHES,$(othersrc))
163 $(if $(filter %.res,$(objs)), $(QUIET)$(call TOOL_OPENWATCOM_ENV_SETUP) \
164 $(TOOL_OPENWATCOM_RC) \
165 $(filter -bt=%,$(flags)) \
166 /fe=$(call TOOL_OPENWATCOM_FIX_SLASHES,$(out)) \
167 $(call TOOL_OPENWATCOM_FIX_SLASHES,$(filter %.res,$(objs))))
168endef
169
Note: See TracBrowser for help on using the repository browser.