Makefile: let install depend on the target binary

to ensure the binary get built and install once
This commit is contained in:
Xiang Xiao 2020-03-16 17:12:16 +08:00 committed by Ouss4
parent 258e014025
commit f074d7f376
28 changed files with 177 additions and 122 deletions

View File

@ -151,6 +151,7 @@ PROGLIST := $(addprefix $(BINDIR)$(DELIM),$(PROGLIST))
PROGOBJ := $(MAINOBJ)
$(PROGLIST): $(MAINOBJ)
$(Q) mkdir -p $(BINDIR)
ifeq ($(WINTOOL),y)
$(call ELFLD,$(firstword $(PROGOBJ)),"${shell cygpath -w $(firstword $(PROGLIST))}")
else

View File

@ -73,17 +73,12 @@ $(foreach SDIR, $(CLEANDIRS), $(eval $(call SDIR_template,$(SDIR),distclean)))
ifeq ($(CONFIG_BUILD_KERNEL),y)
.install: $(foreach SDIR, $(CONFIGURED_APPS), $(SDIR)_install)
install: $(BINDIR) .install
$(BINDIR):
$(Q) mkdir -p $(BINDIR)
install: $(foreach SDIR, $(CONFIGURED_APPS), $(SDIR)_install)
.import: $(foreach SDIR, $(CONFIGURED_APPS), $(SDIR)_all)
$(Q) $(MAKE) install TOPDIR="$(TOPDIR)"
import: $(BINDIR)
import:
$(Q) $(MAKE) .import TOPDIR="$(APPDIR)$(DELIM)import"
else
@ -114,12 +109,7 @@ endif
endif # !CONFIG_BUILD_LOADABLE
.install: $(foreach SDIR, $(CONFIGURED_APPS), $(SDIR)_install)
$(BINDIR):
$(Q) mkdir -p $(BINDIR)
install: $(BINDIR) .install
install: $(foreach SDIR, $(CONFIGURED_APPS), $(SDIR)_install)
.import: $(BIN) install

View File

@ -82,10 +82,12 @@ $(BIN): $(OBJS)
@echo "LD: $<"
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
$(FSIMG_DIR)/$(BIN): $(BIN)
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN) $(FSIMG_DIR)/$(BIN)
install: $(FSIMG_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call CLEAN)
install:
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN) $(FSIMG_DIR)/$(BIN)

View File

@ -82,10 +82,12 @@ $(BIN): $(OBJS)
@echo "LD: $<"
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
$(FSIMG_DIR)/$(BIN): $(BIN)
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN) $(FSIMG_DIR)/$(BIN)
install: $(FSIMG_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call CLEAN)
install:
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN) $(FSIMG_DIR)/$(BIN)

View File

@ -67,15 +67,19 @@ LDLIBS += -lproxies
endif
BIN1 = hello++1
ALL_BIN = $(FSIMG_DIR)/$(BIN1)
BIN2 = hello++2
ALL_BIN += $(FSIMG_DIR)/$(BIN2)
ifeq ($(CONFIG_BINFMT_CONSTRUCTORS),y)
BIN3 = hello++3
ALL_BIN += $(FSIMG_DIR)/$(BIN3)
ifeq ($(CONFIG_EXAMPLES_ELF_UCLIBCXX),y)
BIN4 = hello++4
ALL_BIN += $(FSIMG_DIR)/$(BIN4)
BIN5 = hello++5
ALL_BIN += $(FSIMG_DIR)/$(BIN5)
endif
endif
ALL_BIN = $(BIN1) $(BIN2) $(BIN3) $(BIN4) $(BIN5)
SRCS1 = $(BIN1).c
OBJS1 = $(SRCS1:.c=$(OBJEXT))
@ -147,6 +151,32 @@ $(BIN5): $(OBJS5)
endif
endif
$(FSIMG_DIR)/$(BIN1): $(BIN1)
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN1) $(FSIMG_DIR)/$(BIN1)
$(FSIMG_DIR)/$(BIN2): $(BIN2)
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN2) $(FSIMG_DIR)/$(BIN2)
ifeq ($(CONFIG_BINFMT_CONSTRUCTORS),y)
$(FSIMG_DIR)/$(BIN3): $(BIN3)
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN3) $(FSIMG_DIR)/$(BIN3)
ifeq ($(CONFIG_EXAMPLES_ELF_UCLIBCXX),y)
$(FSIMG_DIR)/$(BIN4): $(BIN4)
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN4) $(FSIMG_DIR)/$(BIN4)
$(FSIMG_DIR)/$(BIN5): $(BIN5)
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN5) $(FSIMG_DIR)/$(BIN5)
endif
endif
install: $(ALL_BIN)
clean:
$(call DELFILE, $(BIN1))
$(call DELFILE, $(BIN2))
@ -154,15 +184,3 @@ clean:
$(call DELFILE, $(BIN4))
$(call DELFILE, $(BIN5))
$(call CLEAN)
install: $(ALL_BIN)
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN1) $(FSIMG_DIR)/$(BIN1)
$(Q) install $(BIN2) $(FSIMG_DIR)/$(BIN2)
ifeq ($(CONFIG_BINFMT_CONSTRUCTORS),y)
$(Q) install $(BIN3) $(FSIMG_DIR)/$(BIN3)
ifeq ($(CONFIG_EXAMPLES_ELF_UCLIBCXX),y)
$(Q) install $(BIN4) $(FSIMG_DIR)/$(BIN4)
$(Q) install $(BIN5) $(FSIMG_DIR)/$(BIN5)
endif
endif

