# Makefile for hal/3pp/libjpeg-v6b


### Requires these modules


### Component specification

COMPONENT_IS_3PP = true
COMPONENT_TARGETS = $(TARGET_NAME_VIP)
NEEDS_ABS_PATHS = true


### Tar archive

tar_archive = $(CURDIR)/jpegsrc.v6b.tar.gz
src_dir     = $(CURDIR)/$(TARGET)/jpeg-6b
obj_dir     = $(CURDIR)/$(TARGET)/build


### Targets

LIB_TARGETS  = $(obj_dir)/.libs/libjpeg.so.62.0.0
LIB_TARGETS += $(obj_dir)/.libs/libjpeg.so.62
LIB_TARGETS += $(obj_dir)/.libs/libjpeg.so

INTERFACE_HEADERS  = $(src_dir)/jpeglib.h
INTERFACE_HEADERS += $(src_dir)/jerror.h
INTERFACE_HEADERS += $(src_dir)/jmorecfg.h
INTERFACE_HEADERS += $(obj_dir)/jconfig.h

# Other components expect to find the libjpeg headers in the root include dir.
INTERFACE_PATH = 
INTERFACE_OMIT_SOURCE_DIR = yes

INTERFACE_LIBS = jpeg

DOC_TARGETS = $(src_dir)/README
DOC_OMIT_SOURCE_DIR = yes
DOC_PATH = ../../doc/doc


### Extra cleanup

CLEANUP_FILES += $(src_dir) $(obj_dir)


### Common.mk

include ../../../makesystem/common.mk


### Dependencies

$(src_dir)/configure: $(tar_archive)
	@echo Expanding $^
	@mkdir -p $(TARGET)
	@cd $(TARGET) && tar xfz $^
	@cd $(src_dir) && patch -p1 < $(CURDIR)/configure.patch
	@cd $(src_dir) && patch -p1 < $(CURDIR)/config.sub.patch
	@cd $(src_dir) && patch -p1 < $(CURDIR)/makefile.cfg.patch
	@touch $(src_dir)/configure

$(obj_dir)/Makefile: $(src_dir)/configure
	@rm -rf $(obj_dir)
	@mkdir $(obj_dir)
	cd $(obj_dir) && \
	  $(BSG_DEVSETUP) $(src_dir)/configure \
	    --build=$(ARCH_BUILD) \
	    --host=$(TARGET_ARCH) \
	    --target=$(TARGET_ARCH) \
	    --enable-shared

$(INTERFACE_HEADERS): $(obj_dir)/Makefile

$(LIB_TARGETS): $(obj_dir)/Makefile
	$(BSG_DEVSETUP) $(MAKE) -C $(obj_dir)
