File: common.rules

package info (click to toggle)
stella 6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 11,016 kB
  • sloc: cpp: 58,538; ansic: 33,474; sh: 3,613; perl: 471; objc: 366; asm: 163; makefile: 148; yacc: 83
file content (31 lines) | stat: -rw-r--r-- 1,102 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Common build rules, used by the sub modules and their module.mk files

# Copy the list of objects to a new variable. The name of the new variable
# contains the module name, a trick we use so we can keep multiple different
# module object lists, one for each module.
MODULE_OBJS-$(MODULE) := $(MODULE_OBJS)

MODULE_LIB-$(MODULE) := $(MODULE)/lib$(notdir $(MODULE)).a

# If not building as a plugin, add the object files to the main OBJS list
#OBJS += $(MODULE_LIB-$(MODULE))
OBJS += $(MODULE_OBJS)

# 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))


# 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.
clean: clean-$(MODULE)
clean-$(MODULE): clean-% :
	-$(RM) $(MODULE_OBJS-$*) $(MODULE_LIB-$*) $(PLUGIN-$*)

.PHONY: clean-$(MODULE) $(MODULE)