diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 68 |
1 files changed, 44 insertions, 24 deletions
@@ -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 $@ $< |