Add explicit target file names and set the top source directory.
Signed-off-by: David Sterba <dsterba@suse.com>
DEBUG_CFLAGS_INTERNAL =
DEBUG_CFLAGS :=
+TOPDIR := $(shell pwd)
+
# Common build flags
CFLAGS = @CFLAGS@ \
-include config.h \
-D_XOPEN_SOURCE=700 \
-fno-strict-aliasing \
-fPIC \
+ -I$(TOPDIR) \
$(EXTRAWARN_CFLAGS) \
$(DEBUG_CFLAGS_INTERNAL) \
$(EXTRA_CFLAGS)
endif
%.o.d: %.c
- $(Q)$(CC) -MM -MG -MF $@ -MT $(@:.o.d=.o) -MT $(@:.o.d=.static.o) -MT $@ $(CFLAGS) $<
+ $(Q)$(CC) -MD -MM -MG -MF $@ -MT $(@:.o.d=.o) -MT $(@:.o.d=.static.o) -MT $@ $(CFLAGS) $<
#
# Pick from per-file variables, btrfs_*_cflags
@$(check_echo) " [SP] $<"
$(Q)$(check) $(CFLAGS) $(CHECKER_FLAGS) $<
@echo " [CC] $@"
- $(Q)$(CC) $(CFLAGS) -c $< $($(subst -,_,$(@:%.o=%)-cflags))
+ $(Q)$(CC) $(CFLAGS) -c $< -o $@ $($(subst -,_,$(@:%.o=%)-cflags))
%.static.o: %.c
@echo " [CC] $@"