#
# LUFA Library
-# Copyright (C) Dean Camera, 2012.
+# Copyright (C) Dean Camera, 2021.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org
# Makefile for the LUFA library itself.
# ---------------------------------------
-LUFA_VERSION_NUM = $(shell grep LUFA_VERSION_STRING Version.h | cut -d'"' -f2)
-EXCLUDE_FROM_EXPORT = Documentation DoxygenPages CodeTemplates Build *.conf *.tar *.o *.lss *.lst *.hex *.elf *.bin
-DOXYGEN_OVERRIDE_PARAMS = PROJECT_NUMBER=$(LUFA_VERSION_NUM)
+LUFA_VERSION_NUM := $(shell grep LUFA_VERSION_STRING Version.h | cut -d'"' -f2)
-export_tar:
- @echo Exporting LUFA library to a TAR archive...
- @tar -cf LUFA_$(LUFA_VERSION_NUM).tar --directory=. $(EXCLUDE_FROM_EXPORT:%=--exclude=%) *
- @tar -cf LUFA_$(LUFA_VERSION_NUM)_Code_Templates.tar CodeTemplates
- @echo Export LUFA_$(LUFA_VERSION_NUM).tar complete.
+# Default target - no default action when attempting to build the core directly
+all:
+# Display the LUFA version of this library copy
version:
@echo "LUFA $(LUFA_VERSION_NUM)"
-# Check if this is being included from a legacy or non LUFA build system makefile
-ifneq ($(LUFA_PATH),)
- LUFA_ROOT_PATH = $(LUFA_PATH)/LUFA/
- include $(LUFA_PATH)/LUFA/Build/lufa.sources.in
-else
- LUFA_PATH = .
- ARCH = {AVR8,UC3,XMEGA}
-
- all:
-
- clean:
+LUFA_PATH := .
+ARCH := {AVR8,UC3,XMEGA}
+DOXYGEN_OVERRIDE_PARAMS := QUIET=YES PROJECT_NUMBER=$(LUFA_VERSION_NUM)
+
+# Remove all object and associated files from the LUFA library core
+clean:
rm -f $(LUFA_SRC_ALL_FILES:%.c=%.o)
+ rm -f $(LUFA_SRC_ALL_FILES:%.c=%.d)
rm -f $(LUFA_SRC_ALL_FILES:%.c=%.lst)
- # Include LUFA build script makefiles
- include Build/lufa.sources.in
- include Build/lufa.doxygen.in
-endif
+# Include LUFA-specific DMBS extension modules
+DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA
+include $(DMBS_LUFA_PATH)/lufa-sources.mk
+
+# Include common DMBS build system modules
+DMBS_PATH ?= $(LUFA_PATH)/Build/DMBS/DMBS
+include $(DMBS_PATH)/core.mk
+include $(DMBS_PATH)/doxygen.mk
+
+.PHONY: all version