View File

@ -82,10 +82,12 @@ $(BIN): $(OBJS)
@echo "LD: $<"
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
$(FSIMG_DIR)/$(BIN): $(BIN)
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN) $(FSIMG_DIR)/$(BIN)
install: $(FSIMG_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call CLEAN)
install:
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN) $(FSIMG_DIR)/$(BIN)

View File

@ -82,10 +82,12 @@ $(BIN): $(OBJS)
@echo "LD: $<"
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
$(FSIMG_DIR)/$(BIN): $(BIN)
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN) $(FSIMG_DIR)/$(BIN)
install: $(FSIMG_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call CLEAN)
install:
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN) $(FSIMG_DIR)/$(BIN)

View File

@ -82,10 +82,12 @@ $(BIN): $(OBJS)
@echo "LD: $<"
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
$(FSIMG_DIR)/$(BIN): $(BIN)
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN) $(FSIMG_DIR)/$(BIN)
install: $(FSIMG_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call CLEAN)
install:
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN) $(FSIMG_DIR)/$(BIN)

View File

@ -82,10 +82,12 @@ $(BIN): $(OBJS)
@echo "LD: $<"
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
$(FSIMG_DIR)/$(BIN): $(BIN)
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN) $(FSIMG_DIR)/$(BIN)
install: $(FSIMG_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call CLEAN)
install:
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN) $(FSIMG_DIR)/$(BIN)

View File

@ -83,10 +83,12 @@ $(BIN): $(OBJS)
@echo "LD: $<"
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
$(FSIMG_DIR)/$(BIN): $(BIN)
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN) $(FSIMG_DIR)/$(BIN)
install: $(FSIMG_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call CLEAN)
install:
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN) $(FSIMG_DIR)/$(BIN)

View File

@ -82,10 +82,12 @@ $(BIN): $(OBJS)
@echo "LD: $<"
$(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
$(FSIMG_DIR)/$(BIN): $(BIN)
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN) $(FSIMG_DIR)/$(BIN)
install: $(FSIMG_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call CLEAN)
install:
$(Q) mkdir -p $(FSIMG_DIR)
$(Q) install $(BIN) $(FSIMG_DIR)/$(BIN)

View File

