I like Piotr's new make structure a lot. I've tweaked it a little here: made the most important defines conditional, so if they're set before the call to make, those external definitions will not be overriden, but defaults can be supplied here in the Makefile if they have not been defined.

This is really handy for my use of the stack (and probably yours, too): I can take the distribution right out-of-the-box and yet tailor it to my needs by the way I invoke make.

Also, can somebody add a comment about what WEAK_FUNC is defined for?  I couldn't see any reference to it in the code.
If it's really special, it could be removed from the general case here and included by the external definition of BACNET_DEFINES
This commit is contained in:
tbrennan3
2010-11-29 15:37:13 +00:00
parent 0e34c5ce5c
commit dd92901aa1
+6 -2
View File
@@ -6,15 +6,17 @@
# AR = ar
# configuration
BACNET_DEFINES = -DPRINT_ENABLED=1 -DBACAPP_ALL -DBACFILE
# If BACNET_DEFINES has not already been set, configure to your needs here
BACNET_DEFINES ?= -DPRINT_ENABLED=1 -DBACAPP_ALL -DBACFILE
# un-comment the next line to build the routing demo application
#BACNET_DEFINES += -DBAC_ROUTING
#BACDL_DEFINE=-DBACDL_ETHERNET=1
#BACDL_DEFINE=-DBACDL_ARCNET=1
#BACDL_DEFINE=-DBACDL_MSTP=1
BACDL_DEFINE=-DBACDL_BIP=1
BACDL_DEFINE?=-DBACDL_BIP=1
# Define WEAK_FUNC for [...somebody help here; I can't find any uses of it]
DEFINES = $(BACNET_DEFINES) $(BACDL_DEFINE) -DWEAK_FUNC=
# directories
@@ -40,6 +42,8 @@ endif
endif
CFLAGS = $(WARNINGS) $(DEBUGGING) $(OPTIMIZATION) $(STANDARDS) $(INCLUDES) $(DEFINES)
# Export the variables defined here to all subprocesses
# (see http://www.gnu.org/software/automake/manual/make/Special-Targets.html)
.EXPORT_ALL_VARIABLES:
all: library demos