f53bd3ec35412b0620596b49222ce7f29841570c
[pub/USBasp.git] / LUFA / Build / lufa.core.in
1 #
2 # LUFA Library
3 # Copyright (C) Dean Camera, 2012.
4 #
5 # dean [at] fourwalledcubicle [dot] com
6 # www.lufa-lib.org
7 #
8
9 LUFA_BUILD_MODULES += CORE
10 LUFA_BUILD_TARGETS += help list_targets list_modules list_mandatory list_optional
11 LUFA_BUILD_MANDATORY_VARS +=
12 LUFA_BUILD_OPTIONAL_VARS +=
13
14 # -----------------------------------------------------------------------------
15 # LUFA Core Buildsystem Makefile Module.
16 # -----------------------------------------------------------------------------
17 # DESCRIPTION:
18 # Provides a set of core build targets for the LUFA buildsystem
19 # -----------------------------------------------------------------------------
20 # TARGETS:
21 #
22 # help - Build system help
23 # list_targets - List all build targets
24 # list_modules - List all build modules
25 # list_mandatory - List all mandatory make variables required by
26 # the included build modules of the application
27 # list_optional - List all optional make variables required by
28 # the included build modules of the application
29 #
30 # MANDATORY PARAMETERS:
31 #
32 # (None)
33 #
34 # OPTIONAL PARAMETERS:
35 #
36 # (None)
37 #
38 # -----------------------------------------------------------------------------
39
40 # Build sorted and filtered lists of the included build module data
41 SORTED_LUFA_BUILD_MODULES = $(sort $(LUFA_BUILD_MODULES))
42 SORTED_LUFA_BUILD_TARGETS = $(sort $(LUFA_BUILD_TARGETS))
43 SORTED_LUFA_MANDATORY_VARS = $(sort $(LUFA_BUILD_MANDATORY_VARS))
44 SORTED_LUFA_OPTIONAL_VARS = $(filter-out $(SORTED_LUFA_MANDATORY_VARS), $(sort $(LUFA_BUILD_OPTIONAL_VARS)))
45
46 help:
47 @echo "==================================================================="
48 @echo " LUFA Build System 2.0 "
49 @echo " (C) Dean Camera, 2012 { dean @ fourwalledcubicle . com } "
50 @echo "==================================================================="
51 @echo "DESCRIPTION: "
52 @echo " This build system is a set of makefile modules for (GNU) Make, to "
53 @echo " provide a simple system for building LUFA powered applications. "
54 @echo " Each makefile module can be included from within a user makefile, "
55 @echo " to expose the build rules documented in the comments at the top of"
56 @echo " each build module. "
57 @echo " "
58 @echo "USAGE: "
59 @echo " To execute a rule, define all variables indicated in the desired "
60 @echo " module as a required parameter before including the build module "
61 @echo " in your project makefile. Parameters marked as optional will "
62 @echo " assume a default value in the module if not user-assigned. "
63 @echo "==================================================================="
64 @echo " Currently used modules in this application: "
65 @echo " "
66 @printf " %b" "$(SORTED_LUFA_BUILD_MODULES:%= - %\n)"
67 @echo " "
68 @echo " "
69 @echo " Currently available build targets in this application: "
70 @echo " "
71 @printf " %b" "$(SORTED_LUFA_BUILD_TARGETS:%= - %\n)"
72 @echo " "
73 @echo " "
74 @echo " Mandatory variables required by the selected build Modules: "
75 @echo " "
76 @printf " %b" "$(SORTED_LUFA_MANDATORY_VARS:%= - %\n)"
77 @echo " "
78 @echo " "
79 @echo " Optional variables required by the selected build Modules: "
80 @echo " "
81 @printf " %b" "$(SORTED_LUFA_OPTIONAL_VARS:%= - %\n)"
82 @echo " "
83 @echo "==================================================================="
84 @echo " The LUFA BuildSystem 2.0 - Powered By Unicorns (tm) "
85 @echo "==================================================================="
86
87 list_modules:
88 @echo Currently Build Modules: $(SORTED_LUFA_BUILD_MODULES)
89
90 list_targets:
91 @echo Currently Available Build Targets: $(SORTED_LUFA_BUILD_TARGETS)
92
93 list_mandatory:
94 @echo Mandatory Variables for Included Modules: $(SORTED_LUFA_MANDATORY_VARS)
95
96 list_optional:
97 @echo Optional Variables for Included Modules: $(SORTED_LUFA_OPTIONAL_VARS)