Krolyxon
Commit d9db7d7

Branches

Refs →

nsxivd9db7d7

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.
Author
N-R-K
Date
2022-02-27 14:47 +0000
Committer
GitHub · 2022-02-27 14:47 +0000
Parent
bda7086
Commit
d9db7d76b44e7d5c9bc48934d8b4e441104d3edc

+24 −29

2 files changed

  1. M .github/workflows/build.yml +8 −14
  2. M Makefile +16 −15
M .github/workflows/build.yml View
@@ -17,7 +17,7 @@ jobs:
1717 sudo apt-get update
1818 sudo apt-get install libimlib2 libimlib2-dev xserver-xorg-core xserver-xorg-dev \
1919 libxft2 libxft-dev libexif12 libexif-dev \
20− gcc clang
20+ gcc clang git
2121 TCC_SHA="027b8fb9b88fe137447fb8bb1b61079be9702472"
2222 wget "https://github.com/TinyCC/tinycc/archive/${TCC_SHA}.tar.gz" && tar xzf "${TCC_SHA}.tar.gz"
2323 ( cd "tinycc-$TCC_SHA" && ./configure && make && sudo make install; )
@@ -32,12 +32,9 @@ jobs:
3232 CFLAGS+=" -Wbad-function-cast -Wdeclaration-after-statement"
3333 # silence
3434 CFLAGS+=" -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers"
35− export CFLAGS
36− export LDFLAGS="$CFLAGS"
37− export OPT_DEP_DEFAULT=1
38− echo "### GCC BUILD ###" && make clean && CC=gcc make -s
39− echo "### CLANG BUILD ###" && make clean && CC=clang make -s
40− echo "### TCC BUILD ###" && make clean && CC=tcc make -s
35+ echo "### GCC BUILD ###" && make clean && make -s CC=gcc CFLAGS="$CFLAGS" LDFLAGS="$CFLAGS" OPT_DEP_DEFAULT=1
36+ echo "### CLANG BUILD ###" && make clean && make -s CC=clang CFLAGS="$CFLAGS" LDFLAGS="$CFLAGS" OPT_DEP_DEFAULT=1
37+ echo "### TCC BUILD ###" && make clean && make -s CC=tcc CFLAGS="$CFLAGS" LDFLAGS="$CFLAGS" OPT_DEP_DEFAULT=1
4138
4239 minimal-build:
4340 runs-on: ubuntu-latest
@@ -47,7 +44,7 @@ jobs:
4744 run: |
4845 sudo apt-get update
4946 sudo apt-get install libimlib2 libimlib2-dev xserver-xorg-core xserver-xorg-dev \
50− gcc clang
47+ gcc clang git
5148 sudo apt-get remove libxft2 libxft-dev libexif12 libexif-dev
5249 TCC_SHA="027b8fb9b88fe137447fb8bb1b61079be9702472"
5350 wget "https://github.com/TinyCC/tinycc/archive/${TCC_SHA}.tar.gz" && tar xzf "${TCC_SHA}.tar.gz"
@@ -63,9 +60,6 @@ jobs:
6360 CFLAGS+=" -Wbad-function-cast -Wdeclaration-after-statement"
6461 # silence
6562 CFLAGS+=" -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers"
66− export CFLAGS
67− export LDFLAGS="$CFLAGS"
68− export OPT_DEP_DEFAULT=0
69− echo "### GCC BUILD ###" && make clean && CC=gcc make -s
70− echo "### CLANG BUILD ###" && make clean && CC=clang make -s
71− echo "### TCC BUILD ###" && make clean && CC=tcc make -s
63+ echo "### GCC BUILD ###" && make clean && make -s CC=gcc CFLAGS="$CFLAGS" LDFLAGS="$CFLAGS" OPT_DEP_DEFAULT=0
64+ echo "### CLANG BUILD ###" && make clean && make -s CC=clang CFLAGS="$CFLAGS" LDFLAGS="$CFLAGS" OPT_DEP_DEFAULT=0
65+ echo "### TCC BUILD ###" && make clean && make -s CC=tcc CFLAGS="$CFLAGS" LDFLAGS="$CFLAGS" OPT_DEP_DEFAULT=0
M Makefile View
@@ -1,25 +1,27 @@
1+.POSIX:
2+
13 # nsxiv version
24 VERSION = 28
35
46 # PREFIX for install
5−PREFIX ?= /usr/local
6−MANPREFIX ?= $(PREFIX)/share/man
7−EGPREFIX ?= $(PREFIX)/share/doc/nsxiv/examples
7+PREFIX = /usr/local
8+MANPREFIX = $(PREFIX)/share/man
9+EGPREFIX = $(PREFIX)/share/doc/nsxiv/examples
810
911 # default value for optional dependencies. 1 = enabled, 0 = disabled
10−OPT_DEP_DEFAULT ?= 1
12+OPT_DEP_DEFAULT = 1
1113
1214 # autoreload backend: 1 = inotify, 0 = none
13−HAVE_INOTIFY ?= $(OPT_DEP_DEFAULT)
15+HAVE_INOTIFY = $(OPT_DEP_DEFAULT)
1416
1517 # optional dependencies, see README for more info
16−HAVE_LIBFONTS ?= $(OPT_DEP_DEFAULT)
17−HAVE_LIBGIF ?= $(OPT_DEP_DEFAULT)
18−HAVE_LIBEXIF ?= $(OPT_DEP_DEFAULT)
19−HAVE_LIBWEBP ?= $(OPT_DEP_DEFAULT)
18+HAVE_LIBFONTS = $(OPT_DEP_DEFAULT)
19+HAVE_LIBGIF = $(OPT_DEP_DEFAULT)
20+HAVE_LIBEXIF = $(OPT_DEP_DEFAULT)
21+HAVE_LIBWEBP = $(OPT_DEP_DEFAULT)
2022
2123 # CFLAGS, any optimization flags goes here
22−CFLAGS ?= -std=c99 -Wall -pedantic
24+CFLAGS = -std=c99 -Wall -pedantic
2325
2426 # icons that will be installed via `make icon`
2527 ICONS = 16x16.png 32x32.png 48x48.png 64x64.png 128x128.png
@@ -42,15 +44,14 @@ lib_webp_0 =
4244 lib_webp_1 = -lwebpdemux -lwebp
4345 autoreload_0 = nop
4446 autoreload_1 = inotify
45−# using += because certain *BSD distros may need to add additional flags
46−LDLIBS += -lImlib2 -lX11 \
47+
48+NSXIV_LDLIBS = -lImlib2 -lX11 \
4749 $(lib_exif_$(HAVE_LIBEXIF)) $(lib_gif_$(HAVE_LIBGIF)) \
4850 $(lib_webp_$(HAVE_LIBWEBP)) $(lib_fonts_$(HAVE_LIBFONTS))
4951
5052 OBJS = autoreload_$(autoreload_$(HAVE_INOTIFY)).o commands.o image.o main.o options.o \
5153 thumbs.o util.o window.o
5254
53−.PHONY: all clean install uninstall install-all install-icon uninstall-icon install-desktop
5455 .SUFFIXES:
5556 .SUFFIXES: .c .o
5657
@@ -58,7 +59,7 @@ all: nsxiv
5859
5960 nsxiv: $(OBJS)
6061 @echo "LINK $@"
61− $(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)
62+ $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS) $(NSXIV_LDLIBS)
6263
6364 .c.o:
6465 @echo "CC $@"
@@ -74,7 +75,7 @@ config.h:
7475
7576 version.h: Makefile .git/index
7677 @echo "GEN $@"
77− v="$$(git describe 2>/dev/null)"; \
78+ v="$$(git describe 2>/dev/null || true)"; \
7879 echo "#define VERSION \"$${v:-$(VERSION)}\"" >$@
7980
8081 .git/index: