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

Last change on this file since 21749 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
RevLine 
[21690]1## @file
2# Global Project Configuration File
3#
4
5#------------------------------------------------------------------------------
6# Global definitions
7#------------------------------------------------------------------------------
8
[21746]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
[21749]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
[21690]23#------------------------------------------------------------------------------
[21746]24# Tools
25#------------------------------------------------------------------------------
26
27# Add support for Wine RC to the GCC compiler
28TOOL_GXX3OMF_WRC = $(PATH_STAGE_BIN)/winerc.exe
[21749]29TOOL_GXX3OMF_WRCOBJSUFF = $(TOOL_GXX3OMF_COBJSUFF)
[21746]30TOOL_GXX3OMF_COMPILE_WRC_OUTPUT = $(outbase).orc.s
31TOOL_GXX3OMF_COMPILE_WRC_DEPEND =
32TOOL_GXX3OMF_COMPILE_WRC_DEPORD =
33define TOOL_GXX3OMF_COMPILE_WRC_CMDS
[21748]34 $(QUIET)$(TOOL_GXX3OMF_WRC) -s \
[21747]35 $(flags) $(addprefix -I, $(subst /,\\,$(incs))) $(addprefix -D, $(defs))\
36 $(subst /,\\,$(abspath $(source))) \
37 -o $(TOOL_GXX3OMF_COMPILE_WRC_OUTPUT)
[21748]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) -
[21747]42 $(subst $(source),$(TOOL_GXX3OMF_COMPILE_WRC_OUTPUT),$(TOOL_GXX3OMF_COMPILE_AS_CMDS))
[21746]43endef
44
[21749]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
[21746]59#------------------------------------------------------------------------------
[21690]60# Common libraries referenced by components
61#------------------------------------------------------------------------------
62
63#------------------------------------------------------------------------------
64# General Stuff
65#------------------------------------------------------------------------------
66
[21733]67TEMPLATE_OdinCxx = Odin C/C++ sources
[21695]68TEMPLATE_OdinCxx_TOOL = GXX3OMF
[21736]69TEMPLATE_OdinCxx_INCS = $(PATH_ROOT)/include/win $(PATH_ROOT)/include $(PATH_ROOT)/include/incl_gcc
[21695]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
[21733]82TEMPLATE_OdinCxxDLL = Odin C/C++ DLL
83TEMPLATE_OdinCxxDLL_EXTENDS = OdinCxx
84TEMPLATE_OdinCxxDLL_EXTENDS_BY = overriding
85TEMPLATE_OdinCxxDLL_LIBS = $(TEMPLATE_OdinCxx_LIBS) $(INSTTARGET_initdll)
86
[21690]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.