summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile68
1 files changed, 44 insertions, 24 deletions
diff --git a/Makefile b/Makefile
index 95e37d1..3aab282 100644
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,8 @@ DEFINES += -DS130
DEFINES += -DBLE_STACK_SUPPORT_REQD
DEFINES += -DBSP_DEFINES_ONLY
-CFLAGS=-Os -g
+OPT=-Os -g
+CFLAGS=
LDFLAGS=
ASFLAGS=
INCLUDES=
@@ -22,35 +23,42 @@ BDADDR=FD:F9:62:4A:8A:C8
SDKCSRCS= \
- libraries/util/app_error.c \
+ ble/common/ble_advdata.c \
+ ble/common/ble_conn_params.c \
+ ble/common/ble_srv_common.c \
+ drivers_nrf/common/nrf_drv_common.c \
+ drivers_nrf/gpiote/nrf_drv_gpiote.c \
+ drivers_nrf/hal/nrf_delay.c \
+ drivers_nrf/pstorage/pstorage_raw.c \
+ drivers_nrf/uart/app_uart.c \
+ libraries/bootloader_dfu/dfu_init_template.c \
+ libraries/crc16/crc16.c \
+ libraries/hci/hci_mem_pool.c \
libraries/scheduler/app_scheduler.c \
libraries/timer/app_timer.c \
libraries/timer/app_timer_appsh.c \
- libraries/bootloader_dfu/bootloader.c \
- libraries/bootloader_dfu/bootloader_settings.c \
- libraries/bootloader_dfu/bootloader_util.c \
- libraries/bootloader_dfu/dfu_single_bank.c \
- libraries/crc16/crc16.c \
- libraries/bootloader_dfu/dfu_init_template.c \
- libraries/hci/hci_mem_pool.c \
+ libraries/util/app_error.c \
libraries/util/nrf_assert.c \
- drivers_nrf/hal/nrf_delay.c \
- drivers_nrf/pstorage/pstorage_raw.c \
- ble/common/ble_advdata.c \
- ble/common/ble_conn_params.c \
- ble/ble_services/ble_dfu/ble_dfu.c \
- ble/common/ble_srv_common.c \
- toolchain/system_nrf51.c \
softdevice/common/softdevice_handler/softdevice_handler.c \
- softdevice/common/softdevice_handler/softdevice_handler_appsh.c \
+ softdevice/common/softdevice_handler/softdevice_handler_appsh.c \
+ libraries/bootloader_dfu/bootloader_util.c \
+ toolchain/system_nrf51.c
SDKSSRCS = toolchain/gcc/gcc_startup_nrf51.s
+FOO= \
+ libraries/bootloader_dfu/dfu_single_bank.c \
+ libraries/bootloader_dfu/bootloader.c \
+ libraries/bootloader_dfu/bootloader_settings.c \
+ ble/ble_services/ble_dfu/ble_dfu.c \
+ libraries/bootloader_dfu/dfu_transport_ble.c
+
CSRCS = \
dfu_ble_svc.c \
- main.c \
- sdk-config/sdk/libraries/bootloader_dfu/dfu_transport_ble.c \
+ main.c
+
+# sdk-config/sdk/libraries/bootloader_dfu/dfu_transport_ble.c
# sdk-config/sdk/libraries/bootloader_dfu/dfu_single_bank.c \
# sdk-config/sdk/libraries/bootloader_dfu/dfu_transport_ble.c \
@@ -89,7 +97,7 @@ NRFDFU := nrfdfu
CFLAGS += -mcpu=cortex-m0
CFLAGS += -mthumb -mabi=aapcs --std=gnu99
-CFLAGS += -Wall -Werror -Os
+CFLAGS += -Wall -Werror
CFLAGS += -mfloat-abi=soft
# keep every function in separate section. This will allow linker to dump unused functions
CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing
@@ -110,13 +118,16 @@ ASFLAGS += -x assembler-with-cpp
CPPFLAGS=$(DEFINES) $(INCLUDES)
+FOOOBJ=${FOO:%.c=${SDK}/sdk/%.o}
+FOOS=${FOO:%.c=${SDK}/sdk/%.s}
+FOOSS=${FOO:%.c=${SDK}/sdk/%.ss}
-OBJS=${CSRCS:%.c=%.o} ${SDKCSRCS:%.c=${SDK}/sdk/%.o} ${SDKSSRCS:%.s=${SDK}/sdk/%.o}
+OBJS=${CSRCS:%.c=%.o} ${SDKCSRCS:%.c=${SDK}/sdk/%.o} ${SDKSSRCS:%.s=${SDK}/sdk/%.o} ${FOOOBJ}
-default: ${PROG}.bin ${PROG}.hex
+default: ${PROG}.bin ${PROG}.hex ${FOOSS}
clean:
- /bin/rm -f ${OBJS} ${PROG} ${PROG}.bin ${PROG}.hex
+ /bin/rm -f ${OBJS} ${PROG} ${PROG}.bin ${PROG}.hex ${FOOS} ${FOOSS}
${PROG}:${OBJS}
$(CC) $(LDFLAGS) $(CFLAGS) $(OBJS) $(LIBS) -o $@
@@ -131,8 +142,17 @@ ${PROG}:${OBJS}
twongle.o:twongle.c
$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
+${FOOOBJ}: %.o:%.c
+ $(CC) $(CPPFLAGS) $(CFLAGS) -g -c -Wa,-ahl=${@:%.o=%.s} -o $@ $<
+
+%.ss:%.o
+ ${OBJDUMP} -d -S $< > $@ || /bin/rm -f $@
+
+#${FOOS}: %.s:%.c
+# $(CC) $(CPPFLAGS) $(CFLAGS) -g -S -o $@ $<
+
%.o:%.c
- $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
+ $(CC) $(CPPFLAGS) $(CFLAGS) $(OPT) -c -o $@ $<
%.o:%.s
$(CC) $(CPPFLAGS) $(ASFLAGS) -c -o $@ $<