~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/include/nolibc/Makefile

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /tools/include/nolibc/Makefile (Version linux-6.12-rc7) and /tools/include/nolibc/Makefile (Version linux-6.7.12)


  1 # SPDX-License-Identifier: GPL-2.0                  1 # SPDX-License-Identifier: GPL-2.0
  2 # Makefile for nolibc installation and tests        2 # Makefile for nolibc installation and tests
  3 include ../../scripts/Makefile.include              3 include ../../scripts/Makefile.include
  4                                                     4 
  5 # we're in ".../tools/include/nolibc"               5 # we're in ".../tools/include/nolibc"
  6 ifeq ($(srctree),)                                  6 ifeq ($(srctree),)
  7 srctree := $(patsubst %/tools/include/,%,$(dir      7 srctree := $(patsubst %/tools/include/,%,$(dir $(CURDIR)))
  8 endif                                               8 endif
  9                                                     9 
 10 # when run as make -C tools/ nolibc_<foo> the      10 # when run as make -C tools/ nolibc_<foo> the arch is not set
 11 ifeq ($(ARCH),)                                    11 ifeq ($(ARCH),)
 12 include $(srctree)/scripts/subarch.include         12 include $(srctree)/scripts/subarch.include
 13 ARCH = $(SUBARCH)                                  13 ARCH = $(SUBARCH)
 14 endif                                              14 endif
 15                                                    15 
 16 # OUTPUT is only set when run from the main ma     16 # OUTPUT is only set when run from the main makefile, otherwise
 17 # it defaults to this nolibc directory.            17 # it defaults to this nolibc directory.
 18 OUTPUT ?= $(CURDIR)/                               18 OUTPUT ?= $(CURDIR)/
 19                                                    19 
 20 ifeq ($(V),1)                                      20 ifeq ($(V),1)
 21 Q=                                                 21 Q=
 22 else                                               22 else
 23 Q=@                                                23 Q=@
 24 endif                                              24 endif
 25                                                    25 
 26 nolibc_arch := $(patsubst arm64,aarch64,$(ARCH     26 nolibc_arch := $(patsubst arm64,aarch64,$(ARCH))
 27 arch_file := arch-$(nolibc_arch).h                 27 arch_file := arch-$(nolibc_arch).h
 28 all_files := \                                     28 all_files := \
 29                 compiler.h \                       29                 compiler.h \
 30                 crt.h \                            30                 crt.h \
 31                 ctype.h \                          31                 ctype.h \
 32                 errno.h \                          32                 errno.h \
 33                 nolibc.h \                         33                 nolibc.h \
 34                 signal.h \                         34                 signal.h \
 35                 stackprotector.h \                 35                 stackprotector.h \
 36                 std.h \                            36                 std.h \
 37                 stdarg.h \                         37                 stdarg.h \
 38                 stdbool.h \                    << 
 39                 stdint.h \                         38                 stdint.h \
 40                 stdlib.h \                         39                 stdlib.h \
 41                 string.h \                         40                 string.h \
 42                 sys.h \                            41                 sys.h \
 43                 time.h \                           42                 time.h \
 44                 types.h \                          43                 types.h \
 45                 unistd.h \                         44                 unistd.h \
 46                 stdio.h \                          45                 stdio.h \
 47                                                    46 
 48                                                    47 
 49 # install all headers needed to support a bare     48 # install all headers needed to support a bare-metal compiler
 50 all: headers                                       49 all: headers
 51                                                    50 
 52 install: help                                      51 install: help
 53                                                    52 
 54 help:                                              53 help:
 55         @echo "Supported targets under nolibc:     54         @echo "Supported targets under nolibc:"
 56         @echo "  all                 call \"he     55         @echo "  all                 call \"headers\""
 57         @echo "  clean               clean the     56         @echo "  clean               clean the sysroot"
 58         @echo "  headers             prepare a     57         @echo "  headers             prepare a sysroot in tools/include/nolibc/sysroot"
 59         @echo "  headers_standalone  like \"he     58         @echo "  headers_standalone  like \"headers\", and also install kernel headers"
 60         @echo "  help                this help     59         @echo "  help                this help"
 61         @echo ""                                   60         @echo ""
 62         @echo "These targets may also be calle     61         @echo "These targets may also be called from tools as \"make nolibc_<target>\"."
 63         @echo ""                                   62         @echo ""
 64         @echo "Currently using the following v     63         @echo "Currently using the following variables:"
 65         @echo "  ARCH    = $(ARCH)"                64         @echo "  ARCH    = $(ARCH)"
 66         @echo "  OUTPUT  = $(OUTPUT)"              65         @echo "  OUTPUT  = $(OUTPUT)"
 67         @echo ""                                   66         @echo ""
 68                                                    67 
 69 # Note: when ARCH is "x86" we concatenate both     68 # Note: when ARCH is "x86" we concatenate both x86_64 and i386
 70 headers:                                           69 headers:
 71         $(Q)mkdir -p $(OUTPUT)sysroot              70         $(Q)mkdir -p $(OUTPUT)sysroot
 72         $(Q)mkdir -p $(OUTPUT)sysroot/include      71         $(Q)mkdir -p $(OUTPUT)sysroot/include
 73         $(Q)cp $(all_files) $(OUTPUT)sysroot/i     72         $(Q)cp $(all_files) $(OUTPUT)sysroot/include/
 74         $(Q)if [ "$(ARCH)" = "x86" ]; then         73         $(Q)if [ "$(ARCH)" = "x86" ]; then      \
 75                 sed -e                             74                 sed -e                          \
 76                   's,^#ifndef _NOLIBC_ARCH_X86     75                   's,^#ifndef _NOLIBC_ARCH_X86_64_H,#if !defined(_NOLIBC_ARCH_X86_64_H) \&\& defined(__x86_64__),' \
 77                   arch-x86_64.h;                   76                   arch-x86_64.h;                \
 78                 sed -e                             77                 sed -e                          \
 79                   's,^#ifndef _NOLIBC_ARCH_I38     78                   's,^#ifndef _NOLIBC_ARCH_I386_H,#if !defined(_NOLIBC_ARCH_I386_H) \&\& !defined(__x86_64__),' \
 80                   arch-i386.h;                     79                   arch-i386.h;                  \
 81         elif [ -e "$(arch_file)" ]; then           80         elif [ -e "$(arch_file)" ]; then        \
 82                 cat $(arch_file);                  81                 cat $(arch_file);               \
 83         else                                       82         else                                    \
 84                 echo "Fatal: architecture $(AR     83                 echo "Fatal: architecture $(ARCH) not yet supported by nolibc." >&2; \
 85                 exit 1;                            84                 exit 1;                         \
 86         fi > $(OUTPUT)sysroot/include/arch.h       85         fi > $(OUTPUT)sysroot/include/arch.h
 87                                                    86 
 88 headers_standalone: headers                        87 headers_standalone: headers
 89         $(Q)$(MAKE) -C $(srctree) headers          88         $(Q)$(MAKE) -C $(srctree) headers
 90         $(Q)$(MAKE) -C $(srctree) headers_inst     89         $(Q)$(MAKE) -C $(srctree) headers_install INSTALL_HDR_PATH=$(OUTPUT)sysroot
 91                                                    90 
 92 clean:                                             91 clean:
 93         $(call QUIET_CLEAN, nolibc) rm -rf "$(     92         $(call QUIET_CLEAN, nolibc) rm -rf "$(OUTPUT)sysroot"
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php