source: branches/gcc-kmk/Config.kmk@ 21753

Last change on this file since 21753 was 21749, checked in by dmik, 14 years ago

Add handler to compile .asm files with the MASM-compilant tool.

This is necessary to overwrite GAS used by default for .asm files in the
GCC toolschains.

  • Property svn:eol-style set to native
File size: 3.8 KB
Line 
1## @file
2# Global Project Configuration File
3#
4
5#------------------------------------------------------------------------------
6# Global definitions
7#------------------------------------------------------------------------------
8
9# Handler for Wine RC (.orc) source files
10KBUILD_SRC_HANDLERS += .orc:def_src_handler_wrc
11define def_src_handler_wrc
12local type := WRC
13 $(kb-src-one 2)
14endef
15
16# Override handler for .asm files to compile them with the MASM-compilant tool
17KBUILD_SRC_HANDLERS := .asm:def_src_handler_masm $(KBUILD_SRC_HANDLERS)
18define def_src_handler_masm
19local type := $(if $(TOOL_$(tool)_COMPILE_MASM_CMDS),MASM,AS)
20 $(kb-src-one 2)
21endef
22
23#------------------------------------------------------------------------------
24# Tools
25#------------------------------------------------------------------------------
26
27# Add support for Wine RC to the GCC compiler
28TOOL_GXX3OMF_WRC = $(PATH_STAGE_BIN)/winerc.exe
29TOOL_GXX3OMF_WRCOBJSUFF = $(TOOL_GXX3OMF_COBJSUFF)
30TOOL_GXX3OMF_COMPILE_WRC_OUTPUT = $(outbase).orc.s
31TOOL_GXX3OMF_COMPILE_WRC_DEPEND =
32TOOL_GXX3OMF_COMPILE_WRC_DEPORD =
33define TOOL_GXX3OMF_COMPILE_WRC_CMDS
34 $(QUIET)$(TOOL_GXX3OMF_WRC) -s \
35 $(flags) $(addprefix -I, $(subst /,\\,$(incs))) $(addprefix -D, $(defs))\
36 $(subst /,\\,$(abspath $(source))) \
37 -o $(TOOL_GXX3OMF_COMPILE_WRC_OUTPUT)
38 $(QUIET)$(TOOL_GXX3OMF_CC) -E \
39 $(flags) $(addprefix -I, $(incs)) -I . $(addprefix -D, $(defs))\
40 -x c $(abspath $(source)) \
41 | $(DEP_PRE) -f -s -o $(dep) -t $(obj) -
42 $(subst $(source),$(TOOL_GXX3OMF_COMPILE_WRC_OUTPUT),$(TOOL_GXX3OMF_COMPILE_AS_CMDS))
43endef
44
45TOOL_GXX3OMF_MASM = $(firstword $(PATH_TOOL_ALP) alp.exe)
46TOOL_GXX3OMF_MASMFLAGS = -Mb
47TOOL_GXX3OMF_COMPILE_MASM_OUTPUT = $(outbase).lst
48TOOL_GXX3OMF_COMPILE_MASM_DEPEND =
49TOOL_GXX3OMF_COMPILE_MASM_DEPORD =
50define TOOL_GXX3OMF_COMPILE_MASM_CMDS
51 $(QUIET)$(TOOL_GXX3OMF_MASM)\
52 $(flags) $(addsuffix /,$(addprefix -I:, $(incs))) $(addprefix -D:, $(defs))\
53 $(source)\
54 -Fl:$(outbase).lst\
55 -Fd:$(dep)\
56 -Fo:$(obj)
57endef
58
59#------------------------------------------------------------------------------
60# Common libraries referenced by components
61#------------------------------------------------------------------------------
62
63#------------------------------------------------------------------------------
64# General Stuff
65#------------------------------------------------------------------------------
66
67TEMPLATE_OdinCxx = Odin C/C++ sources
68TEMPLATE_OdinCxx_TOOL = GXX3OMF
69TEMPLATE_OdinCxx_INCS = $(PATH_ROOT)/include/win $(PATH_ROOT)/include $(PATH_ROOT)/include/incl_gcc
70TEMPLATE_OdinCxx_DEFS = __WIN32OS2__ __WINE__ __i386__ TCPV40HDRS COMCTL32UNDOC
71
72TEMPLATE_OdinCRT = OdinCRT library
73TEMPLATE_OdinCRT_EXTENDS = OdinCxx
74TEMPLATE_OdinCRT_EXTENDS_BY = overriding
75TEMPLATE_OdinCRT_DEFS = __WIN32OS2__ __WINE__ __i386__
76
77TEMPLATE_OdinCRT = Win32 application
78TEMPLATE_OdinCRT_EXTENDS = OdinCxx
79TEMPLATE_OdinCRT_EXTENDS_BY = overriding
80TEMPLATE_OdinCRT_DEFS = __WIN32OS2__ __i386__
81
82TEMPLATE_OdinCxxDLL = Odin C/C++ DLL
83TEMPLATE_OdinCxxDLL_EXTENDS = OdinCxx
84TEMPLATE_OdinCxxDLL_EXTENDS_BY = overriding
85TEMPLATE_OdinCxxDLL_LIBS = $(TEMPLATE_OdinCxx_LIBS) $(INSTTARGET_initdll)
86
87#------------------------------------------------------------------------------
88# GCC Stuff
89#------------------------------------------------------------------------------
90
91#------------------------------------------------------------------------------
92# Other Stuff
93#------------------------------------------------------------------------------
94
95#
96# Include a site-specific config for local overrides
97#
98ifndef LOCALCFG
99 LOCALCFG := $(wildcard $(PATH_ROOT)/LocalConfig.kmk)
100 ifneq ($(LOCALCFG),)
101 include $(LOCALCFG)
102 endif
103endif
Note: See TracBrowser for help on using the repository browser.