aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Makefile: cleanup non-posix stuff (#225)N-R-K2022-02-271-15/+16
| | | | | | | | | | 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.
* specify func argument and related cleanup (#183)N-R-K2021-12-191-1/+1
| | | | | | | | | | | | * specifies the function argument type in commands.h compared to leaving it unspecified. all the functions in cmd_t must have arg_t as it's argument. * changes to commands.h will now trigger a rebuild - this restores old behavior prior to 12efa0e * cg_quit now uses it's argument as exit status * DestroyNotify invokes cg_quit rather than calling exit directly. * Explicitly pass EXIT_SUCCESS to cgquit in keybinding Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
* Release version 28N-R-K2021-12-121-1/+1
| | | Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
* Add ability to bind arbitrary functions.Arthur Williams2021-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Before all the predated commands where kept in an array and their indexes were used in bindings. This meant that users couldn't add their own functions from the config file. Now key/mouse bindings have been changed to to store the function ptr (wrapped in a cmd_t struct to also store the mode) directly instead. General cleanup done in this commit: Defined `MODE_ALL` instead of using magic number. For example, suppose one had bindings like: { 0, XK_q, g_quit, None }, { ShitMask, XK_q, {quit_err}, None } { ControlMask, XK_q, {quit_err, .mode=MODE_IMAGE}, None } The existing binding `q` has been left unchanged and is defined the same way. However, the new hypothetical binding `Shift-q` can be used to call the custom function quit_err in any mode (default). `Ctrl-q` on the other hand will be called only on image mode. Closes #50
* Make statusbar optional (#95)Arthur Williams2021-10-101-4/+10
| | | | | | | | libXft and libfontconfig are now optional dependencies which can be disabled via `HAVE_LIBFONTS=0`. Disabling them means disabling the statusbar. This also does not search for freetype2 header if disabled. Co-authored-by: NRK <nrk@disroot.org>
* Rework build system v2 (#71)N-R-K2021-10-031-43/+36
| | | | | | | | | | | * Remove non-POSIX extensions and commands * Drop autodetection in favor of OPT_DEP_DEFAULT * Use += for LDLIBS as some BSD distros need to add extra flags * Change DOCPREFIX -> EGPREFIX * Use ?= for MANPREFIX and EGPREFIX * Update docs With this, we should have a stable build system. No further significant changes should be needed.
* Rename icon & desktop and add install-all in Makefile (#96)Berke Kocaoğlu2021-09-251-5/+7
| | | | | | | | | | | | | | | * Rename in Makefile Renamed {icon,desktop} => install-{icon,desktop} * Add install-all in Makefile * Added .PHONY targets and renamed icon_cleanup Added .PHONY targets and renamed icon_cleanup to uninstall_icon * Update README.md Co-authored-by: TAAPArthur <taaparthur@gmail.com>
* Add animated webp support (#20)Sam Whitehead2021-09-241-1/+7
| | | | | | Co-authored-by: NRK <nrk@disroot.org> Co-authored-by: Stein Gunnar Bakkeby <bakkeby@gmail.com> Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
* Add desktop and icon rules to Makefile, document icon installation (#80)Guilherme Rugai Freire2021-09-231-2/+28
| | | Co-authored-by: NRK <nrk@disroot.org>
* Change location of example scripts (#86)Berke Kocaoğlu2021-09-221-3/+4
| | | | | * Use DOCPREFIX similar to MANPREFIX Co-authored-by: NRK <nrk@disroot.org>
* Stable version 27.1NRK2021-09-171-1/+1
|
* fix build when not git clonedNRK2021-09-171-0/+2
|
* Rename, Update Docs and Prepare for Release (#9)Berke Kocaoğlu2021-09-161-20/+20
| | | | | | | Co-authored-by: Guilherme Rugai Freire <41879254+GRFreire@users.noreply.github.com> Co-authored-by: N-R-K <79544946+N-R-K@users.noreply.github.com> Co-authored-by: NRK <nrk@disroot.org> Co-authored-by: Arthur Williams <taaparthur@gmail.com> Co-authored-by: eylles <ed.ylles1997@gmail.com>
* Rework the build system (#19)TAAPArthur2021-09-161-42/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added simple configure script Added simple script to autodetect if optional dependencies are installed and enable/disable them as needed. Note this solution uses the compiler directly instead of an external program like pkgconfig so it doesn't require any extra dependencies. It is intended to work with any arbitrary compiler; it has been tested with tcc and gcc. There are some "breaking" changes hidden here - HAVE_GIFLIB was renamed to HAVE_LIBGIF to match HAVE_LIBEXIF - Simply typing `make` will no longer try to build with optional dependencies * use implicit RM variable * General clean-up in configure - Use printf instead of echo - Format style * honor env PREFIX, use LDLIBS * Revert "General clean-up in configure" This reverts commit 8683c179dbf273a330f9a224a4d481a7bea42c5f. * honor env LDFLAGS if set * Don't set OPTIONAL_LIBS in configure * make OBJ all caps * follow suckless style build system - remove configure script. - HAVE_LIBGIF and HAVE_LIBEXIF defaults back to 1 - unload several varibales onto config.mk - make version all-caps - add -O2 optimization - use CPPFLAGS for includes and defines * Revert "follow suckless style build system" This reverts commit 8bf75b1f68d72df349edba8d998d4659dd956dd8. * Generate config.mk from make * Inlined configure in Makefile * update docs * cleanups - changes to config.mk should trigger a rebuild - remove potentially confusing variables form Makefile * Use install instead of mkdir/cp/chmod when sensible * fixup! Inlined configure in Makefile * Don't generate config.mk on rm -f *.o sxiv * update docs and cleanups - make config.mk silent - mention editing config.mk in README * fallback to 0 if user edits config.mk in unexpected way * add comment on config.mk * remove invalid comment configure script is removed * slight restructure - make version all caps - restructure variables that users may want to edit to top - use CPPFLAGS for defines - add some comments - remove needless echos since we have verbose output now * add echos back Co-authored-by: NRK <nrk@disroot.org> Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
* Stable version 26Bert Münnich2020-01-161-1/+1
|
* Search freetype headers under PREFIX tooBert Münnich2019-02-161-3/+4
| | | | Related to PR #346.
* Stable version 25Bert Münnich2019-01-261-1/+1
|
* Revise MakefileBert Münnich2018-10-111-24/+18
| | | | | | | Use uppercase for externally defined macros and lowercase for macros defined in the makefile. Also simplify generation of version.h.
* New version schemeBert Münnich2018-06-091-2/+11
| | | | | | VERSION string between releases is last release suffixed with '+'. Additionally, use output of git-describe instead of VERSION string, if it is not empty.
* Initialize window bar buffers to empty stringBert Münnich2018-04-111-1/+1
| | | | Fixes issue #308.
* Use argument to select between two drag methodsphi2018-01-221-1/+1
|
* RefactoringBert Münnich2018-01-091-1/+1
|
* Left bar shows file name as given by userBert Münnich2017-12-071-1/+1
|
* Try to match a fallback font if neededSquibby2017-12-061-1/+1
| | | | | | | | | | | | | | Fixes #276 Instead of rendering the entire filename at once, Xft will let us do it character by character. This will allow sxiv to query fontconfig for a font that can provide any missing codepoints, if needed. A known issue of this patch is that the "..." dots rendering will not work properly for very long multibyte filenames. That is because we cannot easily predict the final width of the rendered filename before drawing it. I couldn't figure out a clean way to deal with this, so I ended up just truncating the offending filenames.
* Reject text files resembling TGA imagesBert Münnich2017-11-231-1/+1
| | | | | | | | | | | | | | | | | | | Fixes issue #295 The imlib2 TGA loader returns an imlib image handle without any actual data when given a text file like this: T Content-Type: application/javascript Content-Length: 3836 Last-Modified: Wed, 23 Sep 2015 12:25:47 GMT Etag: "56029a4b-efc" Expires: Sat, 20 Aug 2016 15:14:33 GMT Cache-Control: max-age=604800, public Accept-Ranges: bytes Fortunately, `imlib_image_get_data()` returns NULL in this case, so that we can use it as an additional check when opening files.
* Stable version 24Bert Münnich2017-10-271-1/+1
|
* Fix navigating from last to previous image over invalid filesBert Münnich2017-10-261-1/+1
|
* Set LC_COLLATE for -r file list sortingBert Münnich2017-10-241-1/+1
| | | | Fixes issue #293.
* List objs in Makefile not srcsBert Münnich2017-10-231-3/+2
|
* Make clean removes all object filesBert Münnich2017-10-231-2/+2
|
* Always take {C,CPP,LD}FLAGS from environmentBert Münnich2017-10-221-9/+9
| | | | Our own default values go into accompanying macros prefixed with DEF_.
* Back to VPATH for out-of-source buildsBert Münnich2017-10-191-6/+4
| | | | | OpenBSD make supports VPATH but not pattern rules. Everything in the new Makefile should work no matter what make program is used.
* Addendum to 1ace4fb0Bert Münnich2017-10-191-3/+1
|
* No more automatic dependency trackingBert Münnich2017-10-161-7/+3
| | | | | The new Makefile should work with the make programs shipped with FreeBSD, NetBSD and OpenBSD.
* No more config.mkBert Münnich2017-10-161-2/+0
|
* Small refinements in MakefileBert Münnich2017-10-161-4/+4
|
* Fix dep file include in MakefileBert Münnich2017-10-161-1/+1
|
* Zoom into mouse cursor positionBert Münnich2017-10-161-1/+1
|
* Much more portable MakefileBert Münnich2017-10-121-30/+57
| | | | | | | | | | | | | | | | | | | | 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
* Always include non-configurable part of CPPFLAGSBert Münnich2017-10-081-1/+1
|
* Move DEPFLAGS from Makefile to config.mkBert Münnich2017-10-081-1/+0
|
* Mention GNU make requirement in MakefileBert Münnich2017-10-081-0/+2
|
* Get rid of SRCDIR macro, VPATH on make cmd line sufficesBert Münnich2017-10-081-4/+2
|
* Improve mouse supportBert Münnich2017-10-061-1/+1
| | | | | | | | | | | | None of the mouse mappings uses a keyboard modifier, making it possible to access the most basic features by only using the mouse. Next/previous image with left button depending on cursor position, middle button for dragging, right button for switching to thumnail mode and wheel for zooming. Users can keep the old behaviour by simply not adapting the changes to the buttons array in config.def.h to their config.h file.
* Simplify cursor handlingBert Münnich2017-10-051-1/+1
|
* Mouse drag translates pointer position to image areaBert Münnich2017-10-041-1/+1
| | | | This makes mouse panning more direct and faster.
* Fix linker command lineBert Münnich2017-09-111-1/+1
|
* Only use targets in build messagesBert Münnich2017-09-111-1/+1
|
* Move special targets to bottom of MakefileBert Münnich2017-09-081-7/+6
|
* Non-verbose buildBert Münnich2017-09-081-0/+12
| | | | Verbose when build with `V=1'.