summaryrefslogtreecommitdiff
path: root/Makethird
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2018-04-09 12:32:13 +0200
committerTor Andersson <tor.andersson@artifex.com>2018-04-26 11:38:29 +0200
commitf4d01e231ac609889b18d9073bc314455b875c79 (patch)
tree4c7dc105dfbf0be77a5cdf4db5c773a690095665 /Makethird
parent85ec0410ca1eb10e0d592027e990f7e569cd4d3f (diff)
downloadmupdf-f4d01e231ac609889b18d9073bc314455b875c79.tar.xz
Clean up and simplify makefiles.
* Use autogenerated header file dependencies. * Use mkdir to create target output directory directly.
Diffstat (limited to 'Makethird')
-rw-r--r--Makethird1013
1 files changed, 327 insertions, 686 deletions
diff --git a/Makethird b/Makethird
index 0ba7c85a..5b310919 100644
--- a/Makethird
+++ b/Makethird
@@ -1,758 +1,399 @@
# GNU Makefile for third party libraries used by MuPDF
-#
-# If thirdparty libraries are supplied, they will be built as
-# static libraries.
-#
-# Use 'git submodule init' and 'git submodule update' to check
-# out the thirdparty libraries from git.
-
-FREETYPE_DIR := thirdparty/freetype
-HARFBUZZ_DIR := thirdparty/harfbuzz
-JBIG2DEC_DIR := thirdparty/jbig2dec
-JPEGXR_DIR := thirdparty/jpegxr
-LCMS2_DIR := thirdparty/lcms2
-LIBJPEG_DIR := thirdparty/libjpeg
-LURATECH_DIR := thirdparty/luratech
-MUJS_DIR := thirdparty/mujs
-OPENJPEG_DIR := thirdparty/openjpeg/src/lib/openjp2
-ZLIB_DIR := thirdparty/zlib
-
-CURL_DIR := thirdparty/curl
-GLUT_DIR := thirdparty/freeglut
-# --- MuJS ---
+ifeq ($(USE_SYSTEM_LIBS),yes)
+ USE_SYSTEM_FREETYPE := yes
+ USE_SYSTEM_HARFBUZZ := yes
+ USE_SYSTEM_JBIG2DEC := yes
+ USE_SYSTEM_JPEGXR := no # not available
+ USE_SYSTEM_LCMS2 := no # need lcms2-art fork
+ USE_SYSTEM_LIBJPEG := yes
+ USE_SYSTEM_MUJS := no # not available
+ USE_SYSTEM_OPENJPEG := yes
+ USE_SYSTEM_ZLIB := yes
+ USE_SYSTEM_GLUT := yes
+ USE_SYSTEM_CURL := yes
+endif
-ifneq "$(wildcard $(MUJS_DIR)/README)" ""
+ifeq ($(OS),MACOS)
+ USE_SYSTEM_GLUT := yes
+endif
-MUJS_OUT := $(OUT)/thirdparty/mujs
-MUJS_SRC := one.c
+# --- FREETYPE 2 ---
-MUJS_OBJ := $(addprefix $(MUJS_OUT)/, $(MUJS_SRC:%.c=%.o))
+ifeq ($(USE_SYSTEM_FREETYPE),yes)
+ FREETYPE_CFLAGS += $(SYS_FREETYPE_CFLAGS)
+ THIRD_CFLAGS += $(FREETYPE_CFLAGS)
+ THIRD_LIBS += $(SYS_FREETYPE_LIBS)
+else
-$(MUJS_OUT)/one.o: $(wildcard $(MUJS_DIR)/js*.c $(MUJS_DIR)/utf*.c $(MUJS_DIR)/regex.c $(MUJS_DIR)/*.h)
+FREETYPE_CFLAGS += -Iscripts/freetype -Ithirdparty/freetype/include
+
+THIRD_SRC += thirdparty/freetype/src/base/ftbase.c
+THIRD_SRC += thirdparty/freetype/src/base/ftbbox.c
+THIRD_SRC += thirdparty/freetype/src/base/ftbitmap.c
+THIRD_SRC += thirdparty/freetype/src/base/ftdebug.c
+THIRD_SRC += thirdparty/freetype/src/base/ftfntfmt.c
+THIRD_SRC += thirdparty/freetype/src/base/ftgasp.c
+THIRD_SRC += thirdparty/freetype/src/base/ftglyph.c
+THIRD_SRC += thirdparty/freetype/src/base/ftinit.c
+THIRD_SRC += thirdparty/freetype/src/base/ftlcdfil.c
+THIRD_SRC += thirdparty/freetype/src/base/ftstroke.c
+THIRD_SRC += thirdparty/freetype/src/base/ftsynth.c
+THIRD_SRC += thirdparty/freetype/src/base/ftsystem.c
+THIRD_SRC += thirdparty/freetype/src/base/fttype1.c
+THIRD_SRC += thirdparty/freetype/src/cff/cff.c
+THIRD_SRC += thirdparty/freetype/src/cid/type1cid.c
+THIRD_SRC += thirdparty/freetype/src/psaux/psaux.c
+THIRD_SRC += thirdparty/freetype/src/pshinter/pshinter.c
+THIRD_SRC += thirdparty/freetype/src/psnames/psnames.c
+THIRD_SRC += thirdparty/freetype/src/raster/raster.c
+THIRD_SRC += thirdparty/freetype/src/sfnt/sfnt.c
+THIRD_SRC += thirdparty/freetype/src/smooth/smooth.c
+THIRD_SRC += thirdparty/freetype/src/truetype/truetype.c
+THIRD_SRC += thirdparty/freetype/src/type1/type1.c
+
+THIRD_CFLAGS += $(FREETYPE_CFLAGS)
+
+$(OUT)/thirdparty/freetype/%.o: thirdparty/freetype/%.c
+ $(CC_CMD) $(FREETYPE_CFLAGS) \
+ -DFT_CONFIG_MODULES_H=\"slimftmodules.h\" \
+ -DFT_CONFIG_OPTIONS_H=\"slimftoptions.h\" \
+ -DFT2_BUILD_LIBRARY
-$(MUJS_OUT):
- $(MKDIR_CMD)
-$(MUJS_OUT)/%.o: $(MUJS_DIR)/%.c | $(MUJS_OUT)
- $(CC_CMD)
+endif
-MUJS_CFLAGS := -I$(MUJS_DIR)
+# --- HARFBUZZ ---
+ifeq ($(USE_SYSTEM_HARFBUZZ),yes)
+ THIRD_CFLAGS += $(SYS_HARFBUZZ_CFLAGS)
+ THIRD_LIBS += $(SYS_HARFBUZZ_LIBS)
else
-MUJS_CFLAGS := -DFZ_ENABLE_JS=0
+THIRD_SRC += thirdparty/harfbuzz/src/hb-blob.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-buffer.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-buffer-serialize.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-common.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-face.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-fallback-shape.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-font.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ft.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-font.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-layout.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-map.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-arabic.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-default.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-hangul.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-hebrew.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-indic-table.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-indic.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-myanmar.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-thai.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-tibetan.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-use-table.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-use.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-fallback.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-normalize.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-tag.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-set.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-shape-plan.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-shape.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-shaper.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ucdn.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-unicode.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-warning.cc
+
+THIRD_CFLAGS += -Ithirdparty/harfbuzz/src
+
+$(OUT)/thirdparty/harfbuzz/%.o: thirdparty/harfbuzz/%.cc
+ $(CXX_CMD) $(FREETYPE_CFLAGS) \
+ -DHAVE_OT -DHAVE_UCDN -DHB_NO_MT \
+ -Dhb_malloc_impl=fz_hb_malloc \
+ -Dhb_calloc_impl=fz_hb_calloc \
+ -Dhb_free_impl=fz_hb_free \
+ -Dhb_realloc_impl=fz_hb_realloc \
+ -fno-rtti -fno-exceptions -fvisibility-inlines-hidden
endif
-# --- FreeType 2 ---
-
-ifneq "$(wildcard $(FREETYPE_DIR)/README)" ""
-
-FREETYPE_OUT := $(OUT)/thirdparty/freetype
-FREETYPE_SRC := \
- ftbase.c \
- ftbbox.c \
- ftbitmap.c \
- ftdebug.c \
- ftfntfmt.c \
- ftgasp.c \
- ftglyph.c \
- ftinit.c \
- ftstroke.c \
- ftsynth.c \
- ftsystem.c \
- fttype1.c \
- cff.c \
- psaux.c \
- pshinter.c \
- psnames.c \
- raster.c \
- sfnt.c \
- smooth.c \
- truetype.c \
- type1.c \
- type1cid.c \
-
-FREETYPE_OBJ := $(addprefix $(FREETYPE_OUT)/, $(FREETYPE_SRC:%.c=%.o))
-
-$(FREETYPE_OUT):
- $(MKDIR_CMD)
-
-FT_CFLAGS := -Wno-unused-function \
- -DFT2_BUILD_LIBRARY -DDARWIN_NO_CARBON \
- '-DFT_CONFIG_MODULES_H="slimftmodules.h"' \
- '-DFT_CONFIG_OPTIONS_H="slimftoptions.h"'
-
-$(FREETYPE_OUT)/%.o: $(FREETYPE_DIR)/src/base/%.c | $(FREETYPE_OUT)
- $(CC_CMD) $(FT_CFLAGS)
-$(FREETYPE_OUT)/%.o: $(FREETYPE_DIR)/src/cff/%.c | $(FREETYPE_OUT)
- $(CC_CMD) $(FT_CFLAGS)
-$(FREETYPE_OUT)/%.o: $(FREETYPE_DIR)/src/cid/%.c | $(FREETYPE_OUT)
- $(CC_CMD) $(FT_CFLAGS)
-$(FREETYPE_OUT)/%.o: $(FREETYPE_DIR)/src/psaux/%.c | $(FREETYPE_OUT)
- $(CC_CMD) $(FT_CFLAGS)
-$(FREETYPE_OUT)/%.o: $(FREETYPE_DIR)/src/pshinter/%.c | $(FREETYPE_OUT)
- $(CC_CMD) $(FT_CFLAGS)
-$(FREETYPE_OUT)/%.o: $(FREETYPE_DIR)/src/psnames/%.c | $(FREETYPE_OUT)
- $(CC_CMD) $(FT_CFLAGS)
-$(FREETYPE_OUT)/%.o: $(FREETYPE_DIR)/src/raster/%.c | $(FREETYPE_OUT)
- $(CC_CMD) $(FT_CFLAGS)
-$(FREETYPE_OUT)/%.o: $(FREETYPE_DIR)/src/smooth/%.c | $(FREETYPE_OUT)
- $(CC_CMD) $(FT_CFLAGS)
-$(FREETYPE_OUT)/%.o: $(FREETYPE_DIR)/src/sfnt/%.c | $(FREETYPE_OUT)
- $(CC_CMD) $(FT_CFLAGS)
-$(FREETYPE_OUT)/%.o: $(FREETYPE_DIR)/src/truetype/%.c | $(FREETYPE_OUT)
- $(CC_CMD) $(FT_CFLAGS)
-$(FREETYPE_OUT)/%.o: $(FREETYPE_DIR)/src/type1/%.c | $(FREETYPE_OUT)
- $(CC_CMD) $(FT_CFLAGS)
-
-FREETYPE_CFLAGS := -Iscripts/freetype -I$(FREETYPE_DIR)/include
+# --- JPEG-XR ---
+
+ifeq ($(HAVE_JPEGXR),yes)
+ifeq ($(USE_SYSTEM_JPEGXR),yes)
+ THIRD_CFLAGS += $(SYS_JPEGXR_CFLAGS) -DHAVE_JPEGXR
+ THIRD_LIBS += $(SYS_JPEGXR_LIBS)
else
-FREETYPE_CFLAGS := $(SYS_FREETYPE_CFLAGS)
-FREETYPE_LIBS := $(SYS_FREETYPE_LIBS)
+
+THIRD_SRC += thirdparty/jpegxr/Software/algo.c
+THIRD_SRC += thirdparty/jpegxr/Software/api.c
+THIRD_SRC += thirdparty/jpegxr/Software/cr_parse.c
+THIRD_SRC += thirdparty/jpegxr/Software/flags.c
+THIRD_SRC += thirdparty/jpegxr/Software/init.c
+THIRD_SRC += thirdparty/jpegxr/Software/io.c
+THIRD_SRC += thirdparty/jpegxr/Software/jpegxr_pixelformat.c
+THIRD_SRC += thirdparty/jpegxr/Software/r_parse.c
+THIRD_SRC += thirdparty/jpegxr/Software/r_strip.c
+THIRD_SRC += thirdparty/jpegxr/Software/r_tile_frequency.c
+THIRD_SRC += thirdparty/jpegxr/Software/r_tile_spatial.c
+THIRD_SRC += thirdparty/jpegxr/Software/x_strip.c
+
+THIRD_CFLAGS += -Ithirdparty/jpegxr
+THIRD_CFLAGS += -Ithirdparty/jpegxr/Software
+THIRD_CFLAGS += -DHAVE_JPEGXR
+
+$(OUT)/thirdparty/jpegxr/%.o: thirdparty/jpegxr/%.c
+ $(CC_CMD) -Ithirdparty/jpegxr -Ithirdparty/jpegxr/Software -Wno-tautological-compare
+
+endif
endif
-# --- HarfBuzz ---
-
-ifneq "$(wildcard $(HARFBUZZ_DIR)/README)" ""
-
-HARFBUZZ_OUT := $(OUT)/thirdparty/harfbuzz
-HARFBUZZ_SRC := \
- hb-blob.cc \
- hb-buffer.cc \
- hb-buffer-serialize.cc \
- hb-common.cc \
- hb-face.cc \
- hb-fallback-shape.cc \
- hb-font.cc \
- hb-ft.cc \
- hb-ot-font.cc \
- hb-ot-layout.cc \
- hb-ot-map.cc \
- hb-ot-shape-complex-arabic.cc \
- hb-ot-shape-complex-default.cc \
- hb-ot-shape-complex-hangul.cc \
- hb-ot-shape-complex-hebrew.cc \
- hb-ot-shape-complex-indic-table.cc \
- hb-ot-shape-complex-indic.cc \
- hb-ot-shape-complex-myanmar.cc \
- hb-ot-shape-complex-thai.cc \
- hb-ot-shape-complex-tibetan.cc \
- hb-ot-shape-complex-use-table.cc \
- hb-ot-shape-complex-use.cc \
- hb-ot-shape-fallback.cc \
- hb-ot-shape-normalize.cc \
- hb-ot-shape.cc \
- hb-ot-tag.cc \
- hb-set.cc \
- hb-shape-plan.cc \
- hb-shape.cc \
- hb-shaper.cc \
- hb-ucdn.cc \
- hb-unicode.cc \
- hb-warning.cc
-
-# hb-coretext.cc
-# hb-directwrite.cc
-# hb-glib.cc
-# hb-gobject-structs.cc
-# hb-graphite2.cc
-# hb-icu.cc
-# hb-uniscribe.cc
-
-HARFBUZZ_OBJ := $(addprefix $(HARFBUZZ_OUT)/, $(HARFBUZZ_SRC:%.cc=%.o))
-
-$(HARFBUZZ_OUT):
- $(MKDIR_CMD)
-$(HARFBUZZ_OUT)/%.o: $(HARFBUZZ_DIR)/src/%.cc | $(HARFBUZZ_OUT)
- $(CXX_CMD) -DHAVE_OT -DHAVE_UCDN -DHB_NO_MT $(FREETYPE_CFLAGS) \
- -Dhb_malloc_impl=fz_hb_malloc -Dhb_calloc_impl=fz_hb_calloc \
- -Dhb_free_impl=fz_hb_free -Dhb_realloc_impl=fz_hb_realloc \
- -fno-rtti -fno-exceptions -fvisibility-inlines-hidden --std=gnu++0x
-
-HARFBUZZ_CFLAGS := -I$(HARFBUZZ_DIR)/src
+# --- LIBJPEG ---
+
+ifeq ($(USE_SYSTEM_LIBJPEG),yes)
+ THIRD_CFLAGS += $(SYS_LIBJPEG_CFLAGS) -DSHARE_JPEG
+ THIRD_LIBS += $(SYS_LIBJPEG_LIBS)
else
-HARFBUZZ_CFLAGS := $(SYS_HARFBUZZ_CFLAGS)
-HARFBUZZ_LIBS := $(SYS_HARFBUZZ_LIBS)
+
+THIRD_SRC += thirdparty/libjpeg/jaricom.c
+THIRD_SRC += thirdparty/libjpeg/jcomapi.c
+THIRD_SRC += thirdparty/libjpeg/jdapimin.c
+THIRD_SRC += thirdparty/libjpeg/jdapistd.c
+THIRD_SRC += thirdparty/libjpeg/jdarith.c
+THIRD_SRC += thirdparty/libjpeg/jdatadst.c
+THIRD_SRC += thirdparty/libjpeg/jdatasrc.c
+THIRD_SRC += thirdparty/libjpeg/jdcoefct.c
+THIRD_SRC += thirdparty/libjpeg/jdcolor.c
+THIRD_SRC += thirdparty/libjpeg/jddctmgr.c
+THIRD_SRC += thirdparty/libjpeg/jdhuff.c
+THIRD_SRC += thirdparty/libjpeg/jdinput.c
+THIRD_SRC += thirdparty/libjpeg/jdmainct.c
+THIRD_SRC += thirdparty/libjpeg/jdmarker.c
+THIRD_SRC += thirdparty/libjpeg/jdmaster.c
+THIRD_SRC += thirdparty/libjpeg/jdmerge.c
+THIRD_SRC += thirdparty/libjpeg/jdpostct.c
+THIRD_SRC += thirdparty/libjpeg/jdsample.c
+THIRD_SRC += thirdparty/libjpeg/jdtrans.c
+THIRD_SRC += thirdparty/libjpeg/jerror.c
+THIRD_SRC += thirdparty/libjpeg/jfdctflt.c
+THIRD_SRC += thirdparty/libjpeg/jfdctfst.c
+THIRD_SRC += thirdparty/libjpeg/jfdctint.c
+THIRD_SRC += thirdparty/libjpeg/jidctflt.c
+THIRD_SRC += thirdparty/libjpeg/jidctfst.c
+THIRD_SRC += thirdparty/libjpeg/jidctint.c
+THIRD_SRC += thirdparty/libjpeg/jmemmgr.c
+THIRD_SRC += thirdparty/libjpeg/jquant1.c
+THIRD_SRC += thirdparty/libjpeg/jquant2.c
+THIRD_SRC += thirdparty/libjpeg/jutils.c
+
+THIRD_CFLAGS += -Iscripts/libjpeg -Ithirdparty/libjpeg
+
+$(OUT)/thirdparty/libjpeg/%.o: thirdparty/libjpeg/%.c
+ $(CC_CMD) -Iscripts/libjpeg
+
endif
-# --- LURATECH ---
+# --- LCMS2 ---
-ifneq "$(wildcard $(LURATECH_DIR)/ldf_jb2)$(wildcard $(LURATECH_DIR)/lwf_jp2)" ""
-
-LURATECH_OUT := $(OUT)/thirdparty/luratech
-LURATECH_SRC := \
- jb2_adt_cache.c \
- jb2_adt_decoder_halftone_region.c \
- jb2_adt_encoder_text_region.c \
- jb2_adt_huffman_tree.c \
- jb2_adt_symbol_instance.c \
- jb2_adt_context_ref_encoder.c \
- jb2_adt_context_ref_buffer.c \
- jb2_adt_context_ref_encoder.c \
- jb2_adt_mq_encoder.c \
- jb2_adt_decoder_text_region.c \
- jb2_adt_huffman_table_user_defined.c \
- jb2_adt_mmr_tables.c \
- jb2_adt_huffman_table_symbol.c \
- jb2_adt_component.c \
- jb2_adt_context_buffer.c \
- jb2_adt_context_decoder.c \
- jb2_adt_context_encoder.c \
- jb2_adt_context_ref_decoder.c \
- jb2_adt_decoder_collective_bitmap.c \
- jb2_adt_decoder_generic_region.c \
- jb2_adt_decoder_pattern_dict.c \
- jb2_adt_decoder_symbol_dict.c \
- jb2_adt_encoder_symbol_dict.c \
- jb2_adt_external_cache.c \
- jb2_adt_file.c \
- jb2_adt_file_extras.c \
- jb2_adt_handle_document.c \
- jb2_adt_huffman_decoder.c \
- jb2_adt_huffman_encoder.c \
- jb2_adt_huffman_table.c \
- jb2_adt_huffman_table_standard.c \
- jb2_adt_location.c \
- jb2_adt_memory.c \
- jb2_adt_message.c \
- jb2_adt_mmr_decoder.c \
- jb2_adt_mq_decoder.c \
- jb2_adt_mq_encoder.c \
- jb2_adt_mq_state.c \
- jb2_adt_pattern_dict.c \
- jb2_adt_pdf_file.c \
- jb2_adt_pdf_stream.c \
- jb2_adt_props_decompress.c \
- jb2_adt_read_bit_buffer.c \
- jb2_adt_read_data.c \
- jb2_adt_render_common.c \
- jb2_adt_render_generic_region.c \
- jb2_adt_render_halftone_region.c \
- jb2_adt_render_text_region.c \
- jb2_adt_run_array.c \
- jb2_adt_segment_array.c \
- jb2_adt_segment.c \
- jb2_adt_segment_end_of_stripe.c \
- jb2_adt_segment_generic_region.c \
- jb2_adt_segment_halftone_region.c \
- jb2_adt_segment_page_info.c \
- jb2_adt_segment_pattern_dict.c \
- jb2_adt_segment_region.c \
- jb2_adt_segment_symbol_dict.c \
- jb2_adt_segment_table.c \
- jb2_adt_segment_text_region.c \
- jb2_adt_segment_types.c \
- jb2_adt_stack.c \
- jb2_adt_symbol.c \
- jb2_adt_symbol_dict.c \
- jb2_adt_symbol_unify.c \
- jb2_adt_write_bits.c \
- jb2_adt_write_data.c \
- jb2_adt_write_pdf.c \
- jb2_common.c \
- jb2_license_dummy.c \
- jp2_adt_band_array.c \
- jp2_adt_band_buffer.c \
- jp2_adt_block_array.c \
- jp2_adt_cache.c \
- jp2_adt_comp.c \
- jp2_adt_component_array.c \
- jp2_adt_decomp.c \
- jp2_adt_ebcot_decoder.c \
- jp2_adt_external_cache.c \
- jp2_adt_image.c \
- jp2_adt_memory.c \
- jp2_adt_mq_decoder.c \
- jp2_adt_mq_state.c \
- jp2_adt_packet_decoder.c \
- jp2_adt_precinct_array.c \
- jp2_adt_rate.c \
- jp2_adt_rate_list.c \
- jp2_adt_read_bits.c \
- jp2_adt_read_data.c \
- jp2_adt_reader_requirements.c \
- jp2_adt_resolution_array.c \
- jp2_adt_tile_array.c \
- jp2_adt_tlm_marker_array.c \
- jp2_adt_write_data.c \
- jp2_buffer.c \
- jp2c_code_cb.c \
- jp2c_coder.c \
- jp2c_codestream.c \
- jp2c_file_format.c \
- jp2c_format.c \
- jp2c_memory.c \
- jp2_code_cb.c \
- jp2_common.c \
- jp2c_progression.c \
- jp2c_quant.c \
- jp2c_wavelet.c \
- jp2c_wavelet_lifting.c \
- jp2c_weights.c \
- jp2c_write.c \
- jp2d_codestream.c \
- jp2d_decoder.c \
- jp2d_file_format.c \
- jp2d_format.c \
- jp2d_image.c \
- jp2d_memory.c \
- jp2d_partial_decoding.c \
- jp2d_progression.c \
- jp2d_quant.c \
- jp2d_scale.c \
- jp2d_wavelet.c \
- jp2d_wavelet_lifting.c \
- jp2d_write.c \
- jp2_icc.c \
- jp2_license.c \
- jp2_packet.c \
- jp2_tag_tree.c
-
-LURATECH_OBJ := $(addprefix $(LURATECH_OUT)/, $(LURATECH_SRC:%.c=%.o))
-
-$(LURATECH_OUT):
- $(MKDIR_CMD)
-$(LURATECH_OUT)/%.o: $(LURATECH_DIR)/ldf_jb2/source/common/%.c | $(LURATECH_OUT)
- $(CC_CMD) \
- -I$(LURATECH_DIR)/ldf_jb2/source/common \
- -DLINUX
-$(LURATECH_OUT)/%.o: $(LURATECH_DIR)/ldf_jb2/source/compress/%.c | $(LURATECH_OUT)
- $(CC_CMD) \
- -I$(LURATECH_DIR)/ldf_jb2/source/common \
- -DLINUX
-$(LURATECH_OUT)/%.o: $(LURATECH_DIR)/lwf_jp2/library/source/%.c | $(LURATECH_OUT)
- $(CC_CMD) \
- -I$(LURATECH_DIR)/ldf_jb2/source/common \
- -DLINUX
-
-LURATECH_CFLAGS := \
--I$(LURATECH_DIR)/ldf_jb2/source/common \
- -I$(LURATECH_DIR)/ldf_jb2/source/libraries \
- -I$(LURATECH_DIR)/ldf_jb2/source/compress \
- -I$(LURATECH_DIR)/lwf_jp2/library/source \
- -DHAVE_LURATECH
-
-else # --- LURATECH ---
+ifeq ($(USE_SYSTEM_LCMS2),yes)
+ THIRD_CFLAGS += $(SYS_LCMS2_CFLAGS)
+ THIRD_LIBS += $(SYS_LCMS2_CFLAGS)
+else
-# --- JBIG2DEC ---
+THIRD_SRC += $(sort $(wildcard thirdparty/lcms2/src/cms*.c))
-ifneq "$(wildcard $(JBIG2DEC_DIR)/README)" ""
-
-JBIG2DEC_OUT := $(OUT)/thirdparty/jbig2dec
-JBIG2DEC_SRC := \
- jbig2.c \
- jbig2_arith.c \
- jbig2_arith_iaid.c \
- jbig2_arith_int.c \
- jbig2_generic.c \
- jbig2_halftone.c \
- jbig2_huffman.c \
- jbig2_image.c \
- jbig2_metadata.c \
- jbig2_mmr.c \
- jbig2_page.c \
- jbig2_refinement.c \
- jbig2_segment.c \
- jbig2_symbol_dict.c \
- jbig2_text.c
-
-JBIG2DEC_OBJ := $(addprefix $(JBIG2DEC_OUT)/, $(JBIG2DEC_SRC:%.c=%.o))
-
-$(JBIG2DEC_OUT):
- $(MKDIR_CMD)
-$(JBIG2DEC_OUT)/%.o: $(JBIG2DEC_DIR)/%.c | $(JBIG2DEC_OUT)
- $(CC_CMD) -DHAVE_STDINT_H -DJBIG_EXTERNAL_MEMENTO_H=\"mupdf/memento.h\"
+THIRD_CFLAGS += -Ithirdparty/lcms2/include
+
+$(OUT)/thirdparty/lcms2/%.o: thirdparty/lcms2/%.c
+ $(CC_CMD) -Ithirdparty/lcms2/include
-JBIG2DEC_CFLAGS := -I$(JBIG2DEC_DIR)
-else
-JBIG2DEC_CFLAGS := $(SYS_JBIG2DEC_CFLAGS)
-JBIG2DEC_LIBS := $(SYS_JBIG2DEC_LIBS)
endif
-# --- OpenJPEG ---
-
-ifneq "$(wildcard $(OPENJPEG_DIR)/openjpeg.h)" ""
-
-OPENJPEG_OUT := $(OUT)/thirdparty/openjpeg
-OPENJPEG_SRC := \
- bio.c \
- cio.c \
- dwt.c \
- event.c \
- function_list.c \
- image.c \
- invert.c \
- j2k.c \
- jp2.c \
- mct.c \
- mqc.c \
- openjpeg.c \
- pi.c \
- raw.c \
- t1.c \
- t2.c \
- tcd.c \
- tgt.c \
- thread.c
-
-OPENJPEG_OBJ := $(addprefix $(OPENJPEG_OUT)/, $(OPENJPEG_SRC:%.c=%.o))
-
-$(OPENJPEG_OUT):
- $(MKDIR_CMD)
-$(OPENJPEG_OUT)/%.o: $(OPENJPEG_DIR)/%.c | $(OPENJPEG_OUT)
- $(CC_CMD) $(OPENJPEG_CFLAGS)
+# --- MuJS ---
-OPENJPEG_CFLAGS += -I$(OPENJPEG_DIR) -DOPJ_STATIC -DOPJ_HAVE_STDINT_H -DOPJ_HAVE_INTTYPES_H
+ifeq ($(USE_SYSTEM_MUJS),yes)
+ THIRD_CFLAGS += $(SYS_MUJS_CFLAGS)
+ THIRD_LIBS += $(SYS_MUJS_LIBS)
else
-OPENJPEG_CFLAGS := $(SYS_OPENJPEG_CFLAGS)
-OPENJPEG_LIBS := $(SYS_OPENJPEG_LIBS)
+
+THIRD_SRC += thirdparty/mujs/one.c
+THIRD_CFLAGS += -Ithirdparty/mujs
+
+$(OUT)/thirdparty/mujs/%.o: thirdparty/mujs/%.c
+ $(CC_CMD)
+
endif
-endif # --- LURATECH ---
-
-# --- JPEG library from IJG ---
-
-ifneq "$(wildcard $(LIBJPEG_DIR)/README)" ""
-
-LIBJPEG_OUT := $(OUT)/thirdparty/libjpeg
-LIBJPEG_SRC := \
- jaricom.c \
- jcomapi.c \
- jdapimin.c \
- jdapistd.c \
- jdarith.c \
- jdatadst.c \
- jdatasrc.c \
- jdcoefct.c \
- jdcolor.c \
- jddctmgr.c \
- jdhuff.c \
- jdinput.c \
- jdmainct.c \
- jdmarker.c \
- jdmaster.c \
- jdmerge.c \
- jdpostct.c \
- jdsample.c \
- jdtrans.c \
- jerror.c \
- jfdctflt.c \
- jfdctfst.c \
- jfdctint.c \
- jidctflt.c \
- jidctfst.c \
- jidctint.c \
- jmemmgr.c \
- jquant1.c \
- jquant2.c \
- jutils.c \
-
-LIBJPEG_OBJ := $(addprefix $(LIBJPEG_OUT)/, $(LIBJPEG_SRC:%.c=%.o))
-
-$(LIBJPEG_OUT):
- $(MKDIR_CMD)
-$(LIBJPEG_OUT)/%.o: $(LIBJPEG_DIR)/%.c | $(LIBJPEG_OUT)
- $(CC_CMD) -Dmain=xxxmain
-
-LIBJPEG_CFLAGS := -Iscripts/libjpeg -I$(LIBJPEG_DIR)
+# --- ZLIB ---
+
+ifeq ($(USE_SYSTEM_ZLIB),yes)
+ THIRD_CFLAGS += $(SYS_ZLIB_CFLAGS)
+ THIRD_LIBS += $(SYS_ZLIB_LIBS)
else
-LIBJPEG_CFLAGS := $(SYS_LIBJPEG_CFLAGS) -DSHARE_JPEG
-LIBJPEG_LIBS := $(SYS_LIBJPEG_LIBS)
-endif
-# --- jpegxr ---
+THIRD_SRC += thirdparty/zlib/adler32.c
+THIRD_SRC += thirdparty/zlib/compress.c
+THIRD_SRC += thirdparty/zlib/crc32.c
+THIRD_SRC += thirdparty/zlib/deflate.c
+THIRD_SRC += thirdparty/zlib/inffast.c
+THIRD_SRC += thirdparty/zlib/inflate.c
+THIRD_SRC += thirdparty/zlib/inftrees.c
+THIRD_SRC += thirdparty/zlib/trees.c
+THIRD_SRC += thirdparty/zlib/uncompr.c
+THIRD_SRC += thirdparty/zlib/zutil.c
+
+THIRD_CFLAGS += -Ithirdparty/zlib
-ifneq "$(wildcard $(JPEGXR_DIR)/T835E.pdf)" ""
+$(OUT)/thirdparty/zlib/%.o: thirdparty/zlib/%.c
+ $(CC_CMD) -DHAVE_UNISTD_H -DHAVE_STDARG_H
-JPEGXR_OUT := $(OUT)/thirdparty/jpegxr
-JPEGXR_SRC := \
- algo.c \
- api.c \
- flags.c \
- init.c \
- io.c \
- cr_parse.c \
- jpegxr_pixelformat.c \
- r_parse.c \
- r_strip.c \
- r_tile_spatial.c \
- r_tile_frequency.c \
- x_strip.c
+endif
-JPEGXR_OBJ := $(addprefix $(JPEGXR_OUT)/, $(JPEGXR_SRC:%.c=%.o))
+# --- LURATECH ---
-$(JPEGXR_OUT):
- $(MKDIR_CMD)
+ifeq ($(HAVE_LURATECH),yes)
-$(JPEGXR_OUT)/%.o: $(JPEGXR_DIR)/Software/%.c | $(JPEGXR_OUT)
- $(CC_CMD) $(JPEGXR_CFLAGS)
+THIRD_SRC += $(sort $(wildcard thirdparty/luratech/ldf_jb2/source/common/*.c))
+THIRD_SRC += $(sort $(wildcard thirdparty/luratech/ldf_jb2/source/compress/*.c))
+THIRD_SRC += $(sort $(wildcard thirdparty/luratech/lwf_jp2/library/source/*.c))
-JPEGXR_CFLAGS := \
- -I$(JPEGXR_DIR) \
- -I$(JPEGXR_DIR)/Software \
- -DHAVE_JPEGXR
+LURATECH_CFLAGS += -Ithirdparty/luratech/ldf_jb2/source/libraries
+LURATECH_CFLAGS += -Ithirdparty/luratech/ldf_jb2/source/compress
+LURATECH_CFLAGS += -Ithirdparty/luratech/ldf_jb2/source/common
+LURATECH_CFLAGS += -Ithirdparty/luratech/lwf_jp2/library/source
-endif
+THIRD_CFLAGS += $(LURATECH_CFLAGS) -DHAVE_LURATECH=1
-# --- ZLIB ---
+$(OUT)/thirdparty/luratech/%.o: thirdparty/luratech/%.c
+ $(CC_CMD) -DLINUX $(LURATECH_CFLAGS) -Wno-tautological-compare -Wno-absolute-value
-ifneq "$(wildcard $(ZLIB_DIR)/README)" ""
-
-ZLIB_OUT := $(OUT)/thirdparty/zlib
-ZLIB_SRC := \
- adler32.c \
- compress.c \
- crc32.c \
- deflate.c \
- inffast.c \
- inflate.c \
- inftrees.c \
- trees.c \
- uncompr.c \
- zutil.c \
- gzlib.c \
- gzwrite.c \
- gzclose.c \
- gzread.c \
-
-ZLIB_OBJ := $(addprefix $(ZLIB_OUT)/, $(ZLIB_SRC:%.c=%.o))
-
-$(ZLIB_OUT):
- $(MKDIR_CMD)
-$(ZLIB_OUT)/%.o: $(ZLIB_DIR)/%.c | $(ZLIB_OUT)
- $(CC_CMD) -Dverbose=-1 -DHAVE_UNISTD_H -DHAVE_STDARG_H
-
-ZLIB_CFLAGS := -I$(ZLIB_DIR)
-else
-ZLIB_CFLAGS := $(SYS_ZLIB_CFLAGS)
-ZLIB_LIBS := $(SYS_ZLIB_LIBS)
-endif
+else # HAVE_LURATECH
-# --- LCMS2 ---
+# --- JBIG2DEC ---
-ifneq "$(wildcard $(LCMS2_DIR)/INSTALL)" ""
-
-LCMS2_OUT := $(OUT)/lcms2
-LCMS2_SRC := \
- cmsalpha.c \
- cmscam02.c \
- cmscgats.c \
- cmscnvrt.c \
- cmserr.c \
- cmsgamma.c \
- cmsgmt.c \
- cmshalf.c \
- cmsintrp.c \
- cmsio0.c \
- cmsio1.c \
- cmslut.c \
- cmsmd5.c \
- cmsmtrx.c \
- cmsnamed.c \
- cmsopt.c \
- cmspack.c \
- cmspcs.c \
- cmsplugin.c \
- cmsps2.c \
- cmssamp.c \
- cmssm.c \
- cmstypes.c \
- cmsvirt.c \
- cmswtpnt.c \
- cmsxform.c \
-
-LCMS2_OBJ := $(addprefix $(LCMS2_OUT)/, $(LCMS2_SRC:%.c=%.o))
-
-$(LCMS2_OUT):
- $(MKDIR_CMD)
-$(LCMS2_OUT)/%.o: $(LCMS2_DIR)/src/%.c | $(LCMS2_OUT)
- $(CC_CMD) -I$(LCMS2_DIR)/include
-
-LCMS2_CFLAGS := -I$(LCMS2_DIR)/include
+ifeq ($(USE_SYSTEM_JBIG2DEC),yes)
+ THIRD_CFLAGS += $(SYS_JBIG2DEC_CFLAGS)
+ THIRD_LIBS += $(SYS_JBIG2DEC_LIBS)
else
-LCMS2_CFLAGS := -DNO_ICC
-endif
-# --- cURL ---
-
-ifneq "$(wildcard $(CURL_DIR)/README)" ""
+THIRD_SRC += thirdparty/jbig2dec/jbig2.c
+THIRD_SRC += thirdparty/jbig2dec/jbig2_arith.c
+THIRD_SRC += thirdparty/jbig2dec/jbig2_arith_iaid.c
+THIRD_SRC += thirdparty/jbig2dec/jbig2_arith_int.c
+THIRD_SRC += thirdparty/jbig2dec/jbig2_generic.c
+THIRD_SRC += thirdparty/jbig2dec/jbig2_halftone.c
+THIRD_SRC += thirdparty/jbig2dec/jbig2_huffman.c
+THIRD_SRC += thirdparty/jbig2dec/jbig2_image.c
+THIRD_SRC += thirdparty/jbig2dec/jbig2_metadata.c
+THIRD_SRC += thirdparty/jbig2dec/jbig2_mmr.c
+THIRD_SRC += thirdparty/jbig2dec/jbig2_page.c
+THIRD_SRC += thirdparty/jbig2dec/jbig2_refinement.c
+THIRD_SRC += thirdparty/jbig2dec/jbig2_segment.c
+THIRD_SRC += thirdparty/jbig2dec/jbig2_symbol_dict.c
+THIRD_SRC += thirdparty/jbig2dec/jbig2_text.c
+
+THIRD_CFLAGS += -Ithirdparty/jbig2dec
+
+$(OUT)/thirdparty/jbig2dec/%.o: thirdparty/jbig2dec/%.c
+ $(CC_CMD) -DHAVE_STDINT_H -DJBIG_EXTERNAL_MEMENTO_H=\"mupdf/memento.h\"
-CURL_LIB := $(OUT)/libcurl.a
-CURL_OUT := $(OUT)/thirdparty/curl
-CURL_SRC := \
- base64.c \
- conncache.c \
- connect.c \
- content_encoding.c \
- curl_addrinfo.c \
- dotdot.c \
- easy.c \
- escape.c \
- fileinfo.c \
- formdata.c \
- getenv.c \
- getinfo.c \
- hash.c \
- hostcheck.c \
- hostip4.c \
- hostip.c \
- hostsyn.c \
- http.c \
- http_chunks.c \
- if2ip.c \
- llist.c \
- mprintf.c \
- multi.c \
- netrc.c \
- nonblock.c \
- openssl.c \
- parsedate.c \
- pipeline.c \
- progress.c \
- select.c \
- sendf.c \
- share.c \
- slist.c \
- speedcheck.c \
- splay.c \
- strcase.c \
- strdup.c \
- strerror.c \
- timeval.c \
- transfer.c \
- url.c \
- version.c \
- vtls.c \
- warnless.c \
- wildcard.c
-
-$(CURL_LIB): $(addprefix $(CURL_OUT)/, $(CURL_SRC:%.c=%.o))
-
-$(CURL_OUT):
- $(MKDIR_CMD)
-
-CRL_CFLAGS := -DHAVE_CONFIG_H -DBUILDING_LIBCURL -DCURL_STATICLIB \
- -DCURL_DISABLE_LDAP -I$(CURL_DIR)/include -I$(CURL_DIR)/lib
-ifeq "$(HAVE_OPENSSL_SSL)" "yes"
-CRL_CFLAGS += -DUSE_OPENSSL
endif
-$(CURL_OUT)/%.o: $(CURL_DIR)/lib/%.c | $(CURL_OUT)
- $(CC_CMD) $(CRL_CFLAGS)
+# --- OPENJPEG ---
-$(CURL_OUT)/%.o: $(CURL_DIR)/lib/vtls/%.c | $(CURL_OUT)
- $(CC_CMD) $(CRL_CFLAGS)
-
-CURL_CFLAGS := -I$(CURL_DIR)/include
-CURL_LIBS := $(SYS_CURL_DEPS)
+ifeq ($(USE_SYSTEM_OPENJPEG),yes)
+ THIRD_CFLAGS += $(SYS_OPENJPEG_CFLAGS)
+ THIRD_LIBS += $(SYS_OPENJPEG_LIBS)
+else
-HAVE_CURL := yes
+OPENJPEG_CFLAGS += -Ithirdparty/openjpeg/src/lib/openjp2
+OPENJPEG_CFLAGS += -DOPJ_STATIC
+OPENJPEG_CFLAGS += -DOPJ_HAVE_STDINT_H -DOPJ_HAVE_INTTYPES_H
+
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/bio.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/cio.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/dwt.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/event.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/function_list.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/image.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/invert.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/j2k.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/jp2.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/mct.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/mqc.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/openjpeg.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/pi.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/raw.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/t1.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/t2.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/tcd.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/tgt.c
+THIRD_SRC += thirdparty/openjpeg/src/lib/openjp2/thread.c
+
+THIRD_CFLAGS += $(OPENJPEG_CFLAGS)
+
+$(OUT)/thirdparty/openjpeg/%.o: thirdparty/openjpeg/%.c
+ $(CC_CMD) $(OPENJPEG_CFLAGS)
-else ifeq "$(HAVE_CURL)" "yes"
-CURL_CFLAGS := $(SYS_CURL_CFLAGS)
-CURL_LIBS := $(SYS_CURL_LIBS)
endif
-# --- FreeGLUT ---
+endif # HAVE_LURATECH
-ifneq "$(wildcard $(GLUT_DIR)/README)" ""
+# --- FreeGLUT ---
-ifeq "$(OS)" "MACOS"
-GLUT_CFLAGS := $(SYS_GLUT_CFLAGS)
-GLUT_LIBS := $(SYS_GLUT_LIBS)
+ifeq ($(USE_SYSTEM_GLUT),yes)
+ GLUT_CFLAGS := $(SYS_GLUT_CFLAGS)
+ GLUT_LIBS := $(SYS_GLUT_LIBS)
else
-HAVE_GLUT := yes
+GLUT_SRC += $(sort $(wildcard thirdparty/freeglut/src/fg_*.c))
+GLUT_SRC += $(sort $(wildcard thirdparty/freeglut/src/x11/*.c))
+
+GLUT_OBJ := $(GLUT_SRC:%.c=$(OUT)/%.o)
+
+LOCAL_GLUT_CFLAGS += -Ithirdparty/freeglut/include
+LOCAL_GLUT_CFLAGS += -Ithirdparty/freeglut/src
+LOCAL_GLUT_CFLAGS += -DHAVE_UNISTD_H -DHAVE_STDINT_H -DHAVE_X11_EXTENSIONS_XRANDR_H
GLUT_LIB := $(OUT)/libfreeglut.a
-GLUT_OUT := $(OUT)/thirdparty/freeglut
-GLUT_SRC := \
- fg_callbacks.c \
- fg_cursor.c \
- fg_display.c \
- fg_ext.c \
- fg_font.c \
- fg_font_data.c \
- fg_gamemode.c \
- fg_geometry.c \
- fg_gl2.c \
- fg_init.c \
- fg_input_devices.c \
- fg_joystick.c \
- fg_main.c \
- fg_menu.c \
- fg_misc.c \
- fg_overlay.c \
- fg_spaceball.c \
- fg_state.c \
- fg_stroke_mono_roman.c \
- fg_stroke_roman.c \
- fg_structure.c \
- fg_teapot.c \
- fg_videoresize.c \
- fg_window.c
-
-GLUT_X11_SRC := \
- fg_cursor_x11.c \
- fg_display_x11_glx.c \
- fg_ext_x11.c \
- fg_gamemode_x11.c \
- fg_glutfont_definitions_x11.c \
- fg_init_x11.c \
- fg_input_devices_x11.c \
- fg_joystick_x11.c \
- fg_main_x11.c \
- fg_menu_x11.c \
- fg_spaceball_x11.c \
- fg_state_x11.c \
- fg_state_x11_glx.c \
- fg_structure_x11.c \
- fg_window_x11.c \
- fg_window_x11_glx.c \
- fg_xinput_x11.c
-
-GLUT_OBJ := $(addprefix $(GLUT_OUT)/, $(GLUT_SRC:%.c=%.o))
-GLUT_OBJ += $(addprefix $(GLUT_OUT)/, $(GLUT_X11_SRC:%.c=%.o))
$(GLUT_LIB): $(GLUT_OBJ)
-$(GLUT_OUT):
- $(MKDIR_CMD)
-$(GLUT_OUT)/%.o: $(GLUT_DIR)/src/%.c | $(GLUT_OUT)
- $(CC_CMD) -I$(GLUT_DIR)/include -I$(GLUT_DIR)/src -Wno-unused-function -Wno-unused-const-variable \
- -DHAVE_UNISTD_H -DHAVE_STDINT_H -DHAVE_X11_EXTENSIONS_XRANDR_H
-$(GLUT_OUT)/%.o: $(GLUT_DIR)/src/x11/%.c | $(GLUT_OUT)
- $(CC_CMD) -I$(GLUT_DIR)/include -I$(GLUT_DIR)/src -Wno-unused-function \
- -DHAVE_UNISTD_H -DHAVE_STDINT_H -DHAVE_X11_EXTENSIONS_XRANDR_H
-
-GLUT_CFLAGS := -I$(GLUT_DIR)/include
+
+$(OUT)/thirdparty/freeglut/%.o: thirdparty/freeglut/%.c
+ $(CC_CMD) $(LOCAL_GLUT_CFLAGS)
+
+GLUT_CFLAGS := -Ithirdparty/freeglut/include
GLUT_LIBS := -lGL -lX11 -lXrandr
endif
+
+# --- cURL ---
+
+ifeq ($(USE_SYSTEM_CURL),yes)
+ CURL_CFLAGS := $(SYS_CURL_CFLAGS)
+ CURL_LIBS := $(SYS_CURL_LIBS)
else
-GLUT_CFLAGS := $(SYS_GLUT_CFLAGS)
-GLUT_LIBS := $(SYS_GLUT_LIBS)
-endif
-# --- X11 ---
+CURL_SRC += $(sort $(wildcard thirdparty/curl/lib/*.c))
+CURL_SRC += $(sort $(wildcard thirdparty/curl/lib/vauth/*.c))
+CURL_SRC += $(sort $(wildcard thirdparty/curl/lib/vtls/*.c))
-ifeq "$(HAVE_X11)" "yes"
-X11_CFLAGS := $(SYS_X11_CFLAGS)
-X11_LIBS := $(SYS_X11_LIBS)
-endif
+CURL_OBJ := $(CURL_SRC:%.c=$(OUT)/%.o)
-# --- OpenSSL ---
+LOCAL_CURL_CFLAGS += -DHAVE_CONFIG_H
+LOCAL_CURL_CFLAGS += -DBUILDING_LIBCURL
+LOCAL_CURL_CFLAGS += -DCURL_STATICLIB
+LOCAL_CURL_CFLAGS += -DCURL_DISABLE_LDAP
+LOCAL_CURL_CFLAGS += -Ithirdparty/curl/include
+LOCAL_CURL_CFLAGS += -Ithirdparty/curl/lib
-ifeq "$(HAVE_LIBCRYPTO)" "yes"
-LIBCRYPTO_CFLAGS := $(SYS_LIBCRYPTO_CFLAGS)
-LIBCRYPTO_LIBS := $(SYS_LIBCRYPTO_LIBS)
-endif
+CURL_LIB := $(OUT)/libcurl.a
-# --- pthread ---
+$(CURL_LIB): $(CURL_OBJ)
+
+$(OUT)/thirdparty/curl/%.o: thirdparty/curl/%.c
+ $(CC_CMD) $(LOCAL_CURL_CFLAGS)
+
+CURL_CFLAGS := -Ithirdparty/curl/include
+CURL_LIBS := -lpthread
-ifneq "$(threading)" "no"
-ifeq "$(HAVE_PTHREAD)" "yes"
-THREADING_CFLAGS := $(SYS_PTHREAD_CFLAGS) -DHAVE_PTHREAD
-THREADING_LIBS := $(SYS_PTHREAD_LIBS)
-endif
endif