aboutsummaryrefslogtreecommitdiffstats
path: root/config.mk
AgeCommit message (Collapse)Author
2024-04-24configconfigJustin Gassner
2023-10-01Release version 32v32NRK
2023-10-01remove legacy multi-frame loadersNRK
this removes the legacy gif and webp loaders. moving forward multi-frame/animated images will be loaded by imlib2 itself. Closes: https://codeberg.org/nsxiv/nsxiv/issues/397
2023-07-16config.mk: do not explicitly set CC (#455)NRK
1. `c99` doesn't exist on openbsd 2. `c99` behaves weirdly on macos (doesn't support -Wall) since make will already set CC (required by POSIX if the implementation supports C, see `man 1p make`) to something appropriate (or it might be set in the environment) go ahead and remove explicitly setting it on our end. Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/455 Reviewed-by: TAAPArthur <taaparthur@noreply.codeberg.org>
2023-06-30config.mk: update openbsd configuration (#453)NRK
based on the openbsd port: https://github.com/openbsd/ports/blob/cf3cdaf09214bf85907dc9147bab7da77e0281d8/graphics/nsxiv/Makefile Tested-by: Seninha Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/453
2023-05-26make assertions opt-in (#447)NRK
slight addendum to 657080a7e55843e351fa6ce41e4ce315eab62b67 instead of disabling asserts by adding -DNDEBUG to config.mk, this disables asserts by default in the source code itself. this way, if someone compiles with `make CFLAGS="-O3 -march=native"` without knowing about asserts/-DNDEBUG then he won't accidentally get a build with assertions in it. this basically makes the assertions opt-in, if someone wants it, he'll need to *explicitly* set `-DDEBUG` to get it. so that it's not possible to accidentally end up with assertions enabled. Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/447 Reviewed-by: TAAPArthur <taaparthur@noreply.codeberg.org>
2023-05-09config.mk: default to `-O2` and `-DNDEBUG` (#435)NRK
assertions are for debugging purposes, and so shouldn't be enabled for "release" builds. disable it by default by using `-DNDEBUG`. `-O2` on gcc/clang will result it slightly better binary. on tcc it'll be ignored. and since -O is specified by POSIX there shouldn't be any portability concern. additionally add a (commented out) recommended debug build for gcc/clang with address and undefined sanitizers turned on. Closes: https://codeberg.org/nsxiv/nsxiv/issues/424 Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/435 Reviewed-by: explosion-mental <explosion-mental@noreply.codeberg.org> Reviewed-by: eylles <eylles@noreply.codeberg.org>
2023-01-28Release version 31v31NRK
Co-authored-by: Berke Kocaoğlu <kberke@metu.edu.tr>
2023-01-08add support for multi-frame images via imlib2 (#373)NRK
this will be a massive change compared to the usual stuff. however the gains will be worth it: * we gain lots of additional animated image support. * and we'll gain _even_ more format support as imlib2 adds them, without needing any change in our code-base. * about ~300 LoC will be purged once we remove our internal gif and webp loader. as for when to remove the internal loaders, a good time might be when debian upgrades their imlib2, currently it seems to be at v1.7.5, which doesn't support animated images. as of now, nsxiv will continue to build with the internal gif/webp loaders (assuming they were enabled in config.mk) if imlib2 version is below 1.8.0 and will print out a deprecation notice. and if imlib2 version supports multi-frame then it will simply ignore the internal loaders and use the imlib2 one. in other words, users shouldn't need to do anything on their side. everything that previously functioned will continue to function regardless of the user's imlib2 version (though they might see the annoying deprecation notice if the imlib2 version doesn't support multi-frame images). known issue: * image loading performance can be noticeably worse in imlib2 versions below 1.9.0 Closes: https://codeberg.org/nsxiv/nsxiv/issues/301 Closes: https://codeberg.org/nsxiv/nsxiv/issues/300 Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/373 Reviewed-by: TAAPArthur <taaparthur@noreply.codeberg.org>
2022-06-15Release version 30v30NRK
Co-authored-by: NRK <nrk@disroot.org> Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
2022-05-30Makefile: use lowercase for internal macrosNRK
ref: 971f5d669490696c11f5c4ede1fee558e05ae4fc
2022-05-30config.mk: use c99 as default CCNRK
See https://github.com/nsxiv/nsxiv/issues/262#issuecomment-1111216349 for related discussion.
2022-05-30config.mk: add comments for OpenBSD usersNRK
Closes: https://github.com/nsxiv/nsxiv/issues/262
2022-05-30introduce config.mkNRK
this moves all the build variables intended to be modified by the user over to `config.mk` similar to other suckless software. also move CPPFLAGS down below for cosmetic purposes.
2017-10-12Much more portable MakefileBert Münnich
The config.mk file is now optional and only needs to be created if one wants to persistently overwrite default macro values. Features used in the Makefile that are not yet in the POSIX standard: - Advanced macro assignment operators '+=' and '?=' [1] - Special target .PHONY [2] - Pattern rules [3]; only needed when $srcdir != '.'. For every pattern rule there is an inference rule with the same effect. Hopefully, the inference rules get picked up by make programs not supporting pattern rules. - Silently including multiple possibly not exisiting files [4] [5] [1] http://austingroupbugs.net/view.php?id=330 [2] http://austingroupbugs.net/view.php?id=523 [3] http://austingroupbugs.net/view.php?id=513 [4] http://austingroupbugs.net/view.php?id=333 [5] http://austingroupbugs.net/view.php?id=518
2017-10-08Move DEPFLAGS from Makefile to config.mkBert Münnich
2017-10-08Get rid of SRCDIR macro, VPATH on make cmd line sufficesBert Münnich
2017-09-08Support out-of-source buildsBert Münnich
Fixes issue #167. Long after closing this issue (kind of wontfix) we have switched to GNU make and can thus use its features like VPATH.
2017-09-08Simplify config.mkBert Münnich
2017-09-06Move configuration parts from Makefile into config.mkBert Münnich