scummvm/common.rules

28 lines
887 B
Plaintext

# Common build rules, used by the sub modules and their module.mk files
# Clean target, removes all object files. This looks a bit hackish, as we have to
# copy the content of MODULE_OBJS to another unique variable (the next module.mk
# will overwrite it after all). The same for the libMODULE.a library file.
MODULE_OBJS-$(MODULE) := $(MODULE_OBJS)
MODULE_LIB-$(MODULE) := $(MODULE)/$(PLUGIN_PREFIX)$(MODULE)$(PLUGIN_SUFFIX)
clean: clean-$(MODULE)
clean-$(MODULE): clean-% :
-$(RM) $(MODULE_OBJS-$*) $(MODULE_LIB-$*)
# Convenience library target
$(MODULE_LIB-$(MODULE)): $(MODULE_OBJS)
-$(RM) $@
$(AR) $@ $+
$(RANLIB) $@
# Pseudo target for comfort, allows for "make common", "make gui" etc.
$(MODULE): $(MODULE_LIB-$(MODULE))
ifdef STATIC_PLUGINS
# Add static plugin object files to the main OBJS list
OBJS += $(MODULE_LIB-$(MODULE))
endif
.PHONY: clean-$(MODULE) $(MODULE)