📄 makefile
字号:
#########################################################################
# Following should be changed as necessary to point to 'Developer' folder
DIR_DEVELOPER_BASE = ..
#########################################################################
TARGET_COORD = HomeDemoCoordinator
TARGET_ROUTER = HomeDemoRouter
TARGET_ENDDEVICE = HomeDemoEndDevice
#########################################################################
# One of the following lines should be uncommented to select chip variant
#JENNIC_CHIP=JN5121
#JENNIC_CHIP=JN5139R1
JENNIC_CHIP=JN5139
ifndef JENNIC_CHIP
$(error You must specify a Jennic chip variant)
endif
ifeq ($(JENNIC_CHIP),JN5121)
JENNIC_PCB=DEVKIT1
else
JENNIC_PCB=DEVKIT2
endif
BASE_DIR = ../../..
export JENNIC_CHIP
export JENNIC_PCB
export BASE_DIR
BUILD_CFG = $(BASE_DIR)/Common/Build
include $(BUILD_CFG)/config.mk
STACK_BASE = $(BASE_DIR)/Chip/$(JENNIC_CHIP_FAMILY)
APP_BASE = ..
APP_SRC = $(APP_BASE)/Source
BOARDAPI_PUB = $(BOARDAPI_BASE)/Include
BOARDAPI_BLD = $(BOARDAPI_BASE)/Build
BOARDAPI_LIB = $(BOARDAPI_BASE)/Library
STACK_LIB = $(STACK_BASE)/Library
STACK_PUB = $(STACK_BASE)/Include
STACK_BLD = $(STACK_BASE)/Build
GENERAL_LIB = $(BASE_DIR)/Common/Library
GENERAL_PUB = $(BASE_DIR)/Common/Include
GENERAL_SRC = $(BASE_DIR)/Common/Source
UTILITIES_PUB = $(BASE_DIR)/Chip/Common/Include
ZIGBEE_PUB = $(BASE_DIR)/Zigbee/Include
ZIGBEE_LIB = $(BASE_DIR)/Zigbee/Library
BOARD_LIB = BoardLib_$(JENNIC_CHIP_FAMILY)
#########################################################################
FILES_COORD = $(APP_SRC)/HomeDemoController.c
FILES_ROUTER = $(APP_SRC)/HomeDemoRouter.c
FILES_ENDDEVICE = $(APP_SRC)/HomeDemoEndDevice.c
BLDOBJS_COORD = $(FILES_COORD:.c=.o)
BLDOBJS_ROUTER = $(FILES_ROUTER:.c=.o)
BLDOBJS_ENDDEVICE = $(FILES_ENDDEVICE:.c=.o)
#########################################################################
# Note: Attempting to build the Coordinator with NC TOOLS will result in
# available RAM space being exceeded
LIBFILE = $(BOARDAPI_LIB)/$(BOARD_LIB).a
LIBFILE += $(STACK_LIB)/ChipLib.a
LIBFILE += $(GENERAL_LIB)/libc.a
LIBFILE_COORD = $(ZIGBEE_LIB)/JZ_CoordLib.a $(LIBFILE)
LIBFILE_ROUTER = $(ZIGBEE_LIB)/JZ_RouterLib.a $(LIBFILE)
LIBFILE_ENDDEVICE = $(ZIGBEE_LIB)/JZ_EndDeviceLib.a $(LIBFILE)
#########################################################################
CFLAGS += -I$(BOARDAPI_PUB)
CFLAGS += -I$(GENERAL_PUB)
CFLAGS += -I$(STACK_PUB)
CFLAGS += -I$(BOARDAPI_COMMON_PUB)
CFLAGS += -I$(UTILITIES_PUB)
CFLAGS += -I$(ZIGBEE_PUB)
CFLAGS += -I$(APP_SRC)
### Uncomment for code debug (also remove -Os switch in config.mk) ####
#CFLAGS += -DGDB
#########################################################################
.PRECIOUS: %.o %.ba
#########################################################################
all: $(TARGET_COORD).bin $(TARGET_ROUTER).bin $(TARGET_ENDDEVICE).bin
#########################################################################
%.o: %.c
$(CC) -c -o $*.o $(CFLAGS) $<
%.o: %.S
$(CC) -c -o $*.o $(ASFLAGS) $<
%.bin: %.ba
$(OBJCOPY) -S -O binary $< $@
$(TARGET_COORD).ba: $(BLDOBJS_COORD) $(LIBFILE_COORD)
@echo $(MAKEFLAGS)
$(LD) -L$(STACK_BLD) -T$(LINKER_FILE) -o $@ $(LDFLAGS) $(BLDOBJS_COORD) $(LIBFILE_COORD)
$(TARGET_ROUTER).ba: $(BLDOBJS_ROUTER) $(LIBFILE_ROUTER)
@echo $(MAKEFLAGS)
$(LD) -L$(STACK_BLD) -T$(LINKER_FILE) -o $@ $(LDFLAGS) $(BLDOBJS_ROUTER) $(LIBFILE_ROUTER)
$(TARGET_ENDDEVICE).ba: $(BLDOBJS_ENDDEVICE) $(LIBFILE_ENDDEVICE)
@echo $(MAKEFLAGS)
$(LD) -L$(STACK_BLD) -T$(LINKER_FILE) -o $@ $(LDFLAGS) $(BLDOBJS_ENDDEVICE) $(LIBFILE_ENDDEVICE)
#########################################################################
clean:
rm -f $(BLDOBJS_COORD) $(BLDOBJS_ROUTER) $(BLDOBJS_ENDDEVICE) *.bin *.ba
#########################################################################
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -