Makefile: cleanup non-posix stuff (#225)
remove some non-posix extensions which slipped through and adjust ci to new Makefile changes users can still overwrite the variables explicitly by using `make VAR=VALUE` packagers can also add extra libs to LDLIBS, we're internally using NSXIV_LDLIBS now.
This commit is contained in:
parent
bda70867ac
commit
d9db7d76b4
22
.github/workflows/build.yml
vendored
22
.github/workflows/build.yml
vendored
|
@ -17,7 +17,7 @@ jobs:
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install libimlib2 libimlib2-dev xserver-xorg-core xserver-xorg-dev \
|
sudo apt-get install libimlib2 libimlib2-dev xserver-xorg-core xserver-xorg-dev \
|
||||||
libxft2 libxft-dev libexif12 libexif-dev \
|
libxft2 libxft-dev libexif12 libexif-dev \
|
||||||
gcc clang
|
gcc clang git
|
||||||
TCC_SHA="027b8fb9b88fe137447fb8bb1b61079be9702472"
|
TCC_SHA="027b8fb9b88fe137447fb8bb1b61079be9702472"
|
||||||
wget "https://github.com/TinyCC/tinycc/archive/${TCC_SHA}.tar.gz" && tar xzf "${TCC_SHA}.tar.gz"
|
wget "https://github.com/TinyCC/tinycc/archive/${TCC_SHA}.tar.gz" && tar xzf "${TCC_SHA}.tar.gz"
|
||||||
( cd "tinycc-$TCC_SHA" && ./configure && make && sudo make install; )
|
( cd "tinycc-$TCC_SHA" && ./configure && make && sudo make install; )
|
||||||
|
@ -32,12 +32,9 @@ jobs:
|
||||||
CFLAGS+=" -Wbad-function-cast -Wdeclaration-after-statement"
|
CFLAGS+=" -Wbad-function-cast -Wdeclaration-after-statement"
|
||||||
# silence
|
# silence
|
||||||
CFLAGS+=" -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers"
|
CFLAGS+=" -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers"
|
||||||
export CFLAGS
|
echo "### GCC BUILD ###" && make clean && make -s CC=gcc CFLAGS="$CFLAGS" LDFLAGS="$CFLAGS" OPT_DEP_DEFAULT=1
|
||||||
export LDFLAGS="$CFLAGS"
|
echo "### CLANG BUILD ###" && make clean && make -s CC=clang CFLAGS="$CFLAGS" LDFLAGS="$CFLAGS" OPT_DEP_DEFAULT=1
|
||||||
export OPT_DEP_DEFAULT=1
|
echo "### TCC BUILD ###" && make clean && make -s CC=tcc CFLAGS="$CFLAGS" LDFLAGS="$CFLAGS" OPT_DEP_DEFAULT=1
|
||||||
echo "### GCC BUILD ###" && make clean && CC=gcc make -s
|
|
||||||
echo "### CLANG BUILD ###" && make clean && CC=clang make -s
|
|
||||||
echo "### TCC BUILD ###" && make clean && CC=tcc make -s
|
|
||||||
|
|
||||||
minimal-build:
|
minimal-build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -47,7 +44,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install libimlib2 libimlib2-dev xserver-xorg-core xserver-xorg-dev \
|
sudo apt-get install libimlib2 libimlib2-dev xserver-xorg-core xserver-xorg-dev \
|
||||||
gcc clang
|
gcc clang git
|
||||||
sudo apt-get remove libxft2 libxft-dev libexif12 libexif-dev
|
sudo apt-get remove libxft2 libxft-dev libexif12 libexif-dev
|
||||||
TCC_SHA="027b8fb9b88fe137447fb8bb1b61079be9702472"
|
TCC_SHA="027b8fb9b88fe137447fb8bb1b61079be9702472"
|
||||||
wget "https://github.com/TinyCC/tinycc/archive/${TCC_SHA}.tar.gz" && tar xzf "${TCC_SHA}.tar.gz"
|
wget "https://github.com/TinyCC/tinycc/archive/${TCC_SHA}.tar.gz" && tar xzf "${TCC_SHA}.tar.gz"
|
||||||
|
@ -63,9 +60,6 @@ jobs:
|
||||||
CFLAGS+=" -Wbad-function-cast -Wdeclaration-after-statement"
|
CFLAGS+=" -Wbad-function-cast -Wdeclaration-after-statement"
|
||||||
# silence
|
# silence
|
||||||
CFLAGS+=" -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers"
|
CFLAGS+=" -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers"
|
||||||
export CFLAGS
|
echo "### GCC BUILD ###" && make clean && make -s CC=gcc CFLAGS="$CFLAGS" LDFLAGS="$CFLAGS" OPT_DEP_DEFAULT=0
|
||||||
export LDFLAGS="$CFLAGS"
|
echo "### CLANG BUILD ###" && make clean && make -s CC=clang CFLAGS="$CFLAGS" LDFLAGS="$CFLAGS" OPT_DEP_DEFAULT=0
|
||||||
export OPT_DEP_DEFAULT=0
|
echo "### TCC BUILD ###" && make clean && make -s CC=tcc CFLAGS="$CFLAGS" LDFLAGS="$CFLAGS" OPT_DEP_DEFAULT=0
|
||||||
echo "### GCC BUILD ###" && make clean && CC=gcc make -s
|
|
||||||
echo "### CLANG BUILD ###" && make clean && CC=clang make -s
|
|
||||||
echo "### TCC BUILD ###" && make clean && CC=tcc make -s
|
|
||||||
|
|
31
Makefile
31
Makefile
|
@ -1,25 +1,27 @@
|
||||||
|
.POSIX:
|
||||||
|
|
||||||
# nsxiv version
|
# nsxiv version
|
||||||
VERSION = 28
|
VERSION = 28
|
||||||
|
|
||||||
# PREFIX for install
|
# PREFIX for install
|
||||||
PREFIX ?= /usr/local
|
PREFIX = /usr/local
|
||||||
MANPREFIX ?= $(PREFIX)/share/man
|
MANPREFIX = $(PREFIX)/share/man
|
||||||
EGPREFIX ?= $(PREFIX)/share/doc/nsxiv/examples
|
EGPREFIX = $(PREFIX)/share/doc/nsxiv/examples
|
||||||
|
|
||||||
# default value for optional dependencies. 1 = enabled, 0 = disabled
|
# default value for optional dependencies. 1 = enabled, 0 = disabled
|
||||||
OPT_DEP_DEFAULT ?= 1
|
OPT_DEP_DEFAULT = 1
|
||||||
|
|
||||||
# autoreload backend: 1 = inotify, 0 = none
|
# autoreload backend: 1 = inotify, 0 = none
|
||||||
HAVE_INOTIFY ?= $(OPT_DEP_DEFAULT)
|
HAVE_INOTIFY = $(OPT_DEP_DEFAULT)
|
||||||
|
|
||||||
# optional dependencies, see README for more info
|
# optional dependencies, see README for more info
|
||||||
HAVE_LIBFONTS ?= $(OPT_DEP_DEFAULT)
|
HAVE_LIBFONTS = $(OPT_DEP_DEFAULT)
|
||||||
HAVE_LIBGIF ?= $(OPT_DEP_DEFAULT)
|
HAVE_LIBGIF = $(OPT_DEP_DEFAULT)
|
||||||
HAVE_LIBEXIF ?= $(OPT_DEP_DEFAULT)
|
HAVE_LIBEXIF = $(OPT_DEP_DEFAULT)
|
||||||
HAVE_LIBWEBP ?= $(OPT_DEP_DEFAULT)
|
HAVE_LIBWEBP = $(OPT_DEP_DEFAULT)
|
||||||
|
|
||||||
# CFLAGS, any optimization flags goes here
|
# CFLAGS, any optimization flags goes here
|
||||||
CFLAGS ?= -std=c99 -Wall -pedantic
|
CFLAGS = -std=c99 -Wall -pedantic
|
||||||
|
|
||||||
# icons that will be installed via `make icon`
|
# icons that will be installed via `make icon`
|
||||||
ICONS = 16x16.png 32x32.png 48x48.png 64x64.png 128x128.png
|
ICONS = 16x16.png 32x32.png 48x48.png 64x64.png 128x128.png
|
||||||
|
@ -42,15 +44,14 @@ lib_webp_0 =
|
||||||
lib_webp_1 = -lwebpdemux -lwebp
|
lib_webp_1 = -lwebpdemux -lwebp
|
||||||
autoreload_0 = nop
|
autoreload_0 = nop
|
||||||
autoreload_1 = inotify
|
autoreload_1 = inotify
|
||||||
# using += because certain *BSD distros may need to add additional flags
|
|
||||||
LDLIBS += -lImlib2 -lX11 \
|
NSXIV_LDLIBS = -lImlib2 -lX11 \
|
||||||
$(lib_exif_$(HAVE_LIBEXIF)) $(lib_gif_$(HAVE_LIBGIF)) \
|
$(lib_exif_$(HAVE_LIBEXIF)) $(lib_gif_$(HAVE_LIBGIF)) \
|
||||||
$(lib_webp_$(HAVE_LIBWEBP)) $(lib_fonts_$(HAVE_LIBFONTS))
|
$(lib_webp_$(HAVE_LIBWEBP)) $(lib_fonts_$(HAVE_LIBFONTS))
|
||||||
|
|
||||||
OBJS = autoreload_$(autoreload_$(HAVE_INOTIFY)).o commands.o image.o main.o options.o \
|
OBJS = autoreload_$(autoreload_$(HAVE_INOTIFY)).o commands.o image.o main.o options.o \
|
||||||
thumbs.o util.o window.o
|
thumbs.o util.o window.o
|
||||||
|
|
||||||
.PHONY: all clean install uninstall install-all install-icon uninstall-icon install-desktop
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
.SUFFIXES: .c .o
|
.SUFFIXES: .c .o
|
||||||
|
|
||||||
|
@ -58,7 +59,7 @@ all: nsxiv
|
||||||
|
|
||||||
nsxiv: $(OBJS)
|
nsxiv: $(OBJS)
|
||||||
@echo "LINK $@"
|
@echo "LINK $@"
|
||||||
$(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)
|
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS) $(NSXIV_LDLIBS)
|
||||||
|
|
||||||
.c.o:
|
.c.o:
|
||||||
@echo "CC $@"
|
@echo "CC $@"
|
||||||
|
@ -74,7 +75,7 @@ config.h:
|
||||||
|
|
||||||
version.h: Makefile .git/index
|
version.h: Makefile .git/index
|
||||||
@echo "GEN $@"
|
@echo "GEN $@"
|
||||||
v="$$(git describe 2>/dev/null)"; \
|
v="$$(git describe 2>/dev/null || true)"; \
|
||||||
echo "#define VERSION \"$${v:-$(VERSION)}\"" >$@
|
echo "#define VERSION \"$${v:-$(VERSION)}\"" >$@
|
||||||
|
|
||||||
.git/index:
|
.git/index:
|
||||||
|
|
Loading…
Reference in a new issue