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:
N-R-K 2022-02-27 14:47:06 +00:00 committed by GitHub
parent bda70867ac
commit d9db7d76b4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 29 deletions

View file

@ -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

View file

@ -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: