# # Define rules and targets for Yoink. # $(call include,moof stlplus) # Recurse into subdirectories. objects = $(patsubst %.c,$(builddir)/%.o,$(patsubst %.cc,$(builddir)/%.o,$(wildcard $d/*.c $d/*.cc))) ifeq (win32,$(platform)) objects += $b/win32.o # Also compile win32 resource file. endif ifeq (true,$(includeConfig)) objects += $b/config.o # Also compile in the configuration. exec += $b/config.c # Make config.c a build target. $b/config.c: config.mk $(Q)$(xxd) endif $(objects): TGT_CFLAGS := -I$d $(objects): config.h $(this) | $b # Make all objects depend on config.h; it's excessive, but config.h won't # be remade otherwise if dependencies are not being generated. The # alternative is to maintain an accurate list of objects with a dependency # on config.h. exec += $(objects) # Make the objects build targets. bindir_$b := $b/$(projectName)$(EXEEXT) # Install executable to bindir. $(bindir_$b): $(objects) $b/moof/libmoof.a $b/stlplus/libstlplus.a $(Q)$(link_cc) # # Define the run and debug targets. # run: $(bindir_$b) $(Q)$< $(YOINKFLAGS) debug: $(bindir_$b) $(Q)gdb $< .PHONY: run debug