Using gnu make's variable variable-names.
Unified · Split
| @@ -8,11 +8,6 @@ VPATH = $(top_srcdir) · 7 unmodified lines | |||
| 8 | 8 | ||
| 9 | CPPFLAGS = -I$(TOP) # for config.h | 9 | CPPFLAGS = -I$(TOP) # for config.h |
| 10 | 10 | ||
| 11 | CPPFLAGS_P=$(CPPFLAGS) -DCONFIG_TCC_STATIC | ||
| 12 | CFLAGS_P=$(CFLAGS) -pg -static | ||
| 13 | LIBS_P= | ||
| 14 | LDFLAGS_P=$(LDFLAGS) | ||
| 15 | |||
| 16 | ifeq (-$(findstring $(GCC_MAJOR),01)-,--) | 11 | ifeq (-$(findstring $(GCC_MAJOR),01)-,--) |
| 17 | CFLAGS+=-fno-strict-aliasing | 12 | CFLAGS+=-fno-strict-aliasing |
| 18 | ifeq (-$(findstring $(GCC_MAJOR),23)-,--) | 13 | ifeq (-$(findstring $(GCC_MAJOR),23)-,--) |
| @@ -23,12 +18,17 @@ else · 4 unmodified lines | |||
| 23 | CFLAGS+=-Wno-unused-result | 18 | CFLAGS+=-Wno-unused-result |
| 24 | endif | 19 | endif |
| 25 | endif | 20 | endif |
| 26 | endif | 21 | else # not GCC |
| 27 | 22 | ifeq (-$(findstring clang,$(CC))-,-clang-) | |
| 28 | # make clang accept gnuisms in libtcc1.c | 23 | # make clang accept gnuisms in libtcc1.c |
| 29 | ifeq ($(CC),clang) | ||
| 30 | CFLAGS+=-fheinous-gnu-extensions | 24 | CFLAGS+=-fheinous-gnu-extensions |
| 31 | endif | 25 | endif |
| 26 | endif | ||
| 27 | |||
| 28 | CPPFLAGS_P=$(CPPFLAGS) -DCONFIG_TCC_STATIC | ||
| 29 | CFLAGS_P=$(CFLAGS) -pg -static | ||
| 30 | LIBS_P= | ||
| 31 | LDFLAGS_P=$(LDFLAGS) | ||
| 32 | 32 | ||
| 33 | ifdef CONFIG_WIN64 | 33 | ifdef CONFIG_WIN64 |
| 34 | CONFIG_WIN32=yes | 34 | CONFIG_WIN32=yes |
| @@ -41,31 +41,6 @@ LIBS+=-ldl · 6 unmodified lines | |||
| 41 | endif | 41 | endif |
| 42 | endif | 42 | endif |
| 43 | 43 | ||
| 44 | ifeq ($(ARCH),i386) | ||
| 45 | NATIVE_DEFINES+=-DTCC_TARGET_I386 | ||
| 46 | else ifeq ($(ARCH),x86-64) | ||
| 47 | NATIVE_DEFINES+=-DTCC_TARGET_X86_64 | ||
| 48 | endif | ||
| 49 | |||
| 50 | ifeq ($(ARCH),arm) | ||
| 51 | NATIVE_DEFINES+=-DTCC_TARGET_ARM | ||
| 52 | NATIVE_DEFINES+=-DWITHOUT_LIBTCC | ||
| 53 | ifneq (,$(wildcard /lib/ld-linux-armhf.so.3 /lib/arm-linux-gnueabihf/ld-linux.so.3)) | ||
| 54 | NATIVE_DEFINES+=-DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT | ||
| 55 | else ifneq (,$(wildcard /lib/ld-linux.so.3)) | ||
| 56 | NATIVE_DEFINES+=-DTCC_ARM_EABI | ||
| 57 | endif | ||
| 58 | NATIVE_DEFINES+=$(if $(shell grep -l "^Features.* \(vfp\|iwmmxt\) " /proc/cpuinfo),-DTCC_ARM_VFP) | ||
| 59 | endif | ||
| 60 | |||
| 61 | ifdef CONFIG_WIN32 | ||
| 62 | NATIVE_DEFINES+=-DTCC_TARGET_PE | ||
| 63 | endif | ||
| 64 | |||
| 65 | ifneq ($(wildcard /lib/ld-uClibc.so.0),) | ||
| 66 | NATIVE_DEFINES+=-DTCC_UCLIBC | ||
| 67 | endif | ||
| 68 | |||
| 69 | # make libtcc as static or dynamic library? | 44 | # make libtcc as static or dynamic library? |
| 70 | ifdef DISABLE_STATIC | 45 | ifdef DISABLE_STATIC |
| 71 | LIBTCC=libtcc.so.1.0 | 46 | LIBTCC=libtcc.so.1.0 |
| @@ -78,6 +53,17 @@ LIBTCC=libtcc.a · 6 unmodified lines | |||
| 78 | LINK_LIBTCC= | 53 | LINK_LIBTCC= |
| 79 | endif | 54 | endif |
| 80 | 55 | ||
| 56 | CONFIG_$(ARCH) = yes | ||
| 57 | NATIVE_DEFINES_$(CONFIG_i386) += -DTCC_TARGET_I386 | ||
| 58 | NATIVE_DEFINES_$(CONFIG_x86-64) += -DTCC_TARGET_X86_64 | ||
| 59 | NATIVE_DEFINES_$(CONFIG_WIN32) += -DTCC_TARGET_PE | ||
| 60 | NATIVE_DEFINES_$(CONFIG_uClibc) += -DTCC_UCLIBC | ||
| 61 | NATIVE_DEFINES_$(CONFIG_arm) += -DTCC_TARGET_ARM -DWITHOUT_LIBTCC | ||
| 62 | NATIVE_DEFINES_$(CONFIG_arm_eabihf) += -DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT | ||
| 63 | NATIVE_DEFINES_$(CONFIG_arm_eabi) += -DTCC_ARM_EABI | ||
| 64 | NATIVE_DEFINES_$(CONFIG_arm_vfp) += -DTCC_ARM_VFP | ||
| 65 | NATIVE_DEFINES += $(NATIVE_DEFINES_yes) | ||
| 66 | |||
| 81 | ifeq ($(TOP),.) | 67 | ifeq ($(TOP),.) |
| 82 | 68 | ||
| 83 | PROGS=tcc$(EXESUF) | 69 | PROGS=tcc$(EXESUF) |
| @@ -44,6 +44,7 @@ tcc_libpaths="" · 43 unmodified lines | |||
| 44 | tcc_crtprefix="" | 44 | tcc_crtprefix="" |
| 45 | tcc_elfinterp="" | 45 | tcc_elfinterp="" |
| 46 | tcc_lddir= | 46 | tcc_lddir= |
| 47 | confvars= | ||
| 47 | 48 | ||
| 48 | cpu=`uname -m` | 49 | cpu=`uname -m` |
| 49 | 50 | ||
| @@ -304,6 +305,17 @@ if test -z "$cross_prefix" ; then · 254 unmodified lines | |||
| 304 | tcc_lddir="lib64" | 305 | tcc_lddir="lib64" |
| 305 | fi | 306 | fi |
| 306 | 307 | ||
| 308 | if test "$cpu" = "armv4l" ; then | ||
| 309 | if test "${triplet%eabihf}" != "$triplet" ; then | ||
| 310 | confvars="$confvars arm_eabihf" | ||
| 311 | elif test "${triplet%eabi}" != "$triplet" ; then | ||
| 312 | confvars="$confvars arm_eabi" | ||
| 313 | fi | ||
| 314 | if grep -s -q "^Features.* \(vfp\|iwmmxt\) " /proc/cpuinfo ; then | ||
| 315 | confvars="$confvars arm_vfp" | ||
| 316 | fi | ||
| 317 | fi | ||
| 318 | |||
| 307 | # multiarch_triplet=${libc_dir#*/} | 319 | # multiarch_triplet=${libc_dir#*/} |
| 308 | # multiarch_triplet=${multiarch_triplet%/} | 320 | # multiarch_triplet=${multiarch_triplet%/} |
| 309 | # tcc_lddir="${libc_dir%%/*}" | 321 | # tcc_lddir="${libc_dir%%/*}" |
| @@ -311,6 +323,9 @@ if test -z "$cross_prefix" ; then · 1 unmodified line | |||
| 311 | # tcc_lddir="$tcc_lddir/$multiarch_triplet" | 323 | # tcc_lddir="$tcc_lddir/$multiarch_triplet" |
| 312 | # fi | 324 | # fi |
| 313 | 325 | ||
| 326 | if test -f "/lib/ld-uClibc.so.0" ; then | ||
| 327 | confvars="$confvars uClibc" | ||
| 328 | fi | ||
| 314 | # gr: maybe for after the release: | 329 | # gr: maybe for after the release: |
| 315 | # tcc_elfinterp="$(ldd $CONFTEST | grep 'ld.*.so' | sed 's,\s*\(\S\+\).*,\1,')" | 330 | # tcc_elfinterp="$(ldd $CONFTEST | grep 'ld.*.so' | sed 's,\s*\(\S\+\).*,\1,')" |
| 316 | # echo "elfinterp $tcc_elfinterp" | 331 | # echo "elfinterp $tcc_elfinterp" |
| @@ -424,6 +439,9 @@ fi · 107 unmodified lines | |||
| 424 | 439 | ||
| 425 | echo "TARGETOS=$targetos" >> config.mak | 440 | echo "TARGETOS=$targetos" >> config.mak |
| 426 | 441 | ||
| 442 | for v in $confvars ; do | ||
| 443 | echo "CONFIG_$v=yes" >> config.mak | ||
| 444 | done | ||
| 427 | if test "$noldl" = "yes" ; then | 445 | if test "$noldl" = "yes" ; then |
| 428 | echo "CONFIG_NOLDL=yes" >> config.mak | 446 | echo "CONFIG_NOLDL=yes" >> config.mak |
| 429 | fi | 447 | fi |