75 lines
1.5 KiB
Makefile
75 lines
1.5 KiB
Makefile
# 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
|
|
mkdir -p Dist
|
|
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)
|
|
|