############################################################################ # nuttx-configs/Make.defs # # Copyright (C) 2011 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in # the documentation and/or other materials provided with the # distribution. # 3. Neither the name NuttX nor the names of its contributors may be # used to endorse or promote products derived from this software # without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS # OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # ############################################################################ include $(TOPDIR)/.config include $(TOPDIR)/tools/Config.mk CC = ${C_COMPILER} CXX = ${CXX_COMPILER} CPP = ${C_COMPILER} -E LD = ${LD} AR = ${CMAKE_AR} rcs NM = ${CMAKE_NM} OBJCOPY = ${CMAKE_OBJCOPY} OBJDUMP = ${CMAKE_OBJDUMP} # Include paths with Cygwin path conversion ifneq (, $(findstring CYGWIN, $(shell uname))) WINTOOL = y PX4INCLUDES = -I"$(shell cygpath -w ${PX4_SOURCE_DIR}/src/include)" ARCHINCLUDES = $(PX4INCLUDES) -I. -isystem "$(shell cygpath -w $(TOPDIR)/include)" ARCHXXINCLUDES = $(ARCHINCLUDES) -isystem "$(shell cygpath -w $(TOPDIR)/include/cxx)" else PX4INCLUDES = -I${PX4_SOURCE_DIR}/src/include ARCHINCLUDES = $(PX4INCLUDES) -I. -isystem $(TOPDIR)/include ARCHXXINCLUDES = $(ARCHINCLUDES) -isystem $(TOPDIR)/include/cxx endif # Windows toolchain (MSYS & Cygwin) symbolic link handling ifeq ($(WINTOOL),y) DIRLINK = $(TOPDIR)/tools/copydir.sh DIRUNLINK = $(TOPDIR)/tools/unlink.sh MKDEP = $(TOPDIR)/tools/mknulldeps.sh endif CFLAGS = -Os -g2 ${CMAKE_C_FLAGS} $(ARCHINCLUDES) \ -Wno-bad-function-cast \ -Wno-cpp \ -Wno-float-equal \ -Wno-implicit-fallthrough \ -Wno-implicit-function-declaration \ -Wno-logical-op \ -Wno-maybe-uninitialized \ -Wno-missing-declarations \ -Wno-missing-field-initializers \ -Wno-missing-prototypes \ -Wno-nested-externs \ -Wno-nonnull-compare \ -Wno-old-style-declaration \ -Wno-sign-compare \ -Wno-type-limits CXXFLAGS = -Os -g2 ${CMAKE_CXX_FLAGS} $(ARCHXXINCLUDES) \ -fcheck-new \ -fno-builtin \ -Wno-double-promotion \ -Wno-maybe-uninitialized \ -Wno-missing-declarations AFLAGS = $(CFLAGS) -D__ASSEMBLY__