headers: $(top_builddir)include/bits/uClibc_config.h
subdirs: $(addprefix $(top_builddir),$(subdirs))
-pregen: $(top_builddir)include/bits/sysnum.h headers subdirs $(pthread_pregen)
+pregen-headers-y := $(top_builddir)include/bits/sysnum.h
+pregen: $(pregen-headers-y) headers subdirs
$(Q)$(if $(UCLIBC_HAS_LOCALE),$(MAKE) -C extra/locale locale_headers)
$(top_builddir)include/bits/sysnum.h: $(top_srcdir)extra/scripts/gen_bits_syscall_h.sh
-include $(PTHREAD_DIR)/sysdeps/unix/sysv/linux/Makefile.in
-include $(PTHREAD_DIR)/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/Makefile.arch
-pthread_pregen := nptl_headers nptl_arch_headers nptl_linux_headers
+pregen-headers-$(UCLIBC_HAS_THREADS_NATIVE) += $(nptl_headers) $(nptl_arch_headers) $(nptl_linux_headers)
lib-a-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.a
lib-so-$(UCLIBC_HAS_THREADS) += $(top_builddir)lib/libpthread.so
$(top_builddir)include/bits/stdio-lock.h: | include/bits
$(do_ln) ../../$(PTDIR)/sysdeps/pthread/bits/$(@F) $(top_builddir)$@
-nptl_headers_bootstrap:= $(top_builddir)include/pthread.h \
+nptl_headers_bootstrap := $(top_builddir)include/pthread.h \
$(top_builddir)include/semaphore.h \
$(top_builddir)include/bits/semaphore.h \
$(top_builddir)include/bits/pthreadtypes.h \
$(top_builddir)include/bits/libc-lock.h \
$(top_builddir)include/bits/stdio-lock.h
-nptl_headers: $(PTHREAD_OUT)/pthread-errnos.h
+nptl_headers := $(PTHREAD_OUT)/pthread-errnos.h
nptl_headers_clean:
$(do_rm) $(nptl_headers_bootstrap) \
$(PTHREAD_ARCH_OUT)/tcb-offsets.s: $(PTHREAD_ARCH_OUT)/tcb-offsets.c
$(compile.c)
-nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.s
+$(PTHREAD_ARCH_OUT)/tcb-offsets.h: $(PTHREAD_ARCH_OUT)/tcb-offsets.s
$(do_sed) -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $(PTHREAD_ARCH_OUT)/tcb-offsets.h
+nptl_arch_headers := $(PTHREAD_ARCH_OUT)/tcb-offsets.h
+
nptl_arch_headers_clean:
$(RM) $(PTHREAD_ARCH_OUT)/tcb-offsets.c \
$(PTHREAD_ARCH_OUT)/tcb-offsets.s \
$(PTHREAD_ARCH_OUT)/tcb-offsets.h: $(PTHREAD_ARCH_OUT)/tcb-offsets.s
@sed -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@
-nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.h
+nptl_arch_headers := $(PTHREAD_ARCH_OUT)/tcb-offsets.h
nptl_arch_headers_clean:
$(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/tcb-offsets., c s h)
$(PTHREAD_ARCH_OUT)/tcb-offsets.s: $(PTHREAD_ARCH_OUT)/tcb-offsets.c
$(compile.c)
-nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.s
+$(PTHREAD_ARCH_OUT)/tcb-offsets.h: $(PTHREAD_ARCH_OUT)/tcb-offsets.s
$(do_sed) -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $(PTHREAD_ARCH_OUT)/tcb-offsets.h
+nptl_arch_headers := $(PTHREAD_ARCH_OUT)/tcb-offsets.h
+
nptl_arch_headers_clean:
$(RM) $(PTHREAD_ARCH_OUT)/tcb-offsets.c \
$(PTHREAD_ARCH_OUT)/tcb-offsets.s \
$(PTHREAD_ARCH_OUT)/tcb-offsets.h: $(PTHREAD_ARCH_OUT)/tcb-offsets.s
$(do_sed) -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@
-nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.h
+nptl_arch_headers := $(PTHREAD_ARCH_OUT)/tcb-offsets.h
nptl_arch_headers_clean:
$(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/tcb-offsets., c s h)
$(PTHREAD_ARCH_OUT)/tcb-offsets.h: $(PTHREAD_ARCH_OUT)/tcb-offsets.s
@sed -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@
-nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.h
+nptl_arch_headers := $(PTHREAD_ARCH_OUT)/tcb-offsets.h
nptl_arch_headers_clean:
$(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/tcb-offsets., c s h)
$(PTHREAD_LINUX_OUT)/pthread-pi-defines.h: $(PTHREAD_LINUX_OUT)/gen_lpthread-pi-defines.s
$(do_sed) -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@
-nptl_linux_headers: $(PTHREAD_LINUX_OUT)/lowlevelbarrier.h \
+nptl_linux_headers := $(PTHREAD_LINUX_OUT)/lowlevelbarrier.h \
$(PTHREAD_LINUX_OUT)/lowlevelcond.h \
$(PTHREAD_LINUX_OUT)/lowlevelrwlock.h \
$(PTHREAD_LINUX_OUT)/lowlevelrobustlock.h \
$(PTHREAD_ARCH_OUT)/tcb-offsets.h: $(PTHREAD_ARCH_OUT)/tcb-offsets.s
@sed -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@
-nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.h
+nptl_arch_headers := $(PTHREAD_ARCH_OUT)/tcb-offsets.h
nptl_arch_headers_clean:
$(do_rm) $(addprefix $(PTHREAD_ARCH_OUT)/tcb-offsets., c s h)