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.
+24 −29
2 files changed
- M .github/workflows/build.yml +8 −14
- M Makefile +16 −15
| @@ -17,7 +17,7 @@ jobs: | |||
| 17 | 17 | sudo apt-get update | |
| 18 | 18 | sudo apt-get install libimlib2 libimlib2-dev xserver-xorg-core xserver-xorg-dev \ | |
| 19 | 19 | libxft2 libxft-dev libexif12 libexif-dev \ | |
| 20 | − | gcc clang | |
| 20 | + | gcc clang git | |
| 21 | 21 | TCC_SHA="027b8fb9b88fe137447fb8bb1b61079be9702472" | |
| 22 | 22 | wget "https://github.com/TinyCC/tinycc/archive/${TCC_SHA}.tar.gz" && tar xzf "${TCC_SHA}.tar.gz" | |
| 23 | 23 | ( cd "tinycc-$TCC_SHA" && ./configure && make && sudo make install; ) | |
| @@ -32,12 +32,9 @@ jobs: | |||
| 32 | 32 | CFLAGS+=" -Wbad-function-cast -Wdeclaration-after-statement" | |
| 33 | 33 | # silence | |
| 34 | 34 | 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 | |
| 41 | 38 | ||
| 42 | 39 | minimal-build: | |
| 43 | 40 | runs-on: ubuntu-latest | |
| @@ -47,7 +44,7 @@ jobs: | |||
| 47 | 44 | run: | | |
| 48 | 45 | sudo apt-get update | |
| 49 | 46 | sudo apt-get install libimlib2 libimlib2-dev xserver-xorg-core xserver-xorg-dev \ | |
| 50 | − | gcc clang | |
| 47 | + | gcc clang git | |
| 51 | 48 | sudo apt-get remove libxft2 libxft-dev libexif12 libexif-dev | |
| 52 | 49 | TCC_SHA="027b8fb9b88fe137447fb8bb1b61079be9702472" | |
| 53 | 50 | wget "https://github.com/TinyCC/tinycc/archive/${TCC_SHA}.tar.gz" && tar xzf "${TCC_SHA}.tar.gz" | |
| @@ -63,9 +60,6 @@ jobs: | |||
| 63 | 60 | CFLAGS+=" -Wbad-function-cast -Wdeclaration-after-statement" | |
| 64 | 61 | # silence | |
| 65 | 62 | 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 | |
| @@ -1,25 +1,27 @@ | |||
| 1 | + | .POSIX: | |
| 2 | + | ||
| 1 | 3 | # nsxiv version | |
| 2 | 4 | VERSION = 28 | |
| 3 | 5 | ||
| 4 | 6 | # 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 | |
| 8 | 10 | ||
| 9 | 11 | # default value for optional dependencies. 1 = enabled, 0 = disabled | |
| 10 | − | OPT_DEP_DEFAULT ?= 1 | |
| 12 | + | OPT_DEP_DEFAULT = 1 | |
| 11 | 13 | ||
| 12 | 14 | # autoreload backend: 1 = inotify, 0 = none | |
| 13 | − | HAVE_INOTIFY ?= $(OPT_DEP_DEFAULT) | |
| 15 | + | HAVE_INOTIFY = $(OPT_DEP_DEFAULT) | |
| 14 | 16 | ||
| 15 | 17 | # 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) | |
| 20 | 22 | ||
| 21 | 23 | # CFLAGS, any optimization flags goes here | |
| 22 | − | CFLAGS ?= -std=c99 -Wall -pedantic | |
| 24 | + | CFLAGS = -std=c99 -Wall -pedantic | |
| 23 | 25 | ||
| 24 | 26 | # icons that will be installed via `make icon` | |
| 25 | 27 | ICONS = 16x16.png 32x32.png 48x48.png 64x64.png 128x128.png | |
| @@ -42,15 +44,14 @@ lib_webp_0 = | |||
| 42 | 44 | lib_webp_1 = -lwebpdemux -lwebp | |
| 43 | 45 | autoreload_0 = nop | |
| 44 | 46 | 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 \ | |
| 47 | 49 | $(lib_exif_$(HAVE_LIBEXIF)) $(lib_gif_$(HAVE_LIBGIF)) \ | |
| 48 | 50 | $(lib_webp_$(HAVE_LIBWEBP)) $(lib_fonts_$(HAVE_LIBFONTS)) | |
| 49 | 51 | ||
| 50 | 52 | OBJS = autoreload_$(autoreload_$(HAVE_INOTIFY)).o commands.o image.o main.o options.o \ | |
| 51 | 53 | thumbs.o util.o window.o | |
| 52 | 54 | ||
| 53 | − | .PHONY: all clean install uninstall install-all install-icon uninstall-icon install-desktop | |
| 54 | 55 | .SUFFIXES: | |
| 55 | 56 | .SUFFIXES: .c .o | |
| 56 | 57 | ||
| @@ -58,7 +59,7 @@ all: nsxiv | |||
| 58 | 59 | ||
| 59 | 60 | nsxiv: $(OBJS) | |
| 60 | 61 | @echo "LINK $@" | |
| 61 | − | $(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS) | |
| 62 | + | $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS) $(NSXIV_LDLIBS) | |
| 62 | 63 | ||
| 63 | 64 | .c.o: | |
| 64 | 65 | @echo "CC $@" | |
| @@ -74,7 +75,7 @@ config.h: | |||
| 74 | 75 | ||
| 75 | 76 | version.h: Makefile .git/index | |
| 76 | 77 | @echo "GEN $@" | |
| 77 | − | v="$$(git describe 2>/dev/null)"; \ | |
| 78 | + | v="$$(git describe 2>/dev/null || true)"; \ | |
| 78 | 79 | echo "#define VERSION \"$${v:-$(VERSION)}\"" >$@ | |
| 79 | 80 | ||
| 80 | 81 | .git/index: | |