mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2026-09-09 11:45:56 +00:00
97 lines
3.8 KiB
Makefile
97 lines
3.8 KiB
Makefile
#-----------------------------------------------------------------------------
|
|
# Copyright (C) Proxmark3 contributors. See AUTHORS.md for details.
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# See LICENSE.txt for the text of the license.
|
|
#-----------------------------------------------------------------------------
|
|
|
|
ifeq ($(PLATFORM),PM5)
|
|
|
|
# Flags + Inc
|
|
include ../armlib/Exports.mk
|
|
|
|
# Toolchain + dirs
|
|
include ../common_arm/Makefile.common
|
|
|
|
# Allow standalone invocation when parent make doesn't export toolchain vars.
|
|
CROSS ?= arm-none-eabi-
|
|
CROSS_CC ?= $(CROSS)gcc
|
|
CROSS_CFLAGS ?=
|
|
CROSS_AR ?= $(CROSS)ar
|
|
OBJDIR ?= obj
|
|
|
|
ARMLIBSRC = \
|
|
../armlib/at32_sys/cmsis/cm4/device_support/system_at32f435_437.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_crm.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_misc.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_gpio.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_usb.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_qspi.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_tmr.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_ertc.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_pwc.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_spi.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_i2c.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_dma.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_adc.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_usart.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_exint.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_scfg.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_flash.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_crc.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_wdt.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_wwdt.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_can.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_dac.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_debug.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_dvp.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_edma.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_sdio.c \
|
|
../armlib/at32_sys/drivers/src/at32f435_437_acc.c \
|
|
../armlib/at32_usb/usb_drivers/src/usb_core.c \
|
|
../armlib/at32_usb/usb_drivers/src/usbd_core.c \
|
|
../armlib/at32_usb/usb_drivers/src/usbd_int.c \
|
|
../armlib/at32_usb/usb_drivers/src/usbd_sdr.c \
|
|
../armlib/at32_usb/usbd_class/cdc/cdc_class.c \
|
|
../armlib/at32_i2c/at32f435_437_i2c_app.c
|
|
|
|
ARMLIB = $(OBJDIR)/$(ARMLIB_EXPORT_LIBNAME)
|
|
ARMLIB_OBJ_FROM_SRC = $(OBJDIR)/armlib_$(subst /,_,$(patsubst ../armlib/%.c,%,$(1))).o
|
|
ARMLIB_OBJ = $(foreach src,$(ARMLIBSRC),$(call ARMLIB_OBJ_FROM_SRC,$(src)))
|
|
ARMLIB_DEP = $(ARMLIB_OBJ:.o=.d)
|
|
.DEFAULT_GOAL := $(ARMLIB)
|
|
|
|
# TODO Artery's library has many warnings, which we can only ignore for now, unfortunately.
|
|
ARMLIB_PRIVATE_CFLAGS = -mcpu=cortex-m4 -Wno-missing-prototypes -Wno-missing-declarations
|
|
ARMLIB_CFLAGS = $(ARMLIB_EXPORT_CFLAGS) $(ARMLIB_PRIVATE_CFLAGS)
|
|
|
|
define ARMLIB_COMPILE_RULE
|
|
$(2): $(1) $(INCLUDES) | $(OBJDIR)
|
|
$$(info [-] CC $$(notdir $(1)))
|
|
$$(Q)$$(CROSS_CC) $$(CROSS_CFLAGS) $$(ARMLIB_CFLAGS) -MMD -MP -MF $(2:.o=.d) -mthumb -c -o $(2) $(1)
|
|
endef
|
|
|
|
define ARMLIB_REGISTER_RULES
|
|
$(foreach src,$(ARMLIBSRC),$(eval $(call ARMLIB_COMPILE_RULE,$(src),$(call ARMLIB_OBJ_FROM_SRC,$(src)))))
|
|
endef
|
|
|
|
$(OBJDIR):
|
|
$(Q)mkdir -p $@
|
|
|
|
$(ARMLIB): $(ARMLIB_OBJ) | $(OBJDIR)
|
|
$(info [-] AR $@)
|
|
$(Q)$(CROSS_AR) rcs $@ $^
|
|
|
|
$(call ARMLIB_REGISTER_RULES)
|
|
-include $(ARMLIB_DEP)
|
|
|
|
endif |