From adf85cbc1756e56c1f52f56235a3c08b3c5b8e05 Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Thu, 13 Dec 2007 16:18:53 +0900 Subject: Build system simplification/standardisation This change makes kexec-tools work more like a standard configure-make- make-install-type project: * Remove $(OBJDIR) stuff. To do an out-of-tree build, just configure from a different directory. * Use the implicit Makefile rules more, and just edit the compiler flags for specific targets. * Simplify compiler/linker flags - no need for EXTRA_* * Add TARGET_CC, and improve checks for BUILD_CC too. * Set arch-specific flags in arch-specific makefiles, not conditional on $(ARCH). * Generate dependency files in the main compile, rather than as a separate step. * Don't #include sha256.c, but re-build it into the purgatory. Still a work-in-progress. Signed-off-by: Jeremy Kerr Signed-off-by: Simon Horman --- util_lib/Makefile | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) (limited to 'util_lib') diff --git a/util_lib/Makefile b/util_lib/Makefile index 75cde25..f7a7d82 100644 --- a/util_lib/Makefile +++ b/util_lib/Makefile @@ -3,26 +3,15 @@ # UTIL_LIB_SRCS:=util_lib/compute_ip_checksum.c UTIL_LIB_SRCS+=util_lib/sha256.c -UTIL_LIB_OBJS:=$(patsubst %.c, $(OBJDIR)/%.o, $(UTIL_LIB_SRCS)) -UTIL_LIB_DEPS:=$(patsubst %.c, $(OBJDIR)/%.d, $(UTIL_LIB_SRCS)) -UTIL_LIB:=$(OBJDIR)/libutil.a +UTIL_LIB_OBJS:=$(patsubst %.c, %.o, $(UTIL_LIB_SRCS)) +UTIL_LIB_DEPS:=$(patsubst %.c, %.d, $(UTIL_LIB_SRCS)) +UTIL_LIB:=libutil.a -include $(UTIL_LIB_DEPS) +-include $(UTIL_LIB_DEPS) -$(UTIL_LIB_DEPS): $(OBJDIR)/%.d: %.c - $(MKDIR) -p $(@D) - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -M $< | sed -e 's|$(patsubst %.d,%.o,$(@F))|$(patsubst %.d,%.o,$(@))|' > $@ - -# sha256.c needs to be compiled without optimization, else -# purgatory fails to execute (on ia64 at least). -# By placing -O0 after $(CFLAGS), which is provided by -# the prevailing environment, it overrides any other -O flags -# provided. -$(UTIL_LIB_OBJS): $(OBJDIR)/%.o: %.c $(OBJDIR)/%.d - $(MKDIR) -p $(@D) - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -O0 -c -o $@ $< +$(UTIL_LIB): CPPFLAGS += -I$(srcdir)/util_lib/include $(UTIL_LIB): $(UTIL_LIB_OBJS) - $(MKDIR) -p $(@D) + @$(MKDIR) -p $(@D) $(AR) rs $(UTIL_LIB) $(UTIL_LIB_OBJS) -- cgit