blob: e380222d70702ecd28a9a21c8c1f8b45fcaa9f48 [file] [log] [blame]
# set default value for TARGETOS if is it not defined
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)
BUILDTOOLS=x86-gcc-4.6.3
endif
# Location of RTS root.
UMLRTS_ROOT ?= ./umlrt.rts
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 = TopMain.cc Resource.cc Computer.cc ResourceManager.cc WordProcessorApp.cc Application.cc USBProtocol.cc USBDeviceDriver.cc USBPrinterDriver.cc USBStorageDriver.cc LocalPrinter.cc ExtMassStorage.cc AppControl.cc User.cc OSCommand.cc ComputerSystem.cc Top.cc TopControllers.cc
OBJS = $(subst $(CC_EXT),$(OBJ_EXT),$(SRCS))
MAIN = TopMain$(EXE_EXT)
all: $(MAIN)
$(MAIN): $(OBJS) $(UMLRTS_ROOT)/lib/$(CONFIG)/$(LIB_PRFX)rts$(LIB_EXT)
$(LD) $(LD_FLAGS) $(OBJS) $(LD_PATHS) $(LD_LIBS) $(LD_OUT)$@
%$(OBJ_EXT) : %$(CC_EXT)
$(CC) $< $(CC_FLAGS) $(CC_DEFINES) $(CC_INCLUDES) $(CC_OUT)$@
clean :
@echo $(RM) main$(EXE_EXT) *$(OBJ_EXT) *$(DEP_EXT) $(DBG_FILES)
@$(RM) main$(EXE_EXT) *$(OBJ_EXT) *$(DEP_EXT) $(DBG_FILES)
.PHONY: all clean