commit
74cea92aff
|
@ -1,21 +1,60 @@
|
||||||
|
# check if we need LD to implement images
|
||||||
|
# in order of preference: xxd -i, xxdi.pl, ld, ld.gold
|
||||||
|
|
||||||
|
# check for xxd (tool from vim)
|
||||||
# check if we need LD to implement images
|
ifeq ($(shell which xxd 2>&1 >/dev/null; echo $$?),0)
|
||||||
ifneq ($(shell xxd --version 2>&1 | head -n 1 | grep xxd),)
|
ifneq ($(shell xxd --version 2>&1 | head -n 1 | grep xxd),)
|
||||||
USE_XXD = 1
|
HAVE_XXD = 1
|
||||||
else ifneq ($(shell $(LD) --version 2>&1 | head -n 1 | grep LLD),)
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# check for xxdi.pl, a simple alternative to vim's 'xxd -i' mode
|
||||||
|
# https://github.com/gregkh/xxdi
|
||||||
|
#
|
||||||
|
ifeq ($(shell which xxdi.pl 2>&1 >/dev/null; echo $$?),0)
|
||||||
|
HAVE_XXDI_PL = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(shell $(LD) --version 2>&1 | head -n 1 | grep LLD),)
|
||||||
ifneq ($(shell uname -a | grep x86_64), )
|
ifneq ($(shell uname -a | grep x86_64), )
|
||||||
LDEMULATION := elf_x86_64
|
LDEMULATION := elf_x86_64
|
||||||
else ifneq ($(shell uname -a | grep amd64), )
|
else ifneq ($(shell uname -a | grep amd64), )
|
||||||
LDEMULATION := elf_x86_64
|
LDEMULATION := elf_x86_64
|
||||||
else ifneq ($(shell uname -a | grep i386), )
|
else ifneq ($(shell uname -a | grep i386), )
|
||||||
LDEMULATION := elf_i386
|
LDEMULATION := elf_i386
|
||||||
|
else ifeq ($(shell uname -m),aarch64)
|
||||||
|
LDEMULATION := aarch64elf
|
||||||
endif
|
endif
|
||||||
USE_LDD = 1
|
ifneq ($(LDEMULATION),)
|
||||||
else ifneq ($(shell gold --version 2>&1 | head -n 1 | grep gold),)
|
HAVE_KNOWN_LDEMULATION = 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifneq ($(shell gold --version 2>&1 | head -n 1 | grep gold),)
|
||||||
|
HAVE_LD_GOLD = 1
|
||||||
LD = gold
|
LD = gold
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
$(info HAVE_XXD="$(HAVE_XXD)")
|
||||||
|
$(info HAVE_XXDI_PL="$(HAVE_XXDI_PL)")
|
||||||
|
$(info HAVE_KNOWN_LDEMULATION="$(HAVE_KNOWN_LDEMULATION)")
|
||||||
|
$(info LDEMULATION="$(LDEMULATION)")
|
||||||
|
$(info HAVE_LD_GOLD="$(HAVE_LD_GOLD)")
|
||||||
|
|
||||||
|
ifeq ($(HAVE_XXD),1)
|
||||||
|
$(info Using xxd -i)
|
||||||
|
XXDI = xxd -i
|
||||||
|
else ifeq ($(HAVE_XXDI_PL),1)
|
||||||
|
$(info Using xxdi.pl)
|
||||||
|
XXDI = xxdi.pl
|
||||||
|
else ifeq ($(HAVE_KNOWN_LDEMULATION),1)
|
||||||
|
$(info Using $(LD) with LDEMULATION=$(LDEMULATION))
|
||||||
|
USE_LDD = 1
|
||||||
|
else ifeq ($(HAVE_LD_GOLD),1)
|
||||||
|
$(info Using $(LD) (gold))
|
||||||
|
else
|
||||||
|
$(error Neither xxd, nor xxdi.pl, nor suitable ld found)
|
||||||
|
endif
|
||||||
|
|
||||||
# set name
|
# set name
|
||||||
NAME = Xputty
|
NAME = Xputty
|
||||||
VER = 1.0
|
VER = 1.0
|
||||||
|
@ -109,9 +148,9 @@ $(RESOURCEHEADER): $(RESOURCES_OBJ)
|
||||||
$(XDG_OBJ): $(XDG_SOURCES)
|
$(XDG_OBJ): $(XDG_SOURCES)
|
||||||
$(CC) $(CFLAGS) -MMD -Wall -DHAVE_MMAP -c $(addprefix $(XDG_DIR),$(patsubst %.o,%.c,$@)) -o $@ $(INCLUDES) $(LDFLAGS)
|
$(CC) $(CFLAGS) -MMD -Wall -DHAVE_MMAP -c $(addprefix $(XDG_DIR),$(patsubst %.o,%.c,$@)) -o $@ $(INCLUDES) $(LDFLAGS)
|
||||||
|
|
||||||
ifdef USE_XXD
|
ifdef XXDI
|
||||||
$(RESOURCES_OBJ): $(RESOURCES)
|
$(RESOURCES_OBJ): $(RESOURCES)
|
||||||
cd $(RESOURCES_DIR) && xxd -i $(patsubst %.o,%.png,$@) > ../../Build/$(patsubst %.o,%.c,$@)
|
cd $(RESOURCES_DIR) && $(XXDI) $(patsubst %.o,%.png,$@) > ../../Build/$(patsubst %.o,%.c,$@)
|
||||||
$(CC) $(CFLAGS) -c $(patsubst %.o,%.c,$@) -o $@
|
$(CC) $(CFLAGS) -c $(patsubst %.o,%.c,$@) -o $@
|
||||||
else ifdef USE_LDD
|
else ifdef USE_LDD
|
||||||
$(RESOURCES_OBJ): $(RESOURCES)
|
$(RESOURCES_OBJ): $(RESOURCES)
|
||||||
|
|
Loading…
Reference in New Issue