1LOCAL_DIR := $(GET_LOCAL_DIR)
2
3MODULE := $(LOCAL_DIR)
4
5# ROMBASE, MEMBASE, and MEMSIZE are required for the linker script
6
7ARCH := arm
8
9ifeq ($(LPC_CHIP),LPC1549)
10MEMSIZE ?= 36864
11MEMBASE := 0x02000000
12ROMBASE := 0x00000000
13ARM_CPU := cortex-m3
14endif
15
16MODULE_DEFINES += PART_$(LPC_CHIP)
17
18ifeq ($(MEMSIZE),)
19$(error need to define MEMSIZE)
20endif
21
22MODULE_SRCS += \
23	$(LOCAL_DIR)/init.c \
24	$(LOCAL_DIR)/debug.c \
25	$(LOCAL_DIR)/vectab.c \
26
27#	$(LOCAL_DIR)/gpio.c \
28	$(LOCAL_DIR)/usbc.c \
29
30
31#	$(LOCAL_DIR)/debug.c \
32	$(LOCAL_DIR)/interrupts.c \
33	$(LOCAL_DIR)/platform_early.c \
34	$(LOCAL_DIR)/platform.c \
35	$(LOCAL_DIR)/timer.c \
36	$(LOCAL_DIR)/init_clock.c \
37	$(LOCAL_DIR)/init_clock_48mhz.c \
38	$(LOCAL_DIR)/mux.c \
39	$(LOCAL_DIR)/emac_dev.c
40
41# use a two segment memory layout, where all of the read-only sections
42# of the binary reside in rom, and the read/write are in memory. The
43# ROMBASE, MEMBASE, and MEMSIZE make variables are required to be set
44# for the linker script to be generated properly.
45#
46LINKER_SCRIPT += \
47	$(BUILDDIR)/system-twosegment.ld
48
49MODULE_DEPS += \
50	arch/arm/arm-m/systick \
51	platform/lpc15xx/lpcopen \
52	lib/cbuf
53
54LPCSIGNEDBIN := $(OUTBIN).sign
55LPCCHECK := $(LOCAL_DIR)/lpccheck.py
56EXTRA_BUILDDEPS += $(LPCSIGNEDBIN)
57GENERATED += $(LPCSIGNEDBIN)
58
59$(LPCSIGNEDBIN): $(OUTBIN) $(LPCCHECK)
60	@$(MKDIR)
61	$(NOECHO)echo generating $@; \
62	cp $< $@.tmp; \
63	$(LPCCHECK) $@.tmp; \
64	mv $@.tmp $@
65
66include make/module.mk
67