| [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
|
|---|
| 10 | KBUILD_SRC_HANDLERS += .orc:def_src_handler_wrc
|
|---|
| 11 | define def_src_handler_wrc
|
|---|
| 12 | local type := WRC
|
|---|
| 13 | $(kb-src-one 2)
|
|---|
| 14 | endef
|
|---|
| 15 |
|
|---|
| [21749] | 16 | # Override handler for .asm files to compile them with the MASM-compilant tool
|
|---|
| 17 | KBUILD_SRC_HANDLERS := .asm:def_src_handler_masm $(KBUILD_SRC_HANDLERS)
|
|---|
| 18 | define def_src_handler_masm
|
|---|
| 19 | local type := $(if $(TOOL_$(tool)_COMPILE_MASM_CMDS),MASM,AS)
|
|---|
| 20 | $(kb-src-one 2)
|
|---|
| 21 | endef
|
|---|
| 22 |
|
|---|
| [21690] | 23 | #------------------------------------------------------------------------------
|
|---|
| [21746] | 24 | # Tools
|
|---|
| 25 | #------------------------------------------------------------------------------
|
|---|
| 26 |
|
|---|
| 27 | # Add support for Wine RC to the GCC compiler
|
|---|
| 28 | TOOL_GXX3OMF_WRC = $(PATH_STAGE_BIN)/winerc.exe
|
|---|
| [21749] | 29 | TOOL_GXX3OMF_WRCOBJSUFF = $(TOOL_GXX3OMF_COBJSUFF)
|
|---|
| [21746] | 30 | TOOL_GXX3OMF_COMPILE_WRC_OUTPUT = $(outbase).orc.s
|
|---|
| 31 | TOOL_GXX3OMF_COMPILE_WRC_DEPEND =
|
|---|
| 32 | TOOL_GXX3OMF_COMPILE_WRC_DEPORD =
|
|---|
| 33 | define 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] | 43 | endef
|
|---|
| 44 |
|
|---|
| [21749] | 45 | TOOL_GXX3OMF_MASM = $(firstword $(PATH_TOOL_ALP) alp.exe)
|
|---|
| 46 | TOOL_GXX3OMF_MASMFLAGS = -Mb
|
|---|
| 47 | TOOL_GXX3OMF_COMPILE_MASM_OUTPUT = $(outbase).lst
|
|---|
| 48 | TOOL_GXX3OMF_COMPILE_MASM_DEPEND =
|
|---|
| 49 | TOOL_GXX3OMF_COMPILE_MASM_DEPORD =
|
|---|
| 50 | define 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)
|
|---|
| 57 | endef
|
|---|
| 58 |
|
|---|
| [21746] | 59 | #------------------------------------------------------------------------------
|
|---|
| [21690] | 60 | # Common libraries referenced by components
|
|---|
| 61 | #------------------------------------------------------------------------------
|
|---|
| 62 |
|
|---|
| 63 | #------------------------------------------------------------------------------
|
|---|
| 64 | # General Stuff
|
|---|
| 65 | #------------------------------------------------------------------------------
|
|---|
| 66 |
|
|---|
| [21733] | 67 | TEMPLATE_OdinCxx = Odin C/C++ sources
|
|---|
| [21695] | 68 | TEMPLATE_OdinCxx_TOOL = GXX3OMF
|
|---|
| [21736] | 69 | TEMPLATE_OdinCxx_INCS = $(PATH_ROOT)/include/win $(PATH_ROOT)/include $(PATH_ROOT)/include/incl_gcc
|
|---|
| [21695] | 70 | TEMPLATE_OdinCxx_DEFS = __WIN32OS2__ __WINE__ __i386__ TCPV40HDRS COMCTL32UNDOC
|
|---|
| 71 |
|
|---|
| 72 | TEMPLATE_OdinCRT = OdinCRT library
|
|---|
| 73 | TEMPLATE_OdinCRT_EXTENDS = OdinCxx
|
|---|
| 74 | TEMPLATE_OdinCRT_EXTENDS_BY = overriding
|
|---|
| 75 | TEMPLATE_OdinCRT_DEFS = __WIN32OS2__ __WINE__ __i386__
|
|---|
| 76 |
|
|---|
| 77 | TEMPLATE_OdinCRT = Win32 application
|
|---|
| 78 | TEMPLATE_OdinCRT_EXTENDS = OdinCxx
|
|---|
| 79 | TEMPLATE_OdinCRT_EXTENDS_BY = overriding
|
|---|
| 80 | TEMPLATE_OdinCRT_DEFS = __WIN32OS2__ __i386__
|
|---|
| 81 |
|
|---|
| [21733] | 82 | TEMPLATE_OdinCxxDLL = Odin C/C++ DLL
|
|---|
| 83 | TEMPLATE_OdinCxxDLL_EXTENDS = OdinCxx
|
|---|
| 84 | TEMPLATE_OdinCxxDLL_EXTENDS_BY = overriding
|
|---|
| 85 | TEMPLATE_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 | #
|
|---|
| 98 | ifndef LOCALCFG
|
|---|
| 99 | LOCALCFG := $(wildcard $(PATH_ROOT)/LocalConfig.kmk)
|
|---|
| 100 | ifneq ($(LOCALCFG),)
|
|---|
| 101 | include $(LOCALCFG)
|
|---|
| 102 | endif
|
|---|
| 103 | endif
|
|---|