# Cygwin makefile for FreeImage

# This file can be generated by ./gensrclist.sh
include Makefile.srcs

# General configuration variables:
CC = gcc
CXX = g++
AR = ar

INSTALLDIR = /usr

# Converts cr/lf to just lf
DOS2UNIX = dos2unix

COMPILERFLAGS = -O3 -DNO_LCMS
LIBRARIES = -lstdc++

MODULES = $(SRCS:.c=.o)
MODULES := $(MODULES:.cpp=.o)
CFLAGS = $(COMPILERFLAGS) $(INCLUDE)
CXXFLAGS = $(COMPILERFLAGS)  -Wno-ctor-dtor-privacy $(INCLUDE)

TARGET  = freeimage
STATICLIB = lib$(TARGET).a
SHAREDLIB = cyg$(TARGET)-$(VER_MAJOR).$(VER_MINOR).dll
LIBNAME = lib$(TARGET).dll.a
HEADER = Source/FreeImage.h


default: all

all: dist

dist: FreeImage
	cp *.a Dist
	cp *.dll Dist
	cp *.dll.a Dist
	cp $(HEADER) Dist

dos2unix:
	@$(DOS2UNIX) $(SRCS) $(INCLS)

FreeImage: $(STATICLIB) $(SHAREDLIB)

.c.o:
	$(CC) $(CFLAGS) -c $< -o $@

.cpp.o:
	$(CXX) $(CXXFLAGS) -c $< -o $@

$(STATICLIB): $(MODULES)
	$(AR) r $@ $(MODULES)

$(SHAREDLIB): $(MODULES)
	$(CC) -s -shared -o $@ \
	    -Wl,--out-implib=$(LIBNAME) \
	    -Wl,--export-all-symbols \
	    -Wl,--enable-auto-import \
	    -Wl,--enable-auto-image-base \
	    -Wl,--whole-archive $(STATICLIB) \
	    -Wl,--no-whole-archive $(LIBRARIES)


install:
	install -m 644 $(STATICLIB) $(INSTALLDIR)/lib
	install -m 644 $(LIBNAME) $(INSTALLDIR)/lib
	install -m 755 $(SHAREDLIB) $(INSTALLDIR)/bin
	install -m 644 $(HEADER) $(INSTALLDIR)/include

clean:
	rm -f core Dist/*.* u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)

