build: factor out common compile and link commands
Add common $(COMPILE_C), $(LINK_C), and $(LIB_C) variables that contain the commands to build a .o from a .c, an app from objects and libraries, and a library from objects, respectively. Change-Id: Ie2eaa13156b8bf3db7a4ffa66161382d829aef07 Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
parent
22eced89c4
commit
dba4829471
@ -53,8 +53,7 @@ all : $(APP)
|
||||
objs : $(OBJS)
|
||||
|
||||
$(APP) : $(OBJS) $(SPDK_LIBS)
|
||||
@echo " LINK $@"
|
||||
$(Q)$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
|
||||
$(LINK_C)
|
||||
|
||||
clean :
|
||||
$(Q)rm -f $(OBJS) *.d $(APP)
|
||||
|
@ -58,8 +58,7 @@ all : $(APP)
|
||||
objs : $(OBJS)
|
||||
|
||||
$(APP) : $(OBJS) $(SPDK_LIBS)
|
||||
@echo " LINK $@"
|
||||
$(Q)$(CC) $(CPPFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
|
||||
$(LINK_C)
|
||||
|
||||
clean :
|
||||
$(Q)rm -f $(OBJS) *.d $(APP)
|
||||
|
@ -52,6 +52,6 @@ clean :
|
||||
$(Q)rm -f $(LIB) $(OBJS) *.d
|
||||
|
||||
$(LIB) : $(OBJS)
|
||||
$(Q)ar crDs $(LIB) $(OBJS)
|
||||
$(LIB_C)
|
||||
|
||||
include $(SPDK_ROOT_DIR)/mk/spdk.deps.mk
|
||||
|
@ -50,6 +50,6 @@ clean :
|
||||
$(Q)rm -f libspdk_nvme.a $(OBJS) *.d
|
||||
|
||||
libspdk_nvme.a : $(OBJS)
|
||||
$(Q)ar crDs libspdk_nvme.a $(OBJS)
|
||||
$(LIB_C)
|
||||
|
||||
include $(SPDK_ROOT_DIR)/mk/spdk.deps.mk
|
||||
|
@ -50,6 +50,6 @@ clean :
|
||||
$(Q)rm -f libspdk_util.a $(OBJS) *.d
|
||||
|
||||
libspdk_util.a : $(OBJS)
|
||||
$(Q)ar crDs libspdk_util.a $(OBJS)
|
||||
$(LIB_C)
|
||||
|
||||
include $(SPDK_ROOT_DIR)/mk/spdk.deps.mk
|
||||
|
@ -49,15 +49,12 @@ UT_APP = $(TEST_FILE:.c=)
|
||||
all: $(UT_APP)
|
||||
|
||||
$(UT_APP) : $(OBJS)
|
||||
@echo " LINK $@"
|
||||
$(Q)$(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS)
|
||||
$(LINK_C)
|
||||
|
||||
clean:
|
||||
$(Q)rm -f $(UT_APP) $(OBJS) *.d
|
||||
|
||||
%.o: $(NVME_DIR)/%.c %.d $(MAKEFILE_LIST)
|
||||
@echo " CC $@"
|
||||
$(Q)$(CC) $(DEPFLAGS) $(CFLAGS) -c $< -o $@
|
||||
$(Q)mv -f $*.d.tmp $*.d
|
||||
$(COMPILE_C)
|
||||
|
||||
include $(SPDK_ROOT_DIR)/mk/spdk.deps.mk
|
||||
|
@ -90,10 +90,24 @@ MAKEFLAGS += --no-print-directory
|
||||
|
||||
DEPFLAGS = -MMD -MP -MF $*.d.tmp
|
||||
|
||||
# Compile first input $< (.c) into $@ (.o)
|
||||
COMPILE_C=\
|
||||
$(Q)echo " CC $@"; \
|
||||
$(CC) -o $@ $(DEPFLAGS) $(CFLAGS) -c $< && \
|
||||
mv -f $*.d.tmp $*.d
|
||||
|
||||
# Link $(OBJS) and $(LIBS) into $@ (app)
|
||||
LINK_C=\
|
||||
$(Q)echo " LINK $@"; \
|
||||
$(CC) -o $@ $(CPPFLAGS) $(LDFLAGS) $(OBJS) $(LIBS)
|
||||
|
||||
# Archive $(OBJS) into $@ (.a)
|
||||
LIB_C=\
|
||||
$(Q)echo " LIB $@"; \
|
||||
ar crDs $@ $(OBJS)
|
||||
|
||||
%.o: %.c %.d $(MAKEFILE_LIST)
|
||||
@echo " CC $@"
|
||||
$(Q)$(CC) $(DEPFLAGS) $(CFLAGS) -c $<
|
||||
$(Q)mv -f $*.d.tmp $*.d
|
||||
$(COMPILE_C)
|
||||
|
||||
%.d: ;
|
||||
|
||||
|
@ -49,8 +49,7 @@ OBJS = $(C_SRCS:.c=.o)
|
||||
all: $(APP)
|
||||
|
||||
$(APP): $(OBJS) $(SPDK_LIBS)
|
||||
@echo " LINK $@"
|
||||
$(Q)$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
|
||||
$(LINK_C)
|
||||
|
||||
clean:
|
||||
$(Q)rm -f $(OBJS) *.d $(APP)
|
||||
|
@ -53,8 +53,7 @@ all : $(APP)
|
||||
objs : $(OBJS)
|
||||
|
||||
$(APP) : $(OBJS) $(SPDK_LIBS)
|
||||
@echo " LINK $@"
|
||||
$(Q)$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
|
||||
$(LINK_C)
|
||||
|
||||
clean :
|
||||
$(Q)rm -f $(OBJS) *.d $(APP)
|
||||
|
Loading…
Reference in New Issue
Block a user