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