@ -88,10 +88,12 @@ $(BIN): $(OBJS)
@echo "LD: $<"
$(Q) $(LD) $(LDMODULEFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
$(FSROOT_DIR)/$(BIN): $(BIN)
$(Q) mkdir -p $(FSROOT_DIR)
$(Q) install $(BIN) $(FSROOT_DIR)/$(BIN)
install: $(FSROOT_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call CLEAN)
install: $(BIN)
$(Q) mkdir -p $(FSROOT_DIR)
$(Q) install $(BIN) $(FSROOT_DIR)/$(BIN)

View File

@ -69,12 +69,14 @@ $(BIN): $(BIN).r2
@echo "LD: $<"
$(Q) $(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^
$(ROMFS_DIR)/$(BIN): $(BIN)
$(Q) install -D $(BIN) $(ROMFS_DIR)/$(BIN)
install: $(ROMFS_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call DELFILE, $(R2SRC))
$(call DELFILE, *.r1)
$(call DELFILE, *.r2)
$(call CLEAN)
install:
$(Q) install -D $(BIN) $(ROMFS_DIR)/$(BIN)

View File

@ -39,7 +39,6 @@ BIN1 = hello++1
BIN2 = hello++2
BIN3 = hello++3
#BIN4 = hello++4
ALL_BIN = $(BIN1) $(BIN2) $(BIN3) $(BIN4)
R1SRCS1 = $(BIN1).c
R1OBJS1 = $(R1SRCS1:.c=.o)
@ -162,6 +161,20 @@ $(BIN3): $(BIN3).r2
# @echo "LD: $<"
# $(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^
$(ROMFS_DIR)/$(BIN1): $(BIN1)
$(Q) install -D $(BIN1) $(ROMFS_DIR)/$(BIN1)
$(ROMFS_DIR)/$(BIN2): $(BIN2)
$(Q) install -D $(BIN2) $(ROMFS_DIR)/$(BIN2)
$(ROMFS_DIR)/$(BIN3): $(BIN3)
$(Q) install -D $(BIN3) $(ROMFS_DIR)/$(BIN3)
#$(ROMFS_DIR)/$(BIN4): $(BIN4)
# $(Q) install -D $(BIN4) $(ROMFS_DIR)/$(BIN4)
install: $(ROMFS_DIR)/$(BIN1) $(ROMFS_DIR)/$(BIN2) $(ROMFS_DIR)/$(BIN3)
clean:
$(call DELFILE, $(BIN1))
$(call DELFILE, $(BIN2))
@ -174,9 +187,3 @@ clean:
$(call DELFILE, *.r1)
$(call DELFILE, *.r2)
$(call CLEAN)
install: $(ALL_BIN)
$(Q) install -D $(BIN1) $(ROMFS_DIR)/$(BIN1)
$(Q) install -D $(BIN2) $(ROMFS_DIR)/$(BIN2)
$(Q) install -D $(BIN3) $(ROMFS_DIR)/$(BIN3)
# $(Q) install -D $(BIN4) $(ROMFS_DIR)/$(BIN4)

View File

@ -69,12 +69,14 @@ $(BIN): $(BIN).r2
@echo "LD: $<"
$(Q) $(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^
$(ROMFS_DIR)/$(BIN): $(BIN)
$(Q) install -D $(BIN) $(ROMFS_DIR)/$(BIN)
install: $(ROMFS_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call DELFILE, $(R2SRC))
$(call DELFILE, *.r1)
$(call DELFILE, *.r2)
$(call CLEAN)
install:
$(Q) install -D $(BIN) $(ROMFS_DIR)/$(BIN)

View File

@ -69,12 +69,14 @@ $(BIN): $(BIN).r2
@echo "LD: $<"
$(Q) $(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^
$(ROMFS_DIR)/$(BIN): $(BIN)
$(Q) install -D $(BIN) $(ROMFS_DIR)/$(BIN)
install: $(ROMFS_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call DELFILE, $(R2SRC))
$(call DELFILE, *.r1)
$(call DELFILE, *.r2)
$(call CLEAN)
install:
$(Q) install -D $(BIN) $(ROMFS_DIR)/$(BIN)

View File

@ -69,12 +69,14 @@ $(BIN): $(BIN).r2
@echo "LD: $<"
$(Q) $(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^
$(ROMFS_DIR)/$(BIN): $(BIN)
$(Q) install -D $(BIN) $(ROMFS_DIR)/$(BIN)
install: $(ROMFS_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call DELFILE, $(R2SRC))
$(call DELFILE, *.r1)
$(call DELFILE, *.r2)
$(call CLEAN)
install:
$(Q) install -D $(BIN) $(ROMFS_DIR)/$(BIN)

View File

@ -69,12 +69,14 @@ $(BIN): $(BIN).r2
@echo "LD: $<"
$(Q) $(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^
$(ROMFS_DIR)/$(BIN): $(BIN)
$(Q) install -D $(BIN) $(ROMFS_DIR)/$(BIN)
install: $(ROMFS_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call DELFILE, $(R2SRC))
$(call DELFILE, *.r1)
$(call DELFILE, *.r2)
$(call CLEAN)
install:
$(Q) install -D $(BIN) $(ROMFS_DIR)/$(BIN)

View File

@ -69,12 +69,14 @@ $(BIN): $(BIN).r2
@echo "LD: $<"
$(Q) $(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^
$(ROMFS_DIR)/$(BIN): $(BIN)
$(Q) install -D $(BIN) $(ROMFS_DIR)/$(BIN)
install: $(ROMFS_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call DELFILE, $(R2SRC))
$(call DELFILE, *.r1)
$(call DELFILE, *.r2)
$(call CLEAN)
install:
$(Q) install -D $(BIN) $(ROMFS_DIR)/$(BIN)

View File

@ -71,12 +71,14 @@ $(BIN): $(BIN).r2
@echo "LD: $<"
$(Q) $(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^
$(ROMFS_DIR)/$(BIN): $(BIN)
$(Q) install -D $(BIN) $(ROMFS_DIR)/$(BIN)
install: $(ROMFS_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call DELFILE, $(R2SRC))
$(call DELFILE, *.r1)
$(call DELFILE, *.r2)
$(call CLEAN)
install:
$(Q) install -D $(BIN) $(ROMFS_DIR)/$(BIN)

View File

@ -69,12 +69,14 @@ $(BIN): $(BIN).r2
@echo "LD: $<"
$(Q) $(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^
$(ROMFS_DIR)/$(BIN): $(BIN)
$(Q) install -D $(BIN) $(ROMFS_DIR)/$(BIN)
install: $(ROMFS_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call DELFILE, $(R2SRC))
$(call DELFILE, *.r1)
$(call DELFILE, *.r2)
$(call CLEAN)
install:
$(Q) install -D $(BIN) $(ROMFS_DIR)/$(BIN)

View File

@ -51,11 +51,13 @@ $(BIN): $(OBJS)
@echo "LD: $<"
$(Q) $(LD) $(LDELFFLAGS) -o $@ $^
$(ROMFS_DIR)/$(BIN): $(BIN)
$(Q) mkdir -p $(ROMFS_DIR)
$(Q) install $(BIN) $(ROMFS_DIR)/$(BIN)
install: $(ROMFS_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call DELFILE, *.dSYM)
$(call CLEAN)
install: $(BIN)
$(Q) mkdir -p $(ROMFS_DIR)
$(Q) install $(BIN) $(ROMFS_DIR)/$(BIN)

View File

@ -51,11 +51,13 @@ $(BIN): $(OBJS)
@echo "LD: $<"
$(Q) $(LD) $(LDELFFLAGS) -o $@ $^
$(ROMFS_DIR)/$(BIN): $(BIN)
$(Q) mkdir -p $(ROMFS_DIR)
$(Q) install -m 0755 $(BIN) $(ROMFS_DIR)/$(BIN)
install: $(ROMFS_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call DELFILE, *.dSYM)
$(call CLEAN)
install: $(BIN)
$(Q) mkdir -p $(ROMFS_DIR)
$(Q) install -m 0755 $(BIN) $(ROMFS_DIR)/$(BIN)

View File

@ -88,10 +88,12 @@ $(BIN): $(OBJS)
@echo "LD: $<"
$(Q) $(LD) $(LDMODULEFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
$(FSROOT_DIR)/$(BIN): $(BIN)
$(Q) mkdir -p $(FSROOT_DIR)
$(Q) install $(BIN) $(FSROOT_DIR)/$(BIN)
install: $(FSROOT_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call CLEAN)
install:
$(Q) mkdir -p $(FSROOT_DIR)
$(Q) install $(BIN) $(FSROOT_DIR)/$(BIN)

View File

@ -88,10 +88,12 @@ $(BIN): $(OBJS)
@echo "LD: $<"
$(Q) $(LD) $(LDMODULEFLAGS) $(LDLIBPATH) -o $@ $(ARCHCRT0OBJ) $^ $(LDLIBS)
$(FSROOT_DIR)/$(BIN): $(BIN)
$(Q) mkdir -p $(FSROOT_DIR)
$(Q) install $(BIN) $(FSROOT_DIR)/$(BIN)
install: $(FSROOT_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call CLEAN)
install:
$(Q) mkdir -p $(FSROOT_DIR)
$(Q) install $(BIN) $(FSROOT_DIR)/$(BIN)

View File

@ -70,12 +70,14 @@ $(BIN): $(BIN).r2
@echo "LD: $<"
$(Q) $(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^
$(CGI_DIR)/$(BIN): $(BIN)
$(Q) install -m 0755 -D $(BIN) $(CGI_DIR)/$(BIN)
install: $(CGI_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call DELFILE, $(R2SRC))
$(call DELFILE, *.r1)
$(call DELFILE, *.r2)
$(call CLEAN)
install:
$(Q) install -m 0755 -D $(BIN) $(CGI_DIR)/$(BIN)

View File

@ -73,12 +73,14 @@ $(BIN): $(BIN).r2
@echo "LD: $<"
$(Q) $(LDNXFLAT) $(LDNXFLATFLAGS) -o $@ $^
$(CGI_DIR)/$(BIN): $(BIN)
$(Q) install -m 0755 -D $(BIN) $(CGI_DIR)/$(BIN)
install: $(CGI_DIR)/$(BIN)
clean:
$(call DELFILE, $(BIN))
$(call DELFILE, $(R2SRC))
$(call DELFILE, *.r1)
$(call DELFILE, *.r2)
$(call CLEAN)
install:
$(Q) install -m 0755 -D $(BIN) $(CGI_DIR)/$(BIN)

View File

@ -48,13 +48,6 @@ if [ -z "$dir" ]; then
exit 1
fi
if [ ! -d "$dir" ]; then
echo "ERROR: Directory $dir does not exist"
echo ""
echo $usage
exit 1
fi
# Get the output file name
outfile=$2