8afe44cd0 Snapshot 202502 29d9785c2 Do not apply canon metadata crop to DNG files 015b27fff Changelog updated d1a27c26e Merge branch 'master' of git.lexa.ru:LibRaw ca1368d8e check split_col/split_row values in phase_one_correct fb23332a9 UINT32=>unsigned as defined in structure declaration 354bc2907 Revert "build: add handling of openmp library" 797ac1934 Merge pull request #680 from ssssota/remove-duplicated-camera 52421b19e fix: remove duplicated supported camera ca57a1103 Merge pull request #679 from dlemstra/fix-profile-length 25bb86fe7 Merge pull request #678 from clan/openmp 591239482 Changelog updated 42fce9f8e Make sure the profile_length is the same size as the allocated memory. f767a2fbe prevent OOB reads in phase_one_correct 638154a5b build: add handling of openmp library bdd9e3436 Prevent out-of-bounds read in fuji 0xf00c tag parser 59cfa8b8a Prevent out-of-bounds read in fuji 0xf00c tag parser 3240fb21f Merge pull request #677 from ssssota/windows-makefile-invalid-indent 416912f43 build: fix indentation (8 spaces -> tab) bf7a0346d Merge pull request #676 from lance5/master 6a0ef2483 [fix] use LIBRAW_OWN_SWAB control swab 816ab359b [feature] support android NDK 21 cc118c1c1 H265 and JPEG-XL thumbnails support for dcraw_make_mem_thumb 9bcb8a1d9 LIBRAW_CALLOC_RAWSTORE; replace for w/ memmove in dng_sdk glue bf1a9140e panasonic decoder: limit load_flags to 0x4000 77a46b319 panasonic loader: zero buf to avoid uninitalized data leak 4f5a4cfb3 null-terminate xmp block f9bb7d126 small allocations: replace malloc with calloc 70f511871 define NOMINMAX before including winsock2 in public header file => do not provide min/max maco 3772d1be2 Merge pull request #661 from nekopsykose/end f2d1070f7 fix endian detection for ppc64le 47c7a2394 Ignore vendor crops for Fuji S6000/6500 17f16837e Prevent Sony-LJPEG decoder buffer overrun 9c9c04b44 Ensure SR2 block is fully read from file d3cbbd0e9 4-component DNG-JPEG support 891630152 additional check for imgdata.color.WB_Coeffs index range 54c6af90b prevent possible imgdata.color.WBCT_Coeffs overrun 158e635e5 X100V color updated w/ actual data; X-T4 and X-Pro3 typo fixed 393dc925d Fuji X-T3x colormatrix: fixed typo 66a81c333 removed extra Pentax KP colordata 6475fd04b pass all images with wrong bayer filter data to vng_interpolate fe2a7e2b7 Refuse images with colors==2 c2e8a908d additional offset checks in Sony metadata parser c9facb4b7 Clean wrong aber values; allocate extra data to image to avoid overrun on specially crafted test images 83bf3ad5e Merge pull request #640 from Calandracas606/fix-clback-docs c294e7075 fix the docs to properly reflect the size of cblack[LIBRAW_CBLACK_SIZE] 072eeaeb4 fixed integer overflow in largest frame selection code e58e8e43a additional checked_buffer_t offset checks 73d6daa05 Check for negatife offset checked_buffer_t 0d011198b Oops. Forgot to increase version a625a7d53 Merge pull request #633 from thesamesam/openmp b396d92d8 README.md: removed unprintable symbols 9893eb825 README.md: update policy actualized to match libraw.org site 54fbe8f47 libraw_adjust_to_raw_inset_crop 2f75ef793 m4: update ax_openmp.m4 from autoconf-archive (8->14) git-subtree-dir: rtengine/libraw git-subtree-split: 8afe44cd0e96611ba3cb73779b83ad05e945634c
238 lines
12 KiB
Makefile
238 lines
12 KiB
Makefile
all: library all_samples
|
|
|
|
CC=clang
|
|
CXX=clang++
|
|
|
|
#CC=gcc
|
|
#CXX=g++
|
|
|
|
LDADD+=-lz
|
|
|
|
CFLAGS=-DLIBRAW_USE_AUTOPTR
|
|
CFLAGS+= -g -I. -pedantic -Wno-long-long -Wno-overflow -O3
|
|
|
|
# RawSpeed Support
|
|
# CFLAGS+=-DUSE_RAWSPEED -I../RawSpeed -I/opt/local/include/libxml2
|
|
# LDADD+=-L../RawSpeed/RawSpeed/release -lrawspeed -L/opt/local/include -ljpeg -lxml2
|
|
# RAWSPEED_DATA=../RawSpeed/data/cameras.xml
|
|
|
|
# DNG SDK Support
|
|
# CFLAGS+=-DUSE_DNGSDK -I../dng_sdk/source
|
|
# LDADDD+=-L../dng_sdk/release -ldng -ljpeg -lz
|
|
|
|
# LCMS support
|
|
# For lcms2 set -DUSE_LCMS2
|
|
#CFLAGS+=-DUSE_LCMS2 -I/opt/local/include
|
|
#LDADD+=-L/opt/local/lib -llcms
|
|
|
|
|
|
# JPEG support for DNG and Kodak
|
|
CFLAGS+=-DUSE_JPEG -I/usr/local/include
|
|
LDADD+=-L/usr/local/lib -ljpeg
|
|
|
|
# LIBJPEG8:
|
|
CFLAGS+=-DUSE_JPEG8
|
|
|
|
CSTFLAGS=$(CFLAGS) -DLIBRAW_NOTHREADS
|
|
|
|
LIB_OBJECTS= object/libraw_datastream.o \
|
|
object/cameralist.o object/fuji_compressed.o \
|
|
object/crx.o object/pana8.o object/fp_dng.o object/decoders_libraw.o \
|
|
object/olympus14.o \
|
|
object/sonycc.o object/losslessjpeg.o \
|
|
object/unpack.o object/unpack_thumb.o \
|
|
object/rawspeed_glue.o object/dngsdk_glue.o \
|
|
object/colorconst.o object/utils_libraw.o object/init_close_utils.o \
|
|
object/decoder_info.o object/open.o object/phaseone_processing.o \
|
|
object/thumb_utils.o \
|
|
object/tiff_writer.o object/subtract_black.o \
|
|
object/raw2image.o \
|
|
object/x3f_utils_patched.o object/x3f_parse_process.o \
|
|
object/read_utils.o object/curves.o object/utils_dcraw.o \
|
|
object/colordata.o \
|
|
object/canon_600.o object/decoders_dcraw.o \
|
|
object/decoders_libraw_dcrdefs.o object/generic.o \
|
|
object/kodak_decoders.o object/dng.o object/smal.o \
|
|
object/load_mfbacks.o \
|
|
object/sony.o object/nikon.o object/samsung.o object/cr3_parser.o \
|
|
object/canon.o object/epson.o object/olympus.o object/leica.o \
|
|
object/fuji.o object/adobepano.o object/pentax.o object/p1.o \
|
|
object/makernotes.o object/exif_gps.o object/kodak.o \
|
|
object/tiff.o object/ciff.o object/mediumformat.o object/minolta.o \
|
|
object/identify_tools.o \
|
|
object/hasselblad_model.o object/normalize_model.o object/identify.o \
|
|
object/misc_parsers.o object/wblists.o \
|
|
object/file_write.o \
|
|
object/ext_preprocess.o \
|
|
object/postprocessing_ph.o \
|
|
|
|
|
|
|
|
LR_INCLUDES=libraw/libraw.h libraw/libraw_alloc.h \
|
|
libraw/libraw_const.h libraw/libraw_datastream.h \
|
|
libraw/libraw_internal.h libraw/libraw_types.h \
|
|
libraw/libraw_version.h
|
|
|
|
LRLIB=lib/libraw_nopp.a
|
|
|
|
library: $(LRLIB)
|
|
|
|
all_samples: bin/raw-identify bin/unprocessed_raw bin/4channels
|
|
|
|
## Samples ##
|
|
bin/raw-identify: $(LRLIB) samples/raw-identify.cpp
|
|
$(CXX) ${CFLAGS} -o bin/raw-identify samples/raw-identify.cpp -L./lib -lraw_nopp -lm ${LDADD}
|
|
|
|
bin/unprocessed_raw: $(LRLIB) samples/unprocessed_raw.cpp
|
|
$(CXX) -DLIBRAW_NOTHREADS ${CFLAGS} -o bin/unprocessed_raw samples/unprocessed_raw.cpp -L./lib -lraw_nopp -lm ${LDADD}
|
|
|
|
bin/4channels: $(LRLIB) samples/4channels.cpp
|
|
$(CXX) -DLIBRAW_NOTHREADS ${CFLAGS} -o bin/4channels samples/4channels.cpp -L./lib -lraw_nopp -lm ${LDADD}
|
|
|
|
$(LRLIB): ${LIB_OBJECTS}
|
|
rm -f $(LRLIB)
|
|
ar crv $(LRLIB) ${LIB_OBJECTS}
|
|
ranlib $(LRLIB)
|
|
|
|
clean:
|
|
rm -fr bin/*.dSYM
|
|
rm -f *.o *~ src/*~ samples/*~ internal/*~ libraw/*~ lib/lib*.a bin/[4a-z]* object/*.o dcraw/*~ doc/*~ bin/*~ src/*/*~
|
|
|
|
## script-created rules
|
|
object/libraw_c_api.o: src/libraw_c_api.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/libraw_c_api.o src/libraw_c_api.cpp
|
|
object/libraw_datastream.o: src/libraw_datastream.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/libraw_datastream.o src/libraw_datastream.cpp
|
|
object/canon_600.o: src/decoders/canon_600.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/canon_600.o src/decoders/canon_600.cpp
|
|
object/crx.o: src/decoders/crx.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/crx.o src/decoders/crx.cpp
|
|
object/pana8.o: src/decoders/pana8.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/pana8.o src/decoders/pana8.cpp
|
|
object/olympus14.o: src/decoders/olympus14.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/olympus14.o src/decoders/olympus14.cpp
|
|
object/sonycc.o: src/decoders/sonycc.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/sonycc.o src/decoders/sonycc.cpp
|
|
object/losslessjpeg.o: src/decompressors/losslessjpeg.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/losslessjpeg.o src/decompressors/losslessjpeg.cpp
|
|
object/decoders_dcraw.o: src/decoders/decoders_dcraw.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/decoders_dcraw.o src/decoders/decoders_dcraw.cpp
|
|
object/decoders_libraw_dcrdefs.o: src/decoders/decoders_libraw_dcrdefs.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/decoders_libraw_dcrdefs.o src/decoders/decoders_libraw_dcrdefs.cpp
|
|
object/decoders_libraw.o: src/decoders/decoders_libraw.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/decoders_libraw.o src/decoders/decoders_libraw.cpp
|
|
object/dng.o: src/decoders/dng.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/dng.o src/decoders/dng.cpp
|
|
object/fp_dng.o: src/decoders/fp_dng.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/fp_dng.o src/decoders/fp_dng.cpp
|
|
object/fuji_compressed.o: src/decoders/fuji_compressed.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/fuji_compressed.o src/decoders/fuji_compressed.cpp
|
|
object/generic.o: src/decoders/generic.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/generic.o src/decoders/generic.cpp
|
|
object/kodak_decoders.o: src/decoders/kodak_decoders.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/kodak_decoders.o src/decoders/kodak_decoders.cpp
|
|
object/load_mfbacks.o: src/decoders/load_mfbacks.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/load_mfbacks.o src/decoders/load_mfbacks.cpp
|
|
object/smal.o: src/decoders/smal.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/smal.o src/decoders/smal.cpp
|
|
object/unpack_thumb.o: src/decoders/unpack_thumb.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/unpack_thumb.o src/decoders/unpack_thumb.cpp
|
|
object/unpack.o: src/decoders/unpack.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/unpack.o src/decoders/unpack.cpp
|
|
object/dngsdk_glue.o: src/integration/dngsdk_glue.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/dngsdk_glue.o src/integration/dngsdk_glue.cpp
|
|
object/rawspeed_glue.o: src/integration/rawspeed_glue.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/rawspeed_glue.o src/integration/rawspeed_glue.cpp
|
|
object/adobepano.o: src/metadata/adobepano.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/adobepano.o src/metadata/adobepano.cpp
|
|
object/canon.o: src/metadata/canon.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/canon.o src/metadata/canon.cpp
|
|
object/ciff.o: src/metadata/ciff.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/ciff.o src/metadata/ciff.cpp
|
|
object/cr3_parser.o: src/metadata/cr3_parser.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/cr3_parser.o src/metadata/cr3_parser.cpp
|
|
object/epson.o: src/metadata/epson.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/epson.o src/metadata/epson.cpp
|
|
object/exif_gps.o: src/metadata/exif_gps.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/exif_gps.o src/metadata/exif_gps.cpp
|
|
object/fuji.o: src/metadata/fuji.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/fuji.o src/metadata/fuji.cpp
|
|
object/identify_tools.o: src/metadata/identify_tools.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/identify_tools.o src/metadata/identify_tools.cpp
|
|
object/identify.o: src/metadata/identify.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/identify.o src/metadata/identify.cpp
|
|
object/kodak.o: src/metadata/kodak.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/kodak.o src/metadata/kodak.cpp
|
|
object/leica.o: src/metadata/leica.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/leica.o src/metadata/leica.cpp
|
|
object/makernotes.o: src/metadata/makernotes.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/makernotes.o src/metadata/makernotes.cpp
|
|
object/mediumformat.o: src/metadata/mediumformat.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/mediumformat.o src/metadata/mediumformat.cpp
|
|
object/minolta.o: src/metadata/minolta.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/minolta.o src/metadata/minolta.cpp
|
|
object/misc_parsers.o: src/metadata/misc_parsers.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/misc_parsers.o src/metadata/misc_parsers.cpp
|
|
object/nikon.o: src/metadata/nikon.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/nikon.o src/metadata/nikon.cpp
|
|
object/hasselblad_model.o: src/metadata/hasselblad_model.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/hasselblad_model.o src/metadata/hasselblad_model.cpp
|
|
object/normalize_model.o: src/metadata/normalize_model.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/normalize_model.o src/metadata/normalize_model.cpp
|
|
object/olympus.o: src/metadata/olympus.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/olympus.o src/metadata/olympus.cpp
|
|
object/p1.o: src/metadata/p1.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/p1.o src/metadata/p1.cpp
|
|
object/pentax.o: src/metadata/pentax.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/pentax.o src/metadata/pentax.cpp
|
|
object/samsung.o: src/metadata/samsung.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/samsung.o src/metadata/samsung.cpp
|
|
object/sony.o: src/metadata/sony.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/sony.o src/metadata/sony.cpp
|
|
object/tiff.o: src/metadata/tiff.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/tiff.o src/metadata/tiff.cpp
|
|
|
|
object/postprocessing_ph.o: src/postprocessing/postprocessing_ph.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/postprocessing_ph.o src/postprocessing/postprocessing_ph.cpp
|
|
|
|
object/raw2image.o: src/preprocessing/raw2image.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/raw2image.o src/preprocessing/raw2image.cpp
|
|
object/ext_preprocess.o: src/preprocessing/ext_preprocess.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/ext_preprocess.o src/preprocessing/ext_preprocess.cpp
|
|
object/subtract_black.o: src/preprocessing/subtract_black.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/subtract_black.o src/preprocessing/subtract_black.cpp
|
|
object/cameralist.o: src/tables/cameralist.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/cameralist.o src/tables/cameralist.cpp
|
|
object/colorconst.o: src/tables/colorconst.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/colorconst.o src/tables/colorconst.cpp
|
|
object/colordata.o: src/tables/colordata.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/colordata.o src/tables/colordata.cpp
|
|
object/wblists.o: src/tables/wblists.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/wblists.o src/tables/wblists.cpp
|
|
object/curves.o: src/utils/curves.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/curves.o src/utils/curves.cpp
|
|
object/decoder_info.o: src/utils/decoder_info.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/decoder_info.o src/utils/decoder_info.cpp
|
|
object/init_close_utils.o: src/utils/init_close_utils.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/init_close_utils.o src/utils/init_close_utils.cpp
|
|
object/open.o: src/utils/open.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/open.o src/utils/open.cpp
|
|
object/phaseone_processing.o: src/utils/phaseone_processing.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/phaseone_processing.o src/utils/phaseone_processing.cpp
|
|
object/read_utils.o: src/utils/read_utils.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/read_utils.o src/utils/read_utils.cpp
|
|
object/thumb_utils.o: src/utils/thumb_utils.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/thumb_utils.o src/utils/thumb_utils.cpp
|
|
object/utils_dcraw.o: src/utils/utils_dcraw.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/utils_dcraw.o src/utils/utils_dcraw.cpp
|
|
object/utils_libraw.o: src/utils/utils_libraw.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/utils_libraw.o src/utils/utils_libraw.cpp
|
|
object/file_write.o: src/write/file_write.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/file_write.o src/write/file_write.cpp
|
|
object/tiff_writer.o: src/write/tiff_writer.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/tiff_writer.o src/write/tiff_writer.cpp
|
|
object/x3f_parse_process.o: src/x3f/x3f_parse_process.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/x3f_parse_process.o src/x3f/x3f_parse_process.cpp
|
|
object/x3f_utils_patched.o: src/x3f/x3f_utils_patched.cpp
|
|
${CXX} -c -DLIBRAW_NOTHREADS ${CFLAGS} -o object/x3f_utils_patched.o src/x3f/x3f_utils_patched.cpp
|