Source

gltut / FreeImage / Makefile.cygwin

Jason McKesson d5cf55e 







































































# 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)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.