Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
mbed-client/test/lwm2mtestapplication/Makefile
- Committer:
- ram54288
- Date:
- 2017-05-14
- Revision:
- 0:a7a43371b306
File content as of revision 0:a7a43371b306:
# Makefile for LWM2M Test Application
#
# Define compiler toolchain with PLATFORM variable
# Example
# make PLATFORM=arm-linux-gnueabi-
#
ROOT := ../../../..
LWM2M_ROOT := $(ROOT)/lwm2m
ROUTER_ROOT := $(ROOT)/Applications/NanoRouter
VERSION := $(shell cd $(ROOT) && git describe --tags --long --dirty --always)
# Specify list of sources to build
LWM2M_SRC := \
main.cpp \
cmd_commands.cpp \
cmd_lwm2m.cpp \
lwm2mtest.cpp \
CXX_SRCS += $(LWM2M_SRC)
HAL_SRCS += \
linux/arm_hal_interrupt.c \
linux/arm_hal_timer.c \
linux/ccm_mutex.c \
SRCS += $(addprefix $(ROOT)/Platforms/,$(HAL_SRCS))
EXE = lwm2mtestapplication
override CFLAGS += -DENDPOINT -DUSE_LINUX
override CFLAGS += -Wall -Wextra
override CFLAGS += -g
override CFLAGS += -pthread
override CFLAGS += -std=gnu99
override CFLAGS += -D'MEM_ALLOC=malloc' -D'MEM_FREE=free'
override CFLAGS += -DVERSION='"$(VERSION)"'
override CXXFLAGS += -I$(ROOT) -I$(NSDL_DIR)/nsdl-c -I$(LIBSERVICE_DIR)/libService -I$(ROOT)/nanostack/nanostack -I$(ROOT)/event-loop/nanostack-event-loop
override CXXFLAGS += -I$(LWM2M_ROOT) -I$(LWM2M_ROOT)/lwm2m-client
override CXXFLAGS += -DTARGET_LIKE_LINUX
override CXXFLAGS += -DHAVE_DEBUG
override CXXFLAGS += -g
# Generate dependency files when building
override CFLAGS += -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)"
# Build with coverage
ifeq ($(COVERAGE), 1)
override CFLAGS += --coverage
override CXXFLAGS += --coverage
endif
#
# Libraries
#
NSDL_DIR := $(ROOT)/nsdl-c
LWM2M_DIR := $(ROOT)/lwm2m/lwm2m-client
MBEDTLS_DIR := $(ROOT)/mbedtls/library
LIBSERVICE_DIR := $(ROOT)/libService
override CFLAGS += -I$(ROOT) -I$(NSDL_DIR)/nsdl-c -I$(LIBSERVICE_DIR)/libService -I$(ROOT)/nanostack/nanostack -I$(ROOT)/event-loop/nanostack-event-loop
override CFLAGS += -I$(ROOT)/nanostack/Core/include -I$(ROOT)/Platforms/linux/include -I$(ROOT)/nanostack/HAL/common
override CFLAGS += -I$(ROUTER_ROOT)/include
override CFLAGS += -I$(ROOT)/Platforms/linux/include -I$(ROOT)/Drivers/linux -I$(ROOT)/Boards/linux
LDFLAGS += -D_REENTRANT
LDFLAGS += -L$(ROOT)/event-loop -leventOS_gcc
LDFLAGS += -L$(LWM2M_DIR) -lmbedclient_gcc
LDFLAGS += -L$(NSDL_DIR) -lnsdl_gcc
LDFLAGS += -L$(LIBSERVICE_DIR) -lCmdline_gcc -lservice_gcc
LDFLAGS += -L$(MBEDTLS_DIR) -lmbedtls -lmbedx509 -lmbedcrypto
LDFLAGS += -lpthread
# Main build goal, specify here before dependecy parsing
.DEFAULT_GOAL: all
.PHONY: all
all: $(EXE)
# Create a list of objects and depencies to build
OBJS := $(SRCS:.c=.o)
CXX_OBJS := $(CXX_SRCS:.cpp=.o)
DEPS += $$(SRCS:.c=.d) $$(CXX_SRCS:.cpp=.d)
# Include depencies
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(DEPS)),)
-include $(DEPS)
endif
endif
# Linking
$(EXE): $(OBJS) $(CXX_OBJS)
@echo 'Building target: $@'
g++ $(CXXFLAGS) $(CFLAGS) -o $@ $(OBJS) $(CXX_OBJS) $(LDFLAGS)
@echo 'Finished building target: $@'
@echo ' '
.PHONY: clean
clean:
-$(RM) $(OBJS) $(CXX_OBJS) $(DEPS) $(EXE)