| [22073] | 1 | diff --git a/$/rexx-with-CRLF.cmd b/$/rexx-with-CRLF.cmd
|
|---|
| 2 | index 82798b2..e64ab26 100644
|
|---|
| 3 | --- a/$/rexx-with-CRLF.cmd
|
|---|
| 4 | +++ b/$/rexx-with-CRLF.cmd
|
|---|
| 5 | @@ -1,6 +1,6 @@
|
|---|
| 6 | -/* Rexx */
|
|---|
| [22072] | 7 | -
|
|---|
| 8 | -say '';
|
|---|
| [22073] | 9 | -say 'This script was git-svn committed with CRLF line endings.';
|
|---|
| 10 | -say 'When checked out, this should still be the case.';
|
|---|
| [22072] | 11 | -say '';
|
|---|
| [22073] | 12 | +/* Rexx */
|
|---|
| [22072] | 13 | +
|
|---|
| 14 | +say '';
|
|---|
| [22073] | 15 | +say 'This script was git-svn committed with CRLF line endings.';
|
|---|
| 16 | +say 'When checked out, this should still be the case.';
|
|---|
| 17 | +say '';
|
|---|
| 18 | diff --git a/$/rexx-with-LF.cmd b/$/rexx-with-LF.cmd
|
|---|
| 19 | index a096cf3..269bcab 100644
|
|---|
| 20 | --- a/$/rexx-with-LF.cmd
|
|---|
| 21 | +++ b/$/rexx-with-LF.cmd
|
|---|
| 22 | @@ -1,8 +1,8 @@
|
|---|
| 23 | -/* Rexx */
|
|---|
| [22072] | 24 | -
|
|---|
| 25 | -say '';
|
|---|
| [22073] | 26 | -say 'This script was git-committed with only LF line endings.';
|
|---|
| 27 | -say 'When checked out with git-svn it should be converted to CRLF';
|
|---|
| 28 | -say 'provided that the correct .gitattributes file is present.';
|
|---|
| 29 | -say 'Behavior when checking out with svn will be tested next.';
|
|---|
| 30 | -say '';
|
|---|
| 31 | +/* Rexx */
|
|---|
| [22072] | 32 | +
|
|---|
| 33 | +say '';
|
|---|
| [22073] | 34 | +say 'This script was git-committed with only LF line endings.';
|
|---|
| 35 | +say 'When checked out with git-svn it should be converted to CRLF';
|
|---|
| 36 | +say 'provided that the correct .gitattributes file is present.';
|
|---|
| 37 | +say 'Behavior when checking out with svn will be tested next.';
|
|---|
| 38 | +say '';
|
|---|
| 39 | diff --git a/Config.kmk b/Config.kmk
|
|---|
| 40 | index 612f721..ded33f8 100644
|
|---|
| 41 | --- a/Config.kmk
|
|---|
| 42 | +++ b/Config.kmk
|
|---|
| 43 | @@ -1,322 +1,322 @@
|
|---|
| [22072] | 44 | -## @file
|
|---|
| [22073] | 45 | -# Global Project Configuration File
|
|---|
| [22072] | 46 | -#
|
|---|
| 47 | -
|
|---|
| [22073] | 48 | -#------------------------------------------------------------------------------
|
|---|
| 49 | -# Global definitions
|
|---|
| 50 | -#------------------------------------------------------------------------------
|
|---|
| [22072] | 51 | -
|
|---|
| [22073] | 52 | -#
|
|---|
| 53 | -# @todo kBuild forgets to do that on OS/2
|
|---|
| 54 | -#
|
|---|
| 55 | -INST_DLL = bin/
|
|---|
| [22072] | 56 | -
|
|---|
| [22073] | 57 | -#
|
|---|
| 58 | -# Watcom Linker is required because of some Watcom-specific directives (used
|
|---|
| 59 | -# e.g. to compensate for the lack of SEGMENTS support in .DEF in emxomfld, see
|
|---|
| 60 | -# svn.netlabs.org/libc/ticket/252). Besides, it's more stable than the outdated
|
|---|
| 61 | -# IBM linker.
|
|---|
| 62 | -#
|
|---|
| 63 | -ifn1of ($(EMXOMFLD_TYPE),WLINK wlink)
|
|---|
| 64 | -$(error You must use Watcom Linker and set EMXOMFLD_TYPE to WLINK (it's now $(EMXOMFLD_TYPE)))
|
|---|
| 65 | -endif
|
|---|
| [22072] | 66 | -
|
|---|
| [22073] | 67 | -#
|
|---|
| 68 | -# TCPV40HDRS requires an alternative libsocket.lib located in a separate directory.
|
|---|
| 69 | -# Try to deduce it.
|
|---|
| 70 | -#
|
|---|
| 71 | -PATH_GCC_LIB_TCPIPV4 := $(dir $(shell gcc -print-file-name=libsocket.lib))/tcpipv4
|
|---|
| 72 | -ifeq ($(PATH_GCC_LIB_TCPIPV4),/tcpipv4)
|
|---|
| 73 | -$(error Could not detect the GCC TCPIPV4 socket library path.)
|
|---|
| 74 | -endif
|
|---|
| [22072] | 75 | -
|
|---|
| [22073] | 76 | -##
|
|---|
| 77 | -# Defines an import library target for the given DLL target.
|
|---|
| 78 | -#
|
|---|
| 79 | -# @param 1 DLL target name.
|
|---|
| 80 | -# @param 2 .def file (defaults to <1>.def).
|
|---|
| 81 | -# @param 3 .def file for debug (defaults to <2>).
|
|---|
| 82 | -# @param 4 list of object files containing additional exports.
|
|---|
| 83 | -# @param 5 non-empty to disable .def post-processing with ImpDef.
|
|---|
| 84 | -#
|
|---|
| 85 | -odin_implib = $(evalcall odin_implib_common,$(1),$(2),$(3),$(4),$(5))
|
|---|
| [22072] | 86 | -
|
|---|
| [22073] | 87 | -define odin_implib_common
|
|---|
| 88 | - local target := $(1)
|
|---|
| 89 | - local def := $(abspath $(PATH_SUB_CURRENT)/$(if $(2),$(2),$(1).def))
|
|---|
| 90 | - local def_exp := $(notdir $(basename $(def))).exp.def
|
|---|
| 91 | -ifneq ($(3),)
|
|---|
| 92 | - #local def_debug := $(abspath $(PATH_SUB_CURRENT)/$(3))
|
|---|
| 93 | - #local def_exp_debug := $(notdir $(basename $(def_debug))).exp.def
|
|---|
| 94 | -endif
|
|---|
| 95 | - local obj_list := $(4)
|
|---|
| 96 | - local do_def_exp := $(if $(5),,1)
|
|---|
| 97 | - $(eval $(def_odin_implib))
|
|---|
| 98 | -endef
|
|---|
| [22072] | 99 | -
|
|---|
| [22073] | 100 | -define def_odin_implib
|
|---|
| 101 | - LIBRARIES += $(target)_imp
|
|---|
| 102 | - $(target)_imp_TEMPLATE = OdinCxx
|
|---|
| 103 | - $(target)_imp_NAME = $(target)
|
|---|
| 104 | - $$$$($(target)_imp_0_OUTDIR)/$(def_exp): $(def) \
|
|---|
| 105 | - $(addsuffix $$$$(TOOL_GXX3OMF_COBJSUFF), \
|
|---|
| 106 | - $(addprefix $$$$($(target)_0_OUTDIR)/,$(obj_list))) \
|
|---|
| 107 | - $$(PATH_STAGE_BIN)/impdef.exe | $$$$(dir $$$$@)
|
|---|
| 108 | - %$$(call MSG_TOOL,impdef,$(target)_imp,$(abspath $$<),$$@)
|
|---|
| 109 | -ifneq ($(do_def_exp),)
|
|---|
| 110 | - $(QUIET2)$$(PATH_STAGE_BIN)/impdef.exe $(def) $$@
|
|---|
| 111 | -else
|
|---|
| 112 | - $(QUIET2)$(CP) $(def) $$@
|
|---|
| 113 | -endif
|
|---|
| 114 | -ifneq ($(obj_list),)
|
|---|
| 115 | - $(QUIET2)emxexp.exe \
|
|---|
| 116 | - $(addsuffix $$(TOOL_GXX3OMF_COBJSUFF), \
|
|---|
| 117 | - $(addprefix $$($(target)_0_OUTDIR)/,$(obj_list))) >> $$@
|
|---|
| 118 | -endif
|
|---|
| 119 | -ifeq ($(def_exp_debug),)
|
|---|
| 120 | - ifneq ($(do_def_exp)$(obj_list),)
|
|---|
| 121 | - $(target)_imp_SOURCES = $$($(target)_imp_0_OUTDIR)/$(def_exp)
|
|---|
| 122 | - $(target)_imp_CLEAN += $$($(target)_imp_0_OUTDIR)/$(def_exp)
|
|---|
| 123 | - else
|
|---|
| 124 | - $(target)_imp_SOURCES = $(def)
|
|---|
| 125 | - endif
|
|---|
| 126 | -else
|
|---|
| 127 | - ifneq ($(do_def_exp)$(obj_list),)
|
|---|
| 128 | - $(target)_imp_SOURCES.release = $$($(target)_imp_0_OUTDIR)/$(def_exp)
|
|---|
| 129 | - $(target)_imp_CLEAN.release += $$($(target)_imp_0_OUTDIR)/$(def_exp)
|
|---|
| 130 | - $$$$($(target)_imp_0_OUTDIR)/$(def_exp_debug): $(def_debug) \
|
|---|
| 131 | - $(addsuffix $$$$(TOOL_GXX3OMF_COBJSUFF), \
|
|---|
| 132 | - $(addprefix $$$$($(target)_0_OUTDIR)/,$(obj_list))) \
|
|---|
| 133 | - $$(PATH_STAGE_BIN)/impdef.exe | $$$$(dir $$$$@)
|
|---|
| 134 | - %$$(call MSG_TOOL,impdef,$(target)_imp,$(abspath $$<),$$@)
|
|---|
| 135 | -ifneq ($(do_def_exp),)
|
|---|
| 136 | - $(QUIET2)$$(PATH_STAGE_BIN)/impdef.exe $(def_debug) $$@
|
|---|
| 137 | -else
|
|---|
| 138 | - $(QUIET2)$(CP) $(def_debug) $$@
|
|---|
| 139 | -endif
|
|---|
| 140 | -ifneq ($(obj_list),)
|
|---|
| 141 | - $(QUIET2)emxexp.exe \
|
|---|
| 142 | - $(addsuffix $$(TOOL_GXX3OMF_COBJSUFF), \
|
|---|
| 143 | - $(addprefix $$($(target)_0_OUTDIR)/,$(obj_list))) >> $$@
|
|---|
| 144 | -endif
|
|---|
| 145 | - $(target)_imp_SOURCES.debug = $$($(target)_imp_0_OUTDIR)/$(def_exp_debug)
|
|---|
| 146 | - $(target)_imp_CLEAN.debug += $$($(target)_imp_0_OUTDIR)/$(def_exp_debug)
|
|---|
| 147 | - else
|
|---|
| 148 | - $(target)_imp_SOURCES.release = $(def)
|
|---|
| 149 | - $(target)_imp_SOURCES.debug = $(def_debug)
|
|---|
| 150 | - endif
|
|---|
| 151 | -endif
|
|---|
| 152 | -endef
|
|---|
| [22072] | 153 | -
|
|---|
| [22073] | 154 | -##
|
|---|
| 155 | -# Shortcut to $(call odin_implib,<1>,<2>,<3>,<4>,1) used to disable .def file
|
|---|
| 156 | -# post-processing with the ImpDef tool.
|
|---|
| 157 | -#
|
|---|
| 158 | -# @param 1 DLL target name.
|
|---|
| 159 | -# @param 2 .def file (defaults to <1>.def).
|
|---|
| 160 | -# @param 3 .def file for debug (defaults to <2>).
|
|---|
| 161 | -# @param 4 list of object files containing additional exports.
|
|---|
| 162 | -#
|
|---|
| 163 | -odin_implib_no_expdef = $(call odin_implib,$(1),$(2),$(3),$(4),1)
|
|---|
| [22072] | 164 | -
|
|---|
| [22073] | 165 | -##
|
|---|
| 166 | -# Shortcut to $(call odin_implib, <1>,<1>.def,<1>dbg.def,<2>).
|
|---|
| [22072] | 167 | -#
|
|---|
| [22073] | 168 | -# @param 1 DLL target name.
|
|---|
| 169 | -# @param 2 list of object files containing additional exports.
|
|---|
| 170 | -#
|
|---|
| 171 | -odin_implib_2 = $(call odin_implib,$(1),$(1).def,$(1)dbg.def,$(2))
|
|---|
| [22072] | 172 | -
|
|---|
| [22073] | 173 | -##
|
|---|
| 174 | -# Shortcut to $(call odin_implib_no_expdef,<1>,<1>.def,<1>dbg.def,<2>).
|
|---|
| [22072] | 175 | -#
|
|---|
| [22073] | 176 | -# @param 1 DLL target name.
|
|---|
| 177 | -# @param 2 list of object files containing additional exports.
|
|---|
| [22072] | 178 | -#
|
|---|
| [22073] | 179 | -odin_implib_2_no_expdef = $(call odin_implib_no_expdef,$(1),$(1).def,$(1)dbg.def,$(2))
|
|---|
| [22072] | 180 | -
|
|---|
| 181 | -#
|
|---|
| [22073] | 182 | -# Handler for Wine RC (.orc) source files
|
|---|
| 183 | -#
|
|---|
| 184 | -KBUILD_SRC_HANDLERS += .orc:def_src_handler_wrc
|
|---|
| 185 | -define def_src_handler_wrc
|
|---|
| 186 | -local type := WRC
|
|---|
| 187 | - $(kb-src-one 2)
|
|---|
| 188 | -endef
|
|---|
| 189 | -PROPS_ACCUMULATE_R += WRCFLAGS
|
|---|
| [22072] | 190 | -
|
|---|
| 191 | -#
|
|---|
| [22073] | 192 | -# Override handler for .asm files to compile them with the MASM-compilant tool
|
|---|
| 193 | -#
|
|---|
| 194 | -KBUILD_SRC_HANDLERS := .asm:def_src_handler_masm $(KBUILD_SRC_HANDLERS)
|
|---|
| 195 | -define def_src_handler_masm
|
|---|
| 196 | -local type := $(if $(TOOL_$(tool)_COMPILE_MASM_CMDS),MASM,AS)
|
|---|
| 197 | - $(kb-src-one 2)
|
|---|
| 198 | -endef
|
|---|
| 199 | -PROPS_ACCUMULATE_R += $(if $(TOOL_$(tool)_COMPILE_MASM_CMDS),MASM,AS)FLAGS
|
|---|
| [22072] | 200 | -
|
|---|
| 201 | -#
|
|---|
| [22073] | 202 | -# Handler for .def files to add bldlevel info to them
|
|---|
| 203 | -#
|
|---|
| 204 | -define def_src_handler_def
|
|---|
| 205 | -local type := DEF
|
|---|
| 206 | - $(kb-src-one 2)
|
|---|
| 207 | -#.NOTPARALLEL: $(obj) # BldLevelInf.cmd can't open files in parallel
|
|---|
| 208 | -endef
|
|---|
| [22072] | 209 | -
|
|---|
| [22073] | 210 | -#------------------------------------------------------------------------------
|
|---|
| 211 | -# Tools
|
|---|
| 212 | -#------------------------------------------------------------------------------
|
|---|
| [22072] | 213 | -
|
|---|
| 214 | -#
|
|---|
| [22073] | 215 | -# Add support for Wine RC to the GCC compiler
|
|---|
| 216 | -#
|
|---|
| 217 | -TOOL_GXX3OMF_WRC = $(PATH_STAGE_BIN)/winerc.exe
|
|---|
| 218 | -TOOL_GXX3OMF_WRCOBJSUFF = .orc$(TOOL_GXX3OMF_COBJSUFF)
|
|---|
| 219 | -TOOL_GXX3OMF_WRCFLAGS =
|
|---|
| 220 | -TOOL_GXX3OMF_COMPILE_WRC_OUTPUT = $(outbase).orc.s
|
|---|
| 221 | -TOOL_GXX3OMF_COMPILE_WRC_DEPEND = $(TOOL_GXX3OMF_WRC)
|
|---|
| 222 | -TOOL_GXX3OMF_COMPILE_WRC_DEPORD =
|
|---|
| 223 | -define TOOL_GXX3OMF_COMPILE_WRC_CMDS
|
|---|
| 224 | - $(QUIET)$(TOOL_GXX3OMF_WRC) -s -I$(subst /,\\,$(abspath $(dir $(source))))\
|
|---|
| 225 | - $(flags) $(addprefix -I, $(subst /,\\,$(incs))) $(addprefix -D, $(defs))\
|
|---|
| 226 | - $(subst /,\\,$(abspath $(source))) \
|
|---|
| 227 | - -o $(TOOL_GXX3OMF_COMPILE_WRC_OUTPUT)
|
|---|
| 228 | - $(QUIET)$(TOOL_GXX3OMF_CC) -E -I$(subst /,\\,$(abspath $(dir $(source))))\
|
|---|
| 229 | - $(addprefix -I, $(incs)) -I . $(addprefix -D, $(defs))\
|
|---|
| 230 | - -x c $(abspath $(source)) \
|
|---|
| 231 | - | $(DEP_PRE) -f -s -o $(dep) -t $(obj) -
|
|---|
| 232 | - $(subst $(source),$(TOOL_GXX3OMF_COMPILE_WRC_OUTPUT),\
|
|---|
| 233 | - $(subst $(flags),,$(TOOL_GXX3OMF_COMPILE_AS_CMDS)))
|
|---|
| 234 | -endef
|
|---|
| [22072] | 235 | -
|
|---|
| 236 | -#
|
|---|
| [22073] | 237 | -# Add support for MASM to the GCC compiler
|
|---|
| 238 | -#
|
|---|
| 239 | -TOOL_GXX3OMF_MASM = $(PATH_TOOL_ALP)
|
|---|
| 240 | -TOOL_GXX3OMF_MASMFLAGS = -Mb
|
|---|
| 241 | -TOOL_GXX3OMF_COMPILE_MASM_OUTPUT = $(outbase).lst
|
|---|
| 242 | -TOOL_GXX3OMF_COMPILE_MASM_DEPEND =
|
|---|
| 243 | -TOOL_GXX3OMF_COMPILE_MASM_DEPORD =
|
|---|
| 244 | -define TOOL_GXX3OMF_COMPILE_MASM_CMDS
|
|---|
| 245 | - $(QUIET)$(TOOL_GXX3OMF_MASM) -D:__GNUC__ -D:__EMX__\
|
|---|
| 246 | - $(flags) $(addsuffix /,$(addprefix -I:, $(incs))) $(addprefix -D:, $(defs))\
|
|---|
| 247 | - $(source)\
|
|---|
| 248 | - -Fl:$(outbase).lst\
|
|---|
| 249 | - -Fd:$(dep)\
|
|---|
| 250 | - -Fo:$(obj)
|
|---|
| 251 | -endef
|
|---|
| [22072] | 252 | -
|
|---|
| 253 | -#
|
|---|
| [22073] | 254 | -# Add support for DEF file bldlevel info generator to the GCC compiler
|
|---|
| 255 | -#
|
|---|
| 256 | -TOOL_GXX3OMF_DEF = $(PATH_ROOT)/tools/bin/BldLevelInf.cmd
|
|---|
| 257 | -TOOL_GXX3OMF_DEFOBJSUFF = .bldlevel.def
|
|---|
| 258 | -TOOL_GXX3OMF_COMPILE_DEF_OUTPUT =
|
|---|
| 259 | -TOOL_GXX3OMF_COMPILE_DEF_DEPEND = $(PATH_ROOT)/include/odinbuild.h
|
|---|
| 260 | -TOOL_GXX3OMF_COMPILE_DEF_DEPORD =
|
|---|
| 261 | -define TOOL_GXX3OMF_COMPILE_DEF_CMDS
|
|---|
| 262 | - $(QUIET)cmd /c 'set BUILD_QUIET=1 && $(TOOL_GXX3OMF_DEF)\
|
|---|
| 263 | - $(source) $(outbase).bldlevel.def\
|
|---|
| 264 | - -R"$(source)"\
|
|---|
| 265 | - -V"#define=ODIN32_VERSION,$(subst /,/,$(PATH_ROOT)/include/odinbuild.h)"\
|
|---|
| 266 | - -M"#define=ODIN32_BUILD_NR,$(subst /,/,$(PATH_ROOT)/include/odinbuild.h)"'
|
|---|
| 267 | -endef
|
|---|
| [22072] | 268 | -
|
|---|
| [22073] | 269 | -#------------------------------------------------------------------------------
|
|---|
| 270 | -# Common libraries referenced by components
|
|---|
| 271 | -#------------------------------------------------------------------------------
|
|---|
| [22072] | 272 | -
|
|---|
| [22073] | 273 | -#------------------------------------------------------------------------------
|
|---|
| 274 | -# General Stuff
|
|---|
| 275 | -#------------------------------------------------------------------------------
|
|---|
| [22072] | 276 | -
|
|---|
| [22073] | 277 | -KBUILD_UNIT_PATHS += $(PATH_ROOT)
|
|---|
| [22072] | 278 | -
|
|---|
| [22073] | 279 | -TEMPLATE_OdinCxx = Odin C/C++ sources
|
|---|
| 280 | -TEMPLATE_OdinCxx_USES = Extra
|
|---|
| 281 | -TEMPLATE_OdinCxx_TOOL = GXX3OMF
|
|---|
| 282 | -TEMPLATE_OdinCxx_INCS = $(PATH_ROOT)/include/win $(PATH_ROOT)/include $(PATH_ROOT)/include/incl_gcc
|
|---|
| 283 | -TEMPLATE_OdinCxx_DEFS = USE_OS2_TOOLKIT_HEADERS OS2EMX_PLAIN_CHAR \
|
|---|
| 284 | - __WIN32OS2__ __i386__
|
|---|
| 285 | -TEMPLATE_OdinCxx_DEFS.debug = DEBUG
|
|---|
| 286 | -TEMPLATE_OdinCxx_LDFLAGS = -Zlinker '"DISABLE 1121"'
|
|---|
| [22072] | 287 | -
|
|---|
| [22073] | 288 | -# generate .sym files but don't put them in a separate dir
|
|---|
| 289 | -TEMPLATE_OdinCxx_LD_DEBUG = split
|
|---|
| 290 | -TEMPLATE_OdinCxx_DEBUG_STAGE = nul
|
|---|
| [22072] | 291 | -
|
|---|
| [22073] | 292 | -TEMPLATE_OdinBin = Odin DLL or EXE
|
|---|
| 293 | -TEMPLATE_OdinBin_EXTENDS = OdinCxx
|
|---|
| [22072] | 294 | -
|
|---|
| [22073] | 295 | -# Override DEF handler to add bldlevel info to .DEF files
|
|---|
| 296 | -TEMPLATE_OdinBin_SRC_HANDLERS = .def:def_src_handler_def
|
|---|
| [22072] | 297 | -
|
|---|
| [22073] | 298 | -TEMPLATE_OdinDLL = Odin DLL
|
|---|
| 299 | -TEMPLATE_OdinDLL_EXTENDS = OdinBin
|
|---|
| 300 | -TEMPLATE_OdinDLL_EXTENDS_BY = appending
|
|---|
| 301 | -TEMPLATE_OdinDLL_DEFS = $(TEMPLATE_OdinCxx_DEFS) __WINE__ COMCTL32UNDOC TCPV40HDRS __USE_LIBC_TCPIP
|
|---|
| 302 | -TEMPLATE_OdinDLL_LIBS = $(PATH_STAGE_LIB)/odincrt.lib \
|
|---|
| 303 | - $(PATH_STAGE_LIB)/initdll.lib
|
|---|
| 304 | -TEMPLATE_OdinDLL_LDFLAGS = -L$(PATH_GCC_LIB_TCPIPV4) # necessary for TCPV40HDRS
|
|---|
| 305 | -TEMPLATE_OdinDLL_LDFLAGS += KMK_NOIMPLIB # disable automatic implib
|
|---|
| 306 | -TEMPLATE_OdinDLL_WRCFLAGS = -p_$(target)
|
|---|
| [22072] | 307 | -
|
|---|
| [22073] | 308 | -TEMPLATE_OdinSimpleDLL = Odin DLL with ordinary entry point
|
|---|
| 309 | -TEMPLATE_OdinSimpleDLL_EXTENDS = OdinDLL
|
|---|
| 310 | -TEMPLATE_OdinSimpleDLL_EXTENDS_BY = overriding
|
|---|
| 311 | -TEMPLATE_OdinSimpleDLL_LIBS = $(PATH_STAGE_LIB)/dllentry.o $(TEMPLATE_OdinDLL_LIBS)
|
|---|
| 312 | -TEMPLATE_OdinSimpleDLL_WRCFLAGS = -p_Resource
|
|---|
| [22072] | 313 | -
|
|---|
| [22073] | 314 | -TEMPLATE_OdinCRT = OdinCRT DLL
|
|---|
| 315 | -TEMPLATE_OdinCRT_EXTENDS = OdinBin
|
|---|
| 316 | -TEMPLATE_OdinCRT_EXTENDS_BY = appending
|
|---|
| 317 | -TEMPLATE_OdinCRT_DEFS = __WINE__
|
|---|
| 318 | -TEMPLATE_OdinCRT_LIBS = $(PATH_STAGE_LIB)/initdll.lib
|
|---|
| 319 | -TEMPLATE_OdinCRT_LDFLAGS += KMK_NOIMPLIB # disable automatic implib
|
|---|
| [22072] | 320 | -
|
|---|
| [22073] | 321 | -TEMPLATE_OdinApp = Odin application
|
|---|
| 322 | -TEMPLATE_OdinApp_EXTENDS = OdinBin
|
|---|
| [22072] | 323 | -
|
|---|
| [22073] | 324 | -TEMPLATE_OdinTestApp = Odin application
|
|---|
| 325 | -TEMPLATE_OdinTestApp_EXTENDS= OdinApp
|
|---|
| 326 | -TEMPLATE_OdinTestApp_STAGE = tests/
|
|---|
| [22072] | 327 | -
|
|---|
| [22073] | 328 | -#------------------------------------------------------------------------------
|
|---|
| 329 | -# GCC Stuff
|
|---|
| 330 | -#------------------------------------------------------------------------------
|
|---|
| [22072] | 331 | -
|
|---|
| [22073] | 332 | -#------------------------------------------------------------------------------
|
|---|
| 333 | -# Other Stuff
|
|---|
| 334 | -#------------------------------------------------------------------------------
|
|---|
| [22072] | 335 | -
|
|---|
| [22073] | 336 | -#
|
|---|
| 337 | -# Include a site-specific config for local overrides
|
|---|
| 338 | -#
|
|---|
| 339 | -ifndef LOCALCFG
|
|---|
| 340 | - LOCALCFG := $(wildcard $(PATH_ROOT)/LocalConfig.kmk)
|
|---|
| 341 | - ifneq ($(LOCALCFG),)
|
|---|
| 342 | - include $(LOCALCFG)
|
|---|
| 343 | - endif
|
|---|
| 344 | -endif
|
|---|
| [22072] | 345 | -
|
|---|
| [22073] | 346 | -#------------------------------------------------------------------------------
|
|---|
| 347 | -# Post-processing
|
|---|
| 348 | -#------------------------------------------------------------------------------
|
|---|
| [22072] | 349 | -
|
|---|
| [22073] | 350 | -ifeq ($(PATH_TOOL_ALP),)
|
|---|
| 351 | -ifneq ($(PATH_SDK_OS2TK4),)
|
|---|
| 352 | -PATH_TOOL_ALP := $(PATH_SDK_OS2TK4)/bin/alp.exe
|
|---|
| [22072] | 353 | -else
|
|---|
| [22073] | 354 | -PATH_TOOL_ALP := alp.exe
|
|---|
| 355 | -endif
|
|---|
| 356 | -endif
|
|---|
| [22072] | 357 | -
|
|---|
| [22073] | 358 | -ifneq ($(PATH_SDK_OS2TK4),)
|
|---|
| [22072] | 359 | -#
|
|---|
| [22073] | 360 | -# We can't add Toolkit includes in _INCS (it will casuse then to be searched
|
|---|
| 361 | -# before GCC headers and lead to conflicts), so use -idirafter.
|
|---|
| [22072] | 362 | -#
|
|---|
| [22073] | 363 | -TEMPLATE_OdinCxx_CFLAGS += -idirafter $(PATH_SDK_OS2TK4)/h
|
|---|
| 364 | -TEMPLATE_OdinCxx_CXXFLAGS += -idirafter $(PATH_SDK_OS2TK4)/h
|
|---|
| 365 | -endif
|
|---|
| [22072] | 366 | +## @file
|
|---|
| [22073] | 367 | +# Global Project Configuration File
|
|---|
| [22072] | 368 | +#
|
|---|
| 369 | +
|
|---|
| [22073] | 370 | +#------------------------------------------------------------------------------
|
|---|
| 371 | +# Global definitions
|
|---|
| 372 | +#------------------------------------------------------------------------------
|
|---|
| [22072] | 373 | +
|
|---|
| 374 | +#
|
|---|
| [22073] | 375 | +# @todo kBuild forgets to do that on OS/2
|
|---|
| [22072] | 376 | +#
|
|---|
| [22073] | 377 | +INST_DLL = bin/
|
|---|
| [22072] | 378 | +
|
|---|
| [22073] | 379 | +#
|
|---|
| 380 | +# Watcom Linker is required because of some Watcom-specific directives (used
|
|---|
| 381 | +# e.g. to compensate for the lack of SEGMENTS support in .DEF in emxomfld, see
|
|---|
| 382 | +# svn.netlabs.org/libc/ticket/252). Besides, it's more stable than the outdated
|
|---|
| 383 | +# IBM linker.
|
|---|
| 384 | +#
|
|---|
| 385 | +ifn1of ($(EMXOMFLD_TYPE),WLINK wlink)
|
|---|
| 386 | +$(error You must use Watcom Linker and set EMXOMFLD_TYPE to WLINK (it's now $(EMXOMFLD_TYPE)))
|
|---|
| 387 | +endif
|
|---|
| [22072] | 388 | +
|
|---|
| [22073] | 389 | +#
|
|---|
| 390 | +# TCPV40HDRS requires an alternative libsocket.lib located in a separate directory.
|
|---|
| 391 | +# Try to deduce it.
|
|---|
| 392 | +#
|
|---|
| 393 | +PATH_GCC_LIB_TCPIPV4 := $(dir $(shell gcc -print-file-name=libsocket.lib))/tcpipv4
|
|---|
| 394 | +ifeq ($(PATH_GCC_LIB_TCPIPV4),/tcpipv4)
|
|---|
| 395 | +$(error Could not detect the GCC TCPIPV4 socket library path.)
|
|---|
| 396 | +endif
|
|---|
| [22072] | 397 | +
|
|---|
| [22073] | 398 | +##
|
|---|
| 399 | +# Defines an import library target for the given DLL target.
|
|---|
| 400 | +#
|
|---|
| 401 | +# @param 1 DLL target name.
|
|---|
| 402 | +# @param 2 .def file (defaults to <1>.def).
|
|---|
| 403 | +# @param 3 .def file for debug (defaults to <2>).
|
|---|
| 404 | +# @param 4 list of object files containing additional exports.
|
|---|
| 405 | +# @param 5 non-empty to disable .def post-processing with ImpDef.
|
|---|
| 406 | +#
|
|---|
| 407 | +odin_implib = $(evalcall odin_implib_common,$(1),$(2),$(3),$(4),$(5))
|
|---|
| [22072] | 408 | +
|
|---|
| [22073] | 409 | +define odin_implib_common
|
|---|
| 410 | + local target := $(1)
|
|---|
| 411 | + local def := $(abspath $(PATH_SUB_CURRENT)/$(if $(2),$(2),$(1).def))
|
|---|
| 412 | + local def_exp := $(notdir $(basename $(def))).exp.def
|
|---|
| 413 | +ifneq ($(3),)
|
|---|
| 414 | + #local def_debug := $(abspath $(PATH_SUB_CURRENT)/$(3))
|
|---|
| 415 | + #local def_exp_debug := $(notdir $(basename $(def_debug))).exp.def
|
|---|
| 416 | +endif
|
|---|
| 417 | + local obj_list := $(4)
|
|---|
| 418 | + local do_def_exp := $(if $(5),,1)
|
|---|
| 419 | + $(eval $(def_odin_implib))
|
|---|
| 420 | +endef
|
|---|
| [22072] | 421 | +
|
|---|
| [22073] | 422 | +define def_odin_implib
|
|---|
| 423 | + LIBRARIES += $(target)_imp
|
|---|
| 424 | + $(target)_imp_TEMPLATE = OdinCxx
|
|---|
| 425 | + $(target)_imp_NAME = $(target)
|
|---|
| 426 | + $$$$($(target)_imp_0_OUTDIR)/$(def_exp): $(def) \
|
|---|
| 427 | + $(addsuffix $$$$(TOOL_GXX3OMF_COBJSUFF), \
|
|---|
| 428 | + $(addprefix $$$$($(target)_0_OUTDIR)/,$(obj_list))) \
|
|---|
| 429 | + $$(PATH_STAGE_BIN)/impdef.exe | $$$$(dir $$$$@)
|
|---|
| 430 | + %$$(call MSG_TOOL,impdef,$(target)_imp,$(abspath $$<),$$@)
|
|---|
| 431 | +ifneq ($(do_def_exp),)
|
|---|
| 432 | + $(QUIET2)$$(PATH_STAGE_BIN)/impdef.exe $(def) $$@
|
|---|
| [22072] | 433 | +else
|
|---|
| [22073] | 434 | + $(QUIET2)$(CP) $(def) $$@
|
|---|
| 435 | +endif
|
|---|
| 436 | +ifneq ($(obj_list),)
|
|---|
| 437 | + $(QUIET2)emxexp.exe \
|
|---|
| 438 | + $(addsuffix $$(TOOL_GXX3OMF_COBJSUFF), \
|
|---|
| 439 | + $(addprefix $$($(target)_0_OUTDIR)/,$(obj_list))) >> $$@
|
|---|
| 440 | +endif
|
|---|
| 441 | +ifeq ($(def_exp_debug),)
|
|---|
| 442 | + ifneq ($(do_def_exp)$(obj_list),)
|
|---|
| 443 | + $(target)_imp_SOURCES = $$($(target)_imp_0_OUTDIR)/$(def_exp)
|
|---|
| 444 | + $(target)_imp_CLEAN += $$($(target)_imp_0_OUTDIR)/$(def_exp)
|
|---|
| 445 | + else
|
|---|
| 446 | + $(target)_imp_SOURCES = $(def)
|
|---|
| 447 | + endif
|
|---|
| [22072] | 448 | +else
|
|---|
| [22073] | 449 | + ifneq ($(do_def_exp)$(obj_list),)
|
|---|
| 450 | + $(target)_imp_SOURCES.release = $$($(target)_imp_0_OUTDIR)/$(def_exp)
|
|---|
| 451 | + $(target)_imp_CLEAN.release += $$($(target)_imp_0_OUTDIR)/$(def_exp)
|
|---|
| 452 | + $$$$($(target)_imp_0_OUTDIR)/$(def_exp_debug): $(def_debug) \
|
|---|
| 453 | + $(addsuffix $$$$(TOOL_GXX3OMF_COBJSUFF), \
|
|---|
| 454 | + $(addprefix $$$$($(target)_0_OUTDIR)/,$(obj_list))) \
|
|---|
| 455 | + $$(PATH_STAGE_BIN)/impdef.exe | $$$$(dir $$$$@)
|
|---|
| 456 | + %$$(call MSG_TOOL,impdef,$(target)_imp,$(abspath $$<),$$@)
|
|---|
| 457 | +ifneq ($(do_def_exp),)
|
|---|
| 458 | + $(QUIET2)$$(PATH_STAGE_BIN)/impdef.exe $(def_debug) $$@
|
|---|
| [22072] | 459 | +else
|
|---|
| [22073] | 460 | + $(QUIET2)$(CP) $(def_debug) $$@
|
|---|
| 461 | +endif
|
|---|
| 462 | +ifneq ($(obj_list),)
|
|---|
| 463 | + $(QUIET2)emxexp.exe \
|
|---|
| 464 | + $(addsuffix $$(TOOL_GXX3OMF_COBJSUFF), \
|
|---|
| 465 | + $(addprefix $$($(target)_0_OUTDIR)/,$(obj_list))) >> $$@
|
|---|
| 466 | +endif
|
|---|
| 467 | + $(target)_imp_SOURCES.debug = $$($(target)_imp_0_OUTDIR)/$(def_exp_debug)
|
|---|
| 468 | + $(target)_imp_CLEAN.debug += $$($(target)_imp_0_OUTDIR)/$(def_exp_debug)
|
|---|
| 469 | + else
|
|---|
| 470 | + $(target)_imp_SOURCES.release = $(def)
|
|---|
| 471 | + $(target)_imp_SOURCES.debug = $(def_debug)
|
|---|
| 472 | + endif
|
|---|
| 473 | +endif
|
|---|
| 474 | +endef
|
|---|
| [22072] | 475 | +
|
|---|
| [22073] | 476 | +##
|
|---|
| 477 | +# Shortcut to $(call odin_implib,<1>,<2>,<3>,<4>,1) used to disable .def file
|
|---|
| 478 | +# post-processing with the ImpDef tool.
|
|---|
| 479 | +#
|
|---|
| 480 | +# @param 1 DLL target name.
|
|---|
| 481 | +# @param 2 .def file (defaults to <1>.def).
|
|---|
| 482 | +# @param 3 .def file for debug (defaults to <2>).
|
|---|
| 483 | +# @param 4 list of object files containing additional exports.
|
|---|
| 484 | +#
|
|---|
| 485 | +odin_implib_no_expdef = $(call odin_implib,$(1),$(2),$(3),$(4),1)
|
|---|
| [22072] | 486 | +
|
|---|
| [22073] | 487 | +##
|
|---|
| 488 | +# Shortcut to $(call odin_implib, <1>,<1>.def,<1>dbg.def,<2>).
|
|---|
| 489 | +#
|
|---|
| 490 | +# @param 1 DLL target name.
|
|---|
| 491 | +# @param 2 list of object files containing additional exports.
|
|---|
| 492 | +#
|
|---|
| 493 | +odin_implib_2 = $(call odin_implib,$(1),$(1).def,$(1)dbg.def,$(2))
|
|---|
| [22072] | 494 | +
|
|---|
| [22073] | 495 | +##
|
|---|
| 496 | +# Shortcut to $(call odin_implib_no_expdef,<1>,<1>.def,<1>dbg.def,<2>).
|
|---|
| 497 | +#
|
|---|
| 498 | +# @param 1 DLL target name.
|
|---|
| 499 | +# @param 2 list of object files containing additional exports.
|
|---|
| 500 | +#
|
|---|
| 501 | +odin_implib_2_no_expdef = $(call odin_implib_no_expdef,$(1),$(1).def,$(1)dbg.def,$(2))
|
|---|
| [22072] | 502 | +
|
|---|
| [22073] | 503 | +#
|
|---|
| 504 | +# Handler for Wine RC (.orc) source files
|
|---|
| 505 | +#
|
|---|
| 506 | +KBUILD_SRC_HANDLERS += .orc:def_src_handler_wrc
|
|---|
| 507 | +define def_src_handler_wrc
|
|---|
| 508 | +local type := WRC
|
|---|
| 509 | + $(kb-src-one 2)
|
|---|
| 510 | +endef
|
|---|
| 511 | +PROPS_ACCUMULATE_R += WRCFLAGS
|
|---|
| [22072] | 512 | +
|
|---|
| [22073] | 513 | +#
|
|---|
| 514 | +# Override handler for .asm files to compile them with the MASM-compilant tool
|
|---|
| 515 | +#
|
|---|
| 516 | +KBUILD_SRC_HANDLERS := .asm:def_src_handler_masm $(KBUILD_SRC_HANDLERS)
|
|---|
| 517 | +define def_src_handler_masm
|
|---|
| 518 | +local type := $(if $(TOOL_$(tool)_COMPILE_MASM_CMDS),MASM,AS)
|
|---|
| 519 | + $(kb-src-one 2)
|
|---|
| 520 | +endef
|
|---|
| 521 | +PROPS_ACCUMULATE_R += $(if $(TOOL_$(tool)_COMPILE_MASM_CMDS),MASM,AS)FLAGS
|
|---|
| [22072] | 522 | +
|
|---|
| [22073] | 523 | +#
|
|---|
| 524 | +# Handler for .def files to add bldlevel info to them
|
|---|
| 525 | +#
|
|---|
| 526 | +define def_src_handler_def
|
|---|
| 527 | +local type := DEF
|
|---|
| 528 | + $(kb-src-one 2)
|
|---|
| 529 | +#.NOTPARALLEL: $(obj) # BldLevelInf.cmd can't open files in parallel
|
|---|
| 530 | +endef
|
|---|
| [22072] | 531 | +
|
|---|
| [22073] | 532 | +#------------------------------------------------------------------------------
|
|---|
| 533 | +# Tools
|
|---|
| 534 | +#------------------------------------------------------------------------------
|
|---|
| [22072] | 535 | +
|
|---|
| [22073] | 536 | +#
|
|---|
| 537 | +# Add support for Wine RC to the GCC compiler
|
|---|
| 538 | +#
|
|---|
| 539 | +TOOL_GXX3OMF_WRC = $(PATH_STAGE_BIN)/winerc.exe
|
|---|
| 540 | +TOOL_GXX3OMF_WRCOBJSUFF = .orc$(TOOL_GXX3OMF_COBJSUFF)
|
|---|
| 541 | +TOOL_GXX3OMF_WRCFLAGS =
|
|---|
| 542 | +TOOL_GXX3OMF_COMPILE_WRC_OUTPUT = $(outbase).orc.s
|
|---|
| 543 | +TOOL_GXX3OMF_COMPILE_WRC_DEPEND = $(TOOL_GXX3OMF_WRC)
|
|---|
| 544 | +TOOL_GXX3OMF_COMPILE_WRC_DEPORD =
|
|---|
| 545 | +define TOOL_GXX3OMF_COMPILE_WRC_CMDS
|
|---|
| 546 | + $(QUIET)$(TOOL_GXX3OMF_WRC) -s -I$(subst /,\\,$(abspath $(dir $(source))))\
|
|---|
| 547 | + $(flags) $(addprefix -I, $(subst /,\\,$(incs))) $(addprefix -D, $(defs))\
|
|---|
| 548 | + $(subst /,\\,$(abspath $(source))) \
|
|---|
| 549 | + -o $(TOOL_GXX3OMF_COMPILE_WRC_OUTPUT)
|
|---|
| 550 | + $(QUIET)$(TOOL_GXX3OMF_CC) -E -I$(subst /,\\,$(abspath $(dir $(source))))\
|
|---|
| 551 | + $(addprefix -I, $(incs)) -I . $(addprefix -D, $(defs))\
|
|---|
| 552 | + -x c $(abspath $(source)) \
|
|---|
| 553 | + | $(DEP_PRE) -f -s -o $(dep) -t $(obj) -
|
|---|
| 554 | + $(subst $(source),$(TOOL_GXX3OMF_COMPILE_WRC_OUTPUT),\
|
|---|
| 555 | + $(subst $(flags),,$(TOOL_GXX3OMF_COMPILE_AS_CMDS)))
|
|---|
| 556 | +endef
|
|---|
| [22072] | 557 | +
|
|---|
| [22073] | 558 | +#
|
|---|
| 559 | +# Add support for MASM to the GCC compiler
|
|---|
| 560 | +#
|
|---|
| 561 | +TOOL_GXX3OMF_MASM = $(PATH_TOOL_ALP)
|
|---|
| 562 | +TOOL_GXX3OMF_MASMFLAGS = -Mb
|
|---|
| 563 | +TOOL_GXX3OMF_COMPILE_MASM_OUTPUT = $(outbase).lst
|
|---|
| 564 | +TOOL_GXX3OMF_COMPILE_MASM_DEPEND =
|
|---|
| 565 | +TOOL_GXX3OMF_COMPILE_MASM_DEPORD =
|
|---|
| 566 | +define TOOL_GXX3OMF_COMPILE_MASM_CMDS
|
|---|
| 567 | + $(QUIET)$(TOOL_GXX3OMF_MASM) -D:__GNUC__ -D:__EMX__\
|
|---|
| 568 | + $(flags) $(addsuffix /,$(addprefix -I:, $(incs))) $(addprefix -D:, $(defs))\
|
|---|
| 569 | + $(source)\
|
|---|
| 570 | + -Fl:$(outbase).lst\
|
|---|
| 571 | + -Fd:$(dep)\
|
|---|
| 572 | + -Fo:$(obj)
|
|---|
| 573 | +endef
|
|---|
| [22072] | 574 | +
|
|---|
| [22073] | 575 | +#
|
|---|
| 576 | +# Add support for DEF file bldlevel info generator to the GCC compiler
|
|---|
| 577 | +#
|
|---|
| 578 | +TOOL_GXX3OMF_DEF = $(PATH_ROOT)/tools/bin/BldLevelInf.cmd
|
|---|
| 579 | +TOOL_GXX3OMF_DEFOBJSUFF = .bldlevel.def
|
|---|
| 580 | +TOOL_GXX3OMF_COMPILE_DEF_OUTPUT =
|
|---|
| 581 | +TOOL_GXX3OMF_COMPILE_DEF_DEPEND = $(PATH_ROOT)/include/odinbuild.h
|
|---|
| 582 | +TOOL_GXX3OMF_COMPILE_DEF_DEPORD =
|
|---|
| 583 | +define TOOL_GXX3OMF_COMPILE_DEF_CMDS
|
|---|
| 584 | + $(QUIET)cmd /c 'set BUILD_QUIET=1 && $(TOOL_GXX3OMF_DEF)\
|
|---|
| 585 | + $(source) $(outbase).bldlevel.def\
|
|---|
| 586 | + -R"$(source)"\
|
|---|
| 587 | + -V"#define=ODIN32_VERSION,$(subst /,/,$(PATH_ROOT)/include/odinbuild.h)"\
|
|---|
| 588 | + -M"#define=ODIN32_BUILD_NR,$(subst /,/,$(PATH_ROOT)/include/odinbuild.h)"'
|
|---|
| 589 | +endef
|
|---|
| [22072] | 590 | +
|
|---|
| [22073] | 591 | +#------------------------------------------------------------------------------
|
|---|
| 592 | +# Common libraries referenced by components
|
|---|
| 593 | +#------------------------------------------------------------------------------
|
|---|
| [22072] | 594 | +
|
|---|
| [22073] | 595 | +#------------------------------------------------------------------------------
|
|---|
| 596 | +# General Stuff
|
|---|
| 597 | +#------------------------------------------------------------------------------
|
|---|
| [22072] | 598 | +
|
|---|
| [22073] | 599 | +KBUILD_UNIT_PATHS += $(PATH_ROOT)
|
|---|
| [22072] | 600 | +
|
|---|
| [22073] | 601 | +TEMPLATE_OdinCxx = Odin C/C++ sources
|
|---|
| 602 | +TEMPLATE_OdinCxx_USES = Extra
|
|---|
| 603 | +TEMPLATE_OdinCxx_TOOL = GXX3OMF
|
|---|
| 604 | +TEMPLATE_OdinCxx_INCS = $(PATH_ROOT)/include/win $(PATH_ROOT)/include $(PATH_ROOT)/include/incl_gcc
|
|---|
| 605 | +TEMPLATE_OdinCxx_DEFS = USE_OS2_TOOLKIT_HEADERS OS2EMX_PLAIN_CHAR \
|
|---|
| 606 | + __WIN32OS2__ __i386__
|
|---|
| 607 | +TEMPLATE_OdinCxx_DEFS.debug = DEBUG
|
|---|
| 608 | +TEMPLATE_OdinCxx_LDFLAGS = -Zlinker '"DISABLE 1121"'
|
|---|
| [22072] | 609 | +
|
|---|
| [22073] | 610 | +# generate .sym files but don't put them in a separate dir
|
|---|
| 611 | +TEMPLATE_OdinCxx_LD_DEBUG = split
|
|---|
| 612 | +TEMPLATE_OdinCxx_DEBUG_STAGE = nul
|
|---|
| [22072] | 613 | +
|
|---|
| [22073] | 614 | +TEMPLATE_OdinBin = Odin DLL or EXE
|
|---|
| 615 | +TEMPLATE_OdinBin_EXTENDS = OdinCxx
|
|---|
| [22072] | 616 | +
|
|---|
| [22073] | 617 | +# Override DEF handler to add bldlevel info to .DEF files
|
|---|
| 618 | +TEMPLATE_OdinBin_SRC_HANDLERS = .def:def_src_handler_def
|
|---|
| [22072] | 619 | +
|
|---|
| [22073] | 620 | +TEMPLATE_OdinDLL = Odin DLL
|
|---|
| 621 | +TEMPLATE_OdinDLL_EXTENDS = OdinBin
|
|---|
| 622 | +TEMPLATE_OdinDLL_EXTENDS_BY = appending
|
|---|
| 623 | +TEMPLATE_OdinDLL_DEFS = $(TEMPLATE_OdinCxx_DEFS) __WINE__ COMCTL32UNDOC TCPV40HDRS __USE_LIBC_TCPIP
|
|---|
| 624 | +TEMPLATE_OdinDLL_LIBS = $(PATH_STAGE_LIB)/odincrt.lib \
|
|---|
| 625 | + $(PATH_STAGE_LIB)/initdll.lib
|
|---|
| 626 | +TEMPLATE_OdinDLL_LDFLAGS = -L$(PATH_GCC_LIB_TCPIPV4) # necessary for TCPV40HDRS
|
|---|
| 627 | +TEMPLATE_OdinDLL_LDFLAGS += KMK_NOIMPLIB # disable automatic implib
|
|---|
| 628 | +TEMPLATE_OdinDLL_WRCFLAGS = -p_$(target)
|
|---|
| [22072] | 629 | +
|
|---|
| [22073] | 630 | +TEMPLATE_OdinSimpleDLL = Odin DLL with ordinary entry point
|
|---|
| 631 | +TEMPLATE_OdinSimpleDLL_EXTENDS = OdinDLL
|
|---|
| 632 | +TEMPLATE_OdinSimpleDLL_EXTENDS_BY = overriding
|
|---|
| 633 | +TEMPLATE_OdinSimpleDLL_LIBS = $(PATH_STAGE_LIB)/dllentry.o $(TEMPLATE_OdinDLL_LIBS)
|
|---|
| 634 | +TEMPLATE_OdinSimpleDLL_WRCFLAGS = -p_Resource
|
|---|
| [22072] | 635 | +
|
|---|
| [22073] | 636 | +TEMPLATE_OdinCRT = OdinCRT DLL
|
|---|
| 637 | +TEMPLATE_OdinCRT_EXTENDS = OdinBin
|
|---|
| 638 | +TEMPLATE_OdinCRT_EXTENDS_BY = appending
|
|---|
| 639 | +TEMPLATE_OdinCRT_DEFS = __WINE__
|
|---|
| 640 | +TEMPLATE_OdinCRT_LIBS = $(PATH_STAGE_LIB)/initdll.lib
|
|---|
| 641 | +TEMPLATE_OdinCRT_LDFLAGS += KMK_NOIMPLIB # disable automatic implib
|
|---|
| [22072] | 642 | +
|
|---|
| [22073] | 643 | +TEMPLATE_OdinApp = Odin application
|
|---|
| 644 | +TEMPLATE_OdinApp_EXTENDS = OdinBin
|
|---|
| [22072] | 645 | +
|
|---|
| [22073] | 646 | +TEMPLATE_OdinTestApp = Odin application
|
|---|
| 647 | +TEMPLATE_OdinTestApp_EXTENDS= OdinApp
|
|---|
| 648 | +TEMPLATE_OdinTestApp_STAGE = tests/
|
|---|
| [22072] | 649 | +
|
|---|
| [22073] | 650 | +#------------------------------------------------------------------------------
|
|---|
| 651 | +# GCC Stuff
|
|---|
| 652 | +#------------------------------------------------------------------------------
|
|---|
| [22072] | 653 | +
|
|---|
| [22073] | 654 | +#------------------------------------------------------------------------------
|
|---|
| 655 | +# Other Stuff
|
|---|
| 656 | +#------------------------------------------------------------------------------
|
|---|
| [22072] | 657 | +
|
|---|
| [22073] | 658 | +#
|
|---|
| 659 | +# Include a site-specific config for local overrides
|
|---|
| 660 | +#
|
|---|
| 661 | +ifndef LOCALCFG
|
|---|
| 662 | + LOCALCFG := $(wildcard $(PATH_ROOT)/LocalConfig.kmk)
|
|---|
| 663 | + ifneq ($(LOCALCFG),)
|
|---|
| 664 | + include $(LOCALCFG)
|
|---|
| 665 | + endif
|
|---|
| 666 | +endif
|
|---|
| [22072] | 667 | +
|
|---|
| [22073] | 668 | +#------------------------------------------------------------------------------
|
|---|
| 669 | +# Post-processing
|
|---|
| 670 | +#------------------------------------------------------------------------------
|
|---|
| [22072] | 671 | +
|
|---|
| [22073] | 672 | +ifeq ($(PATH_TOOL_ALP),)
|
|---|
| 673 | +ifneq ($(PATH_SDK_OS2TK4),)
|
|---|
| 674 | +PATH_TOOL_ALP := $(PATH_SDK_OS2TK4)/bin/alp.exe
|
|---|
| [22072] | 675 | +else
|
|---|
| [22073] | 676 | +PATH_TOOL_ALP := alp.exe
|
|---|
| 677 | +endif
|
|---|
| 678 | +endif
|
|---|
| [22072] | 679 | +
|
|---|
| [22073] | 680 | +ifneq ($(PATH_SDK_OS2TK4),)
|
|---|
| [22072] | 681 | +#
|
|---|
| [22073] | 682 | +# We can't add Toolkit includes in _INCS (it will casuse then to be searched
|
|---|
| 683 | +# before GCC headers and lead to conflicts), so use -idirafter.
|
|---|
| 684 | +#
|
|---|
| 685 | +TEMPLATE_OdinCxx_CFLAGS += -idirafter $(PATH_SDK_OS2TK4)/h
|
|---|
| 686 | +TEMPLATE_OdinCxx_CXXFLAGS += -idirafter $(PATH_SDK_OS2TK4)/h
|
|---|
| 687 | +endif
|
|---|
| 688 | diff --git a/Makefile.kmk b/Makefile.kmk
|
|---|
| 689 | index 196c17a..3b13f74 100644
|
|---|
| 690 | --- a/Makefile.kmk
|
|---|
| 691 | +++ b/Makefile.kmk
|
|---|
| 692 | @@ -1,15 +1,15 @@
|
|---|
| [22072] | 693 | -## @file
|
|---|
| [22073] | 694 | -# Top-level makefile
|
|---|
| [22072] | 695 | -#
|
|---|
| 696 | -
|
|---|
| [22073] | 697 | -SUB_DEPTH = .
|
|---|
| [22072] | 698 | -include $(KBUILD_PATH)/subheader.kmk
|
|---|
| 699 | -
|
|---|
| 700 | -#
|
|---|
| [22073] | 701 | -# Include sub-makefiles.
|
|---|
| 702 | -#
|
|---|
| 703 | -include $(PATH_SUB_CURRENT)/lib/Makefile.kmk
|
|---|
| 704 | -include $(PATH_SUB_CURRENT)/tools/Makefile.kmk
|
|---|
| 705 | -include $(PATH_SUB_CURRENT)/src/Makefile.kmk
|
|---|
| [22072] | 706 | -
|
|---|
| 707 | -include $(FILE_KBUILD_SUB_FOOTER)
|
|---|
| 708 | +## @file
|
|---|
| [22073] | 709 | +# Top-level makefile
|
|---|
| [22072] | 710 | +#
|
|---|
| 711 | +
|
|---|
| [22073] | 712 | +SUB_DEPTH = .
|
|---|
| [22072] | 713 | +include $(KBUILD_PATH)/subheader.kmk
|
|---|
| 714 | +
|
|---|
| 715 | +#
|
|---|
| [22073] | 716 | +# Include sub-makefiles.
|
|---|
| [22072] | 717 | +#
|
|---|
| [22073] | 718 | +include $(PATH_SUB_CURRENT)/lib/Makefile.kmk
|
|---|
| 719 | +include $(PATH_SUB_CURRENT)/tools/Makefile.kmk
|
|---|
| 720 | +include $(PATH_SUB_CURRENT)/src/Makefile.kmk
|
|---|
| [22072] | 721 | +
|
|---|
| 722 | +include $(FILE_KBUILD_SUB_FOOTER)
|
|---|