@@ -772,7 +772,7 @@ $(OBJDIR)/%.o: %.s $(INCLUDE_DIRS)
772
772
$(DLMALLOC_OBJS ) $(DLMALLOC_SO_OBJS ) : CFLAGS += \
773
773
-I$(DLMALLOC_INC)
774
774
775
- startup_files $(LIBC_BOTTOM_HALF_ALL_OBJS ) $(LIBC_BOTTOM_HALF_ALL_SO_OBJS ) : CFLAGS += \
775
+ $( STARTUP_FILES ) $(LIBC_BOTTOM_HALF_ALL_OBJS ) $(LIBC_BOTTOM_HALF_ALL_SO_OBJS ) : CFLAGS += \
776
776
-I$(LIBC_BOTTOM_HALF_HEADERS_PRIVATE) \
777
777
-I$(LIBC_BOTTOM_HALF_CLOUDLIBC_SRC_INC) \
778
778
-I$(LIBC_BOTTOM_HALF_CLOUDLIBC_SRC) \
@@ -849,13 +849,18 @@ endif
849
849
@mkdir -p $(@D)
850
850
touch $@
851
851
852
- startup_files : $(INCLUDE_DIRS ) $(LIBC_BOTTOM_HALF_CRT_OBJS )
852
+ STARTUP_FILES := $(OBJDIR ) /copy-startup-files.stamp
853
+ $(STARTUP_FILES ) : $(INCLUDE_DIRS ) $(LIBC_BOTTOM_HALF_CRT_OBJS )
853
854
#
854
- # Install the startup files (crt1.o etc).
855
+ # Install the startup files (crt1.o, etc. ).
855
856
#
856
- mkdir -p " $( SYSROOT_LIB) " && \
857
+ mkdir -p " $( SYSROOT_LIB) "
857
858
cp $(LIBC_BOTTOM_HALF_CRT_OBJS ) " $( SYSROOT_LIB) "
858
859
860
+ # Stamp the startup file installation.
861
+ @mkdir -p $(@D)
862
+ touch $@
863
+
859
864
# TODO: As of this writing, wasi_thread_start.s uses non-position-independent
860
865
# code, and I'm not sure how to make it position-independent. Once we've done
861
866
# that, we can enable libc.so for the wasi-threads build.
@@ -907,7 +912,7 @@ $(DUMMY_LIBS):
907
912
$(AR ) crs " $$ lib" ; \
908
913
done
909
914
910
- finish : startup_files libc $(DUMMY_LIBS )
915
+ finish : $( STARTUP_FILES ) libc $(DUMMY_LIBS )
911
916
#
912
917
# The build succeeded! The generated sysroot is in $(SYSROOT).
913
918
#
@@ -935,7 +940,7 @@ endif
935
940
endif
936
941
937
942
938
- check-symbols : startup_files libc
943
+ check-symbols : $( STARTUP_FILES ) libc
939
944
#
940
945
# Collect metadata on the sysroot and perform sanity checks.
941
946
#
@@ -1114,4 +1119,4 @@ clean:
1114
1119
$(RM ) -r " $( OBJDIR) "
1115
1120
$(RM ) -r " $( SYSROOT) "
1116
1121
1117
- .PHONY : default startup_files libc libc_so finish install clean check-symbols bindings
1122
+ .PHONY : default libc libc_so finish install clean check-symbols bindings
0 commit comments