A metronome using the FRDM K64F board

Committer:
ram54288
Date:
Sun May 14 18:40:18 2017 +0000
Revision:
0:a7a43371b306
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ram54288 0:a7a43371b306 1 # Makefile for LWM2M Test Application
ram54288 0:a7a43371b306 2 #
ram54288 0:a7a43371b306 3 # Define compiler toolchain with PLATFORM variable
ram54288 0:a7a43371b306 4 # Example
ram54288 0:a7a43371b306 5 # make PLATFORM=arm-linux-gnueabi-
ram54288 0:a7a43371b306 6 #
ram54288 0:a7a43371b306 7
ram54288 0:a7a43371b306 8 ROOT := ../../../..
ram54288 0:a7a43371b306 9 LWM2M_ROOT := $(ROOT)/lwm2m
ram54288 0:a7a43371b306 10 ROUTER_ROOT := $(ROOT)/Applications/NanoRouter
ram54288 0:a7a43371b306 11
ram54288 0:a7a43371b306 12 VERSION := $(shell cd $(ROOT) && git describe --tags --long --dirty --always)
ram54288 0:a7a43371b306 13
ram54288 0:a7a43371b306 14 # Specify list of sources to build
ram54288 0:a7a43371b306 15 LWM2M_SRC := \
ram54288 0:a7a43371b306 16 main.cpp \
ram54288 0:a7a43371b306 17 cmd_commands.cpp \
ram54288 0:a7a43371b306 18 cmd_lwm2m.cpp \
ram54288 0:a7a43371b306 19 lwm2mtest.cpp \
ram54288 0:a7a43371b306 20
ram54288 0:a7a43371b306 21 CXX_SRCS += $(LWM2M_SRC)
ram54288 0:a7a43371b306 22
ram54288 0:a7a43371b306 23 HAL_SRCS += \
ram54288 0:a7a43371b306 24 linux/arm_hal_interrupt.c \
ram54288 0:a7a43371b306 25 linux/arm_hal_timer.c \
ram54288 0:a7a43371b306 26 linux/ccm_mutex.c \
ram54288 0:a7a43371b306 27
ram54288 0:a7a43371b306 28 SRCS += $(addprefix $(ROOT)/Platforms/,$(HAL_SRCS))
ram54288 0:a7a43371b306 29
ram54288 0:a7a43371b306 30 EXE = lwm2mtestapplication
ram54288 0:a7a43371b306 31
ram54288 0:a7a43371b306 32 override CFLAGS += -DENDPOINT -DUSE_LINUX
ram54288 0:a7a43371b306 33 override CFLAGS += -Wall -Wextra
ram54288 0:a7a43371b306 34 override CFLAGS += -g
ram54288 0:a7a43371b306 35 override CFLAGS += -pthread
ram54288 0:a7a43371b306 36 override CFLAGS += -std=gnu99
ram54288 0:a7a43371b306 37 override CFLAGS += -D'MEM_ALLOC=malloc' -D'MEM_FREE=free'
ram54288 0:a7a43371b306 38
ram54288 0:a7a43371b306 39 override CFLAGS += -DVERSION='"$(VERSION)"'
ram54288 0:a7a43371b306 40
ram54288 0:a7a43371b306 41 override CXXFLAGS += -I$(ROOT) -I$(NSDL_DIR)/nsdl-c -I$(LIBSERVICE_DIR)/libService -I$(ROOT)/nanostack/nanostack -I$(ROOT)/event-loop/nanostack-event-loop
ram54288 0:a7a43371b306 42 override CXXFLAGS += -I$(LWM2M_ROOT) -I$(LWM2M_ROOT)/lwm2m-client
ram54288 0:a7a43371b306 43 override CXXFLAGS += -DTARGET_LIKE_LINUX
ram54288 0:a7a43371b306 44 override CXXFLAGS += -DHAVE_DEBUG
ram54288 0:a7a43371b306 45 override CXXFLAGS += -g
ram54288 0:a7a43371b306 46 # Generate dependency files when building
ram54288 0:a7a43371b306 47 override CFLAGS += -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)"
ram54288 0:a7a43371b306 48
ram54288 0:a7a43371b306 49 # Build with coverage
ram54288 0:a7a43371b306 50 ifeq ($(COVERAGE), 1)
ram54288 0:a7a43371b306 51 override CFLAGS += --coverage
ram54288 0:a7a43371b306 52 override CXXFLAGS += --coverage
ram54288 0:a7a43371b306 53 endif
ram54288 0:a7a43371b306 54
ram54288 0:a7a43371b306 55 #
ram54288 0:a7a43371b306 56 # Libraries
ram54288 0:a7a43371b306 57 #
ram54288 0:a7a43371b306 58 NSDL_DIR := $(ROOT)/nsdl-c
ram54288 0:a7a43371b306 59 LWM2M_DIR := $(ROOT)/lwm2m/lwm2m-client
ram54288 0:a7a43371b306 60 MBEDTLS_DIR := $(ROOT)/mbedtls/library
ram54288 0:a7a43371b306 61 LIBSERVICE_DIR := $(ROOT)/libService
ram54288 0:a7a43371b306 62 override CFLAGS += -I$(ROOT) -I$(NSDL_DIR)/nsdl-c -I$(LIBSERVICE_DIR)/libService -I$(ROOT)/nanostack/nanostack -I$(ROOT)/event-loop/nanostack-event-loop
ram54288 0:a7a43371b306 63 override CFLAGS += -I$(ROOT)/nanostack/Core/include -I$(ROOT)/Platforms/linux/include -I$(ROOT)/nanostack/HAL/common
ram54288 0:a7a43371b306 64 override CFLAGS += -I$(ROUTER_ROOT)/include
ram54288 0:a7a43371b306 65 override CFLAGS += -I$(ROOT)/Platforms/linux/include -I$(ROOT)/Drivers/linux -I$(ROOT)/Boards/linux
ram54288 0:a7a43371b306 66 LDFLAGS += -D_REENTRANT
ram54288 0:a7a43371b306 67 LDFLAGS += -L$(ROOT)/event-loop -leventOS_gcc
ram54288 0:a7a43371b306 68 LDFLAGS += -L$(LWM2M_DIR) -lmbedclient_gcc
ram54288 0:a7a43371b306 69 LDFLAGS += -L$(NSDL_DIR) -lnsdl_gcc
ram54288 0:a7a43371b306 70 LDFLAGS += -L$(LIBSERVICE_DIR) -lCmdline_gcc -lservice_gcc
ram54288 0:a7a43371b306 71 LDFLAGS += -L$(MBEDTLS_DIR) -lmbedtls -lmbedx509 -lmbedcrypto
ram54288 0:a7a43371b306 72 LDFLAGS += -lpthread
ram54288 0:a7a43371b306 73
ram54288 0:a7a43371b306 74
ram54288 0:a7a43371b306 75 # Main build goal, specify here before dependecy parsing
ram54288 0:a7a43371b306 76 .DEFAULT_GOAL: all
ram54288 0:a7a43371b306 77 .PHONY: all
ram54288 0:a7a43371b306 78 all: $(EXE)
ram54288 0:a7a43371b306 79
ram54288 0:a7a43371b306 80 # Create a list of objects and depencies to build
ram54288 0:a7a43371b306 81 OBJS := $(SRCS:.c=.o)
ram54288 0:a7a43371b306 82 CXX_OBJS := $(CXX_SRCS:.cpp=.o)
ram54288 0:a7a43371b306 83 DEPS += $$(SRCS:.c=.d) $$(CXX_SRCS:.cpp=.d)
ram54288 0:a7a43371b306 84
ram54288 0:a7a43371b306 85 # Include depencies
ram54288 0:a7a43371b306 86 ifneq ($(MAKECMDGOALS),clean)
ram54288 0:a7a43371b306 87 ifneq ($(strip $(DEPS)),)
ram54288 0:a7a43371b306 88 -include $(DEPS)
ram54288 0:a7a43371b306 89 endif
ram54288 0:a7a43371b306 90 endif
ram54288 0:a7a43371b306 91
ram54288 0:a7a43371b306 92 # Linking
ram54288 0:a7a43371b306 93 $(EXE): $(OBJS) $(CXX_OBJS)
ram54288 0:a7a43371b306 94 @echo 'Building target: $@'
ram54288 0:a7a43371b306 95 g++ $(CXXFLAGS) $(CFLAGS) -o $@ $(OBJS) $(CXX_OBJS) $(LDFLAGS)
ram54288 0:a7a43371b306 96 @echo 'Finished building target: $@'
ram54288 0:a7a43371b306 97 @echo ' '
ram54288 0:a7a43371b306 98
ram54288 0:a7a43371b306 99 .PHONY: clean
ram54288 0:a7a43371b306 100 clean:
ram54288 0:a7a43371b306 101 -$(RM) $(OBJS) $(CXX_OBJS) $(DEPS) $(EXE)