Skip to content

Commit

Permalink
use gcc -dumpmachine to get OS name
Browse files Browse the repository at this point in the history
  • Loading branch information
k-okada committed Feb 24, 2022
1 parent 0f0bca5 commit 54db04e
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 5 deletions.
1 change: 1 addition & 0 deletions lisp/Makefile
23 changes: 22 additions & 1 deletion lisp/Makefile.Linux
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,28 @@ ADD_LDFLAGS += -Wl,--no-as-needed
endif

# set CPU arch with -D
MACHINE=$(shell uname -m)
GCC_MACHINE=$(shell gcc -dumpmachine)
$(info "-- GCC_MACHINE = ${GCC_MACHINE}")
ifneq ($(GCC_MACHINE),)
ifneq (,$(findstring x86_64-linux-gnu $(GCC_MACHINE)))
MACHINE=x86_64
endif
ifneq (,$(findstring i686-linux-gnu $(GCC_MACHINE)))
MACHINE=x86
endif
ifneq (,$(findstring aarch64-linux-gnu $(GCC_MACHINE)))
MACHINE=aarch64
endif
ifneq (,$(findstring arm-linux-gnu $(GCC_MACHINE)))
MACHINE=arm
endif
ifneq (,$(findstring powerpc64le-linux-gnu $(GCC_MACHINE)))
MACHINE=ppc64le
endif
ifneq (,$(findstring mips64el-linux-gnu $(GCC_MACHINE)))
MACHINE=mips64
endif
endif
# need to set 'i486', for conditionals in c/*.[ch].
ifneq ($(shell gcc -dumpmachine | grep "i.*86-linux"),)
MACHINE=i486
Expand Down
2 changes: 1 addition & 1 deletion lisp/Makefile.Linux.thread
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ GLLIB= -L$(ADLIBDIR) -lGLU -lGL -lXext -leusgl
THREADDEP=mthread_posix.c
#THREADDEP=pthreads.c

ifeq ($(shell /bin/uname -m), x86_64)
ifeq ($(shell gcc -dumpmachine | sed 's/\(.*\)-.*-.*/\1/'), x86_64)
CC += -m32 -DUSE_MULTI_LIB
LD += -melf_i386
endif
Expand Down
10 changes: 8 additions & 2 deletions lisp/image/jpeg/makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
# jpeg compression/decompression for euslisp
# copyright (c) 1997, Toshihiro Matsui, Electrotechnical Laboratory

OS = $(shell uname | sed s/-.*//)
ifeq ($(shell gcc -dumpmachine | sed 's/.*-\(.*\)-.*/\1/'), linux)
OS=Linux
else ifeq ($(shell gcc -dumpmachine | sed 's/.*-.*-\([a-zA-Z]*\).*/\1/'), darwin)
OS=Darwin
else ifeq ($(shell gcc -dumpmachine | sed 's/.*-.*-\(.*\)/\1/'), cygwin)
OS=Cygwin
endif
ifeq ($(OS), Linux)
LSFX = so
else
Expand All @@ -18,7 +24,7 @@ else
LD = gcc -dynamiclib
endif

ifeq ($(shell uname -m), x86_64)
ifeq ($(shell gcc -dumpmachine | sed 's/\(.*\)-.*-.*/\1/'), x86_64)
ifneq ($(ARCHDIR), Linux64)
ifneq ($(ARCHDIR), Darwin)
CC += -m32
Expand Down
8 changes: 7 additions & 1 deletion test/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
GCC_MACHINE=$(shell gcc -dumpmachine)
$(info "-- GCC_MACHINE = ${GCC_MACHINE}")
OS=$(shell uname -s | sed 's/[^A-Za-z1-9].*//')
ifeq ($(shell echo $(GCC_MACHINE) | sed 's/.*-\(.*\)-.*/\1/'), linux)
OS=Linux
else ifeq ($(shell echo $(GCC_MACHINE) | sed 's/.*-.*-\([a-zA-Z]*\).*/\1/'), darwin)
OS=Darwin
else ifeq ($(shell echo $(GCC_MACHINE) | sed 's/.*-.*-\(.*\)/\1/'), cygwin)
OS=Cygwin
endif
$(info "-- OS = ${OS}")
ifeq ($(OS),Linux)
export MAKEFILE=Makefile.Linux
Expand Down

0 comments on commit 54db04e

Please sign in to comment.