summaryrefslogtreecommitdiff
path: root/nuttx/tools/Config.mk
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-11-13 20:24:30 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-11-13 20:24:30 +0000
commita0ebf07c2fc6e680fc440d52a0e477682cd641b7 (patch)
tree5cb43aa040cf2be867ecc2af6614546eeebdde66 /nuttx/tools/Config.mk
parentc2325703f1ba2889eff8ad2ef43fb38c958931d7 (diff)
downloadnuttx-a0ebf07c2fc6e680fc440d52a0e477682cd641b7.tar.gz
nuttx-a0ebf07c2fc6e680fc440d52a0e477682cd641b7.tar.bz2
nuttx-a0ebf07c2fc6e680fc440d52a0e477682cd641b7.zip
Centralized the definition of the INCDIR script in tools/Config.mk
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5346 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/tools/Config.mk')
-rw-r--r--nuttx/tools/Config.mk81
1 files changed, 80 insertions, 1 deletions
diff --git a/nuttx/tools/Config.mk b/nuttx/tools/Config.mk
index 06a312fc5..3a0714c10 100644
--- a/nuttx/tools/Config.mk
+++ b/nuttx/tools/Config.mk
@@ -4,6 +4,9 @@
#
# Author: Richard Cochran
#
+# This file (along with $(TOPDIR)/.config) must be included by every
+# configuration-specific Make.defs file.
+#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
@@ -40,28 +43,104 @@ CONFIG_ARCH := $(patsubst "%",%,$(strip $(CONFIG_ARCH)))
CONFIG_ARCH_CHIP := $(patsubst "%",%,$(strip $(CONFIG_ARCH_CHIP)))
CONFIG_ARCH_BOARD := $(patsubst "%",%,$(strip $(CONFIG_ARCH_BOARD)))
-# Default build rules.
+# INCDIR - Convert a list of directory paths to a list of compiler include
+# directirves
+# Example: CFFLAGS += ${shell $(INCDIR) [options] "compiler" "dir1" "dir2" "dir2" ...}
+#
+# Note that the compiler string and each directory path string must quoted if
+# they contain spaces or any other characters that might get mangled by the
+# shell
+#
+# Depends on this setting passed as a make commaond line definition from the
+# toplevel Makefile:
+#
+# TOPDIR - The path to the the top level NuttX directory in the form
+# appropriate for the current build environment
+#
+# Depends on this settings defined in board-specific defconfig file installed
+# at $(TOPDIR)/.config:
+#
+# CONFIG_WINDOWS_NATIVE - Defined for a Windows native build
+
+ifeq ($(CONFIG_WINDOWS_NATIVE),y)
+ INCDIR = "$(TOPDIR)\tools\incdir.bat"
+else
+ INCDIR = "$(TOPDIR)/tools/incdir.sh"
+endif
+
+# PREPROCESS - Default macro to run the C pre-processor
+# Example: $(call PREPROCESS, in-file, out-file)
+#
+# Depends on these settings defined in board-specific Make.defs file
+# installed at $(TOPDIR)/Make.defs:
+#
+# CPP - The command to invoke the C pre-processor
+# CPPFLAGS - Options to pass to the C pre-processor
define PREPROCESS
@echo "CPP: $1->$2"
$(Q) $(CPP) $(CPPFLAGS) $1 -o $2
endef
+# COMPILE - Default macro to compile one C file
+# Example: $(call COMPILE, in-file, out-file)
+#
+# Depends on these settings defined in board-specific Make.defs file
+# installed at $(TOPDIR)/Make.defs:
+#
+# CC - The command to invoke the C compiler
+# CFLAGS - Options to pass to the C compiler
+
define COMPILE
@echo "CC: $1"
$(Q) $(CC) -c $(CFLAGS) $1 -o $2
endef
+# COMPILEXX - Default macro to compile one C++ file
+# Example: $(call COMPILEXX, in-file, out-file)
+#
+# Depends on these settings defined in board-specific Make.defs file
+# installed at $(TOPDIR)/Make.defs:
+#
+# CXX - The command to invoke the C++ compiler
+# CXXFLAGS - Options to pass to the C++ compiler
+
define COMPILEXX
@echo "CXX: $1"
$(Q) $(CXX) -c $(CXXFLAGS) $1 -o $2
endef
+# ASSEMBLE - Default macro to assemble one assembly language file
+# Example: $(call ASSEMBLE, in-file, out-file)
+#
+# Depends on these settings defined in board-specific Make.defs file
+# installed at $(TOPDIR)/Make.defs:
+#
+# CC - By default, the C compiler is used to compile assembly lagnuage
+# files
+# AFLAGS - Options to pass to the C+compiler
+
define ASSEMBLE
@echo "AS: $1"
$(Q) $(CC) -c $(AFLAGS) $1 -o $2
endef
+# ARCHIVE - Add a list of files to an archive
+# Example: $(call ARCHIVE, archive-file, "file1 file2 file3 ...")
+#
+# Note: The fileN strings may not contain spaces or characters that may be
+# interpreted strangely by the shell
+#
+# Depends on these settings defined in board-specific Make.defs file
+# installed at $(TOPDIR)/Make.defs:
+#
+# AR - The command to invoke the archiver (includes any options)
+#
+# Depends on this settings defined in board-specific defconfig file installed
+# at $(TOPDIR)/.config:
+#
+# CONFIG_WINDOWS_NATIVE - Defined for a Windows native build
+
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
define ARCHIVE
@echo "AR: $2"