diff options
author | px4dev <px4@purgatory.org> | 2013-05-11 11:32:05 -0700 |
---|---|---|
committer | px4dev <px4@purgatory.org> | 2013-05-11 11:32:05 -0700 |
commit | 196ee8b16fcd42fca04d1fb7e11ec46dd45c8421 (patch) | |
tree | e6e4b9c4f601cc7fa4981f4ad83bd4ec7cefce02 /makefiles/firmware.mk | |
parent | 15aae728e5bba7ac255e2f0266d39c5e9d95fc6a (diff) | |
download | px4-firmware-196ee8b16fcd42fca04d1fb7e11ec46dd45c8421.tar.gz px4-firmware-196ee8b16fcd42fca04d1fb7e11ec46dd45c8421.tar.bz2 px4-firmware-196ee8b16fcd42fca04d1fb7e11ec46dd45c8421.zip |
Change the way modules are built so that object paths are relative and use vpath for locating sources (so source paths are also shorter).
Add some basic documentation for the build system files while we're at it.
Diffstat (limited to 'makefiles/firmware.mk')
-rw-r--r-- | makefiles/firmware.mk | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/makefiles/firmware.mk b/makefiles/firmware.mk index b63aa28d7..e6a45a4e8 100644 --- a/makefiles/firmware.mk +++ b/makefiles/firmware.mk @@ -223,12 +223,15 @@ MODULE_OBJS := $(foreach path,$(dir $(MODULE_MKFILES)),$(WORK_DIR)$(path)module .PHONY: $(MODULE_OBJS) $(MODULE_OBJS): relpath = $(patsubst $(WORK_DIR)%,%,$@) $(MODULE_OBJS): mkfile = $(patsubst %module.pre.o,%module.mk,$(relpath)) +$(MODULE_OBJS): workdir = $(@D) $(MODULE_OBJS): $(GLOBAL_DEPS) $(NUTTX_CONFIG_HEADER) + $(Q) $(MKDIR) -p $(workdir) $(Q) $(MAKE) -r -f $(PX4_MK_DIR)module.mk \ - MODULE_WORK_DIR=$(dir $@) \ + -C $(workdir) \ + MODULE_WORK_DIR=$(workdir) \ MODULE_OBJ=$@ \ MODULE_MK=$(mkfile) \ - MODULE_NAME=$(lastword $(subst /, ,$(@D))) \ + MODULE_NAME=$(lastword $(subst /, ,$(workdir))) \ module # make a list of phony clean targets for modules |