3 # Define rules and targets for Yoink.
6 $(call include,moof stlplus) # Recurse into subdirectories.
8 objects = $(patsubst %.c,$(builddir)/%.o,$(patsubst %.cc,$(builddir)/%.o,$(wildcard $d/*.c $d/*.cc)))
10 ifeq (win32,$(platform))
11 objects += $b/win32.o # Also compile win32 resource file.
14 ifeq (true,$(includeConfig))
15 objects += $b/config.o # Also compile in the configuration.
16 exec += $b/config.c # Make config.c a build target.
17 $b/config.c: config.mk
21 $(objects): TGT_CFLAGS := -I$d
22 $(objects): config.h $(this) | $b
23 # Make all objects depend on config.h; it's excessive, but config.h won't be
24 # remade otherwise if dependencies are not being generated. The alternative
25 # is to maintain an accurate list of objects with a dependency on config.h.
27 exec += $(objects) # Make the objects build targets.
29 bindir_$b := $b/$(projectName)$(EXEEXT) # Install executable to bindir.
30 $(bindir_$b): $(objects) $b/moof/libmoof.a $b/stlplus/libstlplus.a
34 # Define the run and debug targets.