blob: 4b0deaf820bb2380c8bfc0b299a7c45899817029 [file]
################################################
# Makefile
################################################
ifeq ($(TARGETOS), )
$(warning warning: TARGETOS not defined. Choosing linux)
TARGETOS=linux
endif
# set default value for BUILDTOOLS if is it not defined
ifeq ($(BUILDTOOLS), )
$(warning warning: BUILDTOOLS not defined. Choosing x86-gcc-4.6.3-debug)
BUILDTOOLS=x86-gcc-4.6.3-debug
endif
# Location of RTS root.
UMLRTS_ROOT ?= ../../../rts
# This can be overridden while invoking make with TARGETOS=xxx, BUILDTOOLS=yyy.
CONFIG=$(TARGETOS).$(BUILDTOOLS)
# Destination directory for the RTS services library.
LIBDEST=$(UMLRTS_ROOT)/lib/$(CONFIG)
include $(UMLRTS_ROOT)/build/host/host.mk
include $(UMLRTS_ROOT)/build/buildtools/$(BUILDTOOLS)/buildtools.mk
LD_PATHS=$(LIBDEST)
CC_INCLUDES+=$(UMLRTS_ROOT)/include
CC_DEFINES:=$(foreach d, $(CC_DEFINES), $(CC_DEF)$d)
CC_INCLUDES:=$(foreach i, $(CC_INCLUDES), $(CC_INC)$i)
LD_LIBS:=$(foreach i, $(LD_LIBS), $(LD_LIB)$i)
LD_PATHS:=$(foreach i, $(LD_PATHS), $(LD_LIBPATH)$i)
SRCS = $(wildcard *.cc)
OBJS = $(subst $(CC_EXT),$(OBJ_EXT),$(SRCS))
MAIN = main$(EXE_EXT)
all: $(MAIN)
#TODO later add target $(UMLRTS_ROOT)/lib/$(CONFIG)/$(LIB_PRFX)rts$(LIB_EXT)
$(MAIN): $(OBJS)
$(LD) $(LD_FLAGS) $(OBJS) $(LD_PATHS) $(LD_LIBS) $(LD_OUT)$@
# objects rule
%$(OBJ_EXT) : %$(CC_EXT)
$(CC) $< $(CC_FLAGS) $(CC_DEFINES) $(CC_INCLUDES) $(CC_OUT)$@
clean :
-@$(RM) main$(EXE_EXT) *$(OBJ_EXT) *$(DEP_EXT) $(DBG_FILES) 2> $(NUL)
@echo $(RM) main$(EXE_EXT) *$(OBJ_EXT) *$(DEP_EXT) $(DBG_FILES)
info:
@echo SRCS = $(SRCS)
@echo OBJS = $(OBJS)
@echo CC = $(CC) "<file$(CC_EXT)>" $(CC_FLAGS) $(CC_DEFINES) $(CC_INCLUDES) $(CC_OUT)"<file$(OBJ_EXT)>"
@echo LD = $(LD) $(LD_FLAGS) $(OBJS) $(LD_PATHS) $(LD_LIBS) $(LD_OUT)$(MAIN)