summaryrefslogtreecommitdiff
path: root/config.mk
Commit message (Collapse)AuthorAge
* Merge tag '4'Paride Legovini2018-04-11
|\
| * Bump version to 4Laslo Hunhold2018-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Foremost this release finally includes a fix for the little mistake I made in the Makefile regarding the order of arguments passed to cc which package managers had to fix with a small patch. It now also compiles on OpenBSD without problems. Apart from that, I made error reporting much more consistent by putting everything into util.c, which makes the code much more readable, and cleared up all LICENSE matters and minor details in the build system. At this point, farbfeld is very stable and unless another tool is added the codebase in general is very low on the Kelvin scale right now. Thanks for all the feedback!
| * Update MANPREFIX according to FHSLaslo Hunhold2017-08-13
| | | | | | | | http://www.pathname.com/fhs/2.2/fhs-4.11.html
| * config.mk: small style changeLaslo Hunhold2017-08-02
| |
| * Rename TOOL-LDFLAGS to TOOL-LDLIBS, fix order and add explicit .c.oLaslo Hunhold2017-05-01
| | | | | | | | | | | | | | | | | | | | | | The tool-specific flags were LDLIBS and not LDFLAGS, because we specify the libraries we want to link in, not flags to the linker itself. The order was broken as it didn't allow -Wl,--as-needed or other things highly dependent on the order of arguments. I also wanted to add an explicit .c.o suffix rule. This way, it is clearer what is happening in the Makefile and the form of compilation output is controllable.
* | Merge tag '3'Paride Legovini2017-07-16
|\|
| * Bump version to 3Laslo Hunhold2017-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is more or less a refactoring release, but with deep changes in the tools that I was hoping to look into for a long time. The codebase is in a very consistent state now, also thanks to the introduction of a set of common utility-functions. What really makes me think is the fact that it takes so many iterations and a high level of detail to get the library handling and I/O right. It just makes you wonder how much software is out there that is full of little subtle bugs that might blow up in your face some day. Thanks for all the feedback!
| * Add PNG-LDFLAGS and JPG-LDFLAGS in config.mkLaslo Hunhold2017-04-14
| | | | | | | | instead of per-tool-settings.
| * Also print extra warningsLaslo Hunhold2017-04-12
| |
| * config.mk: C89 -> C99Laslo Hunhold2017-04-02
| | | | | | | | | | We are using stdint.h, which is a C99 feature. Syntactically, the code is C89 though.
| * Make Makefile strictly POSIX compliantLaslo Hunhold2017-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thanks Hiltjo for the feedback! GNUisms need to be avoided like a plague, even if it means having to be a little more creative. Strict POSIX compliance means that I just worked within the bounds of the POSIX specification, hopefully without using any GNU or BSD extensions. If I did, please let me know. Tip to all Linux users: Test your Makefiles with pmake(1) instead of make(1) (= GNU make) and refer to the newest POSIX 2016 make specification[0]. [0]: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html
| * Overhaul Build-systemLaslo Hunhold2017-03-29
| | | | | | | | | | | | | | I didn't like the current Makefiles. They were too crufted and not elegant. Additionally, given I'm planning to put some utility functions into a util.{c|h}-prerequisite, I wrote this new Makefile with PREREQs in mind.
* | Respect FLAGS passed by debhelperDmitry Bogatov2017-01-12
| |
* | Fix installation pathsDmitry Bogatov2017-01-12
|/ | | | | * prefix=/usr * manpath=/usr/share/man
* Makefile improvementsHiltjo Posthuma2016-05-18
| | | | | | - fix: rebuild on source change. - allow to override dependency flag per tool (the ones that have deps). - rebuild on config.mk or headers change.
* don't link against unneeded libsHiltjo Posthuma2016-04-03
| | | | | | - jpg2ff requires libjpeg - ff2png, png2ff requires libpng (and libz) - ff2ppm has no dependencies
* Bump version to 2FRIGN2016-03-14
| | | | | | | | | | | | | There have been quite considerable changes since version 1. The conversion tools have had a considerable performance boost of around 75% by using a row-buffer instead of reading each R-G-B-A-chunk individually. Also, 2ff(1) somehow called "xconvert" instead of "convert", rendering it useless for anything other than png's and jpg's. There was a small excursion to color spaces and ICC color profile handling, but this has been dismissed (it was a difficult decision). Thanks for all the feedback!
* Back to the roots.FRIGN2016-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Talking with even more people and weighing the benefits, I've made the decision to remove color spaces from farbfeld again (as it currently is handled in version 1) and recommend sRGB, not force it. Thing is the following: We are not ready yet for this step. Neither the people working with the images nor the hardware to display extended colors. Using greater colorspaces also removes the "hackability" of farbfeld. As it was previously possible to easily create gradients in plain C, you have to keep multiple things in mind with linear ProPhoto RGB. The first thing is that not all colors are "real", and there are imaginary colors. This doesn't happen with sRGB because all the colors it describes are "real". The second thing is the linear gamma curve, which makes the gradients look perceptually inconsistent. In the interest of creating a good and simple interchange format, we can't only weigh in points of professionals. This little excursion has shown that aiming for the 99% is still the way to go. And as often as you could repeat that sRGB will meet its fate in the future when screens become better, it is surprising how badly the industry has caught up to it. I also must honestly say that we can't solve the color space issue using RGB and should look at other formats to explore (CIELUV, CIELAB), which I will probably give a talk about at slcon3. Before releasing version 2, my aim is to make the I/O a bit more effective (as far as possible) so it's even easier to use. I know people will be pissed off, but fuck it, I'm the maintainer! Live with it.
* Mandate "ProPhoto RGB" color space for farbfeld and handle ICC profilesFRIGN2016-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've literally been thinking about this for quite a while now. The initial motivation behind defaulting to sRGB was the idea that most data on the web was in sRGB anyway. However, my assumption was weakened in the sense that the development is clearly moving towards images with supplied ICC profiles and software slowly catching up to handle this. My tests have shown that more and more people even do that on the web, even though it's been a "tradition" that Photoshop users "Save for Web" and convert the gamut lossy into sRGB to bring a consistent color-"experience" even to those clients not supporting ICC profiles and which always assume sRGB. What made this decision so difficult is that converting to "ProPhoto RGB" requires some advanced knowledge on this topic, however, I came to the conclusion to implement it given the *2ff- and ff2*-tools handle it silently and well in the background, and given the little cms library is actually quite okay to use. When converting from ff to png, a proper "Pro Photo RGB" ICC V4-profile is automatically included in the exported png by ff2png. V4 is not as widespread as V2, but in the worst case (no V4 support somewhere) the colors will just be a little off. As an added bonus, any input files for png2ff which include ICC profiles are also correctly handled and the color space conversions are executed as expected. Accordingly, the FORMAT-specification has been changed. While at it, I added the note on alpha-multiplication. Now the format is very exact and shouldn't leave any ambiguities. jpeg supports ICC profiles as well, but I hadn't had the chance to look into it (not as trivial as PNG probably, help appreciated :)), so I'm always assuming sRGB here. Rationale --------- It is not obvious why one would go through the lenghts of supporting this big-gamut colorspace and not just stick with sRGB. In 99% of the cases, there's no reason to do that, but with even more extreme developments in the OLED-sector and other advances display hardware is slowly getting more powerful than sRGB, asking for color information which is suitable for the task and actually uses the full potential. The decision in this regard was not difficult in farbfeld because we always use 16-Bit anyway and won't have to fear posterization in a big- gamut color-space.
* Bump version to 1FRIGN2016-01-06
| | | | And add a makerule to create a tarball via make dist.
* Install manpages in $PREFIX/man not $PREFIX/share/manFRIGN2016-01-06
| | | | Real men use /man and don't /share/man
* Also be consistent in config.mkFRIGN2016-01-05
|
* Fix Makefile+config.mkFRIGN2016-01-05
| | | | | I forgot that we can't just cd. It has to be a &&-statement. Also, uncomplicate the output.
* Update config.mkFRIGN2016-01-04
| | | | | -Wno-clobbered is not supported on OpenBSD. Let's remove it and Wextra with all its stupid warnings.
* JPG Code cleanupFRIGN2015-11-23
|
* (Re)add jpg2ffFRIGN2015-11-23
| | | | | | Thanks z3bra for porting this! Also change 2ff to use case instead of if-blocks.
* Make config.mk easier to edit on different systemssin2015-11-17
| | | | | This should also allow one to build the tools on both BSD and Linux probably without modifying config.mk at all.
* Overhaul buildsystemFRIGN2015-11-10
|
* imagefile -> farbfeldFRIGN2015-11-09
| | | | | | | | | | | | - Rename the format - Change the format specification - Drop old tools waiting to be fixed on a later date, just keep fixed png for now - Simplify other stuff This is a direct consequence of my slcon2-talk on this topic. At first I planned to have 64 bits per channel, but this is overkill.
* config.mk: use c99, not -c90+ansi, unrecognized on OpenBSDHiltjo Posthuma2015-07-31
|
* config.mk: add CPPFLAGS and commented debug flagsHiltjo Posthuma2014-07-31
|
* add gif2ifHiltjo Posthuma2014-07-29
|
* add jpg2ifHiltjo Posthuma2014-07-29
|
* Don't bother to cleanup in error casessin2014-07-29
| | | | | | | | These tools are "one-shot", nobody cares about memory leaks while the program is running. Bring back -Os, no more false positives because there's no interaction between gotos and setjmp/longjmp.
* Fix type inconsistencies and remove hacky compiler optionssin2014-07-29
| | | | | -Os generates lots of false positives and it is not worth it much for such a small set of tools.
* It is -Wno-clobbered not -Wno-clobbersin2014-07-22
|
* Don't warn about clobbered pointers.FRIGN2014-07-20
|
* Initial commitFRIGN2014-07-19