forked from Yellow-Dog-Man/FreeImage
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.solaris
66 lines (46 loc) · 1.36 KB
/
Makefile.solaris
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Solaris9 makefile for FreeImage. Tested on Solaris9 with tools from
# Sunfreeware.com.
# This file can be generated by ./gensrclist.sh
include Makefile.srcs
# General configuration variables:
CC = gcc
CPP = g++
AR = ar
INSTALLDIR = /usr/local
# Converts cr/lf to just lf
DOS2UNIX = dos2unix
COMPILERFLAGS = -O3
LIBRARIES = -lstdc++
MODULES = $(SRCS:.c=.o)
MODULES := $(MODULES:.cpp=.o)
CFLAGS = $(COMPILERFLAGS) $(INCLUDE)
CPPFLAGS = $(COMPILERFLAGS) -Wno-ctor-dtor-privacy $(INCLUDE)
TARGET = freeimage
STATICLIB = lib$(TARGET).a
SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).so
LIBNAME = lib$(TARGET).so.$(VER_MAJOR)
default: all
all: dist
dist: FreeImage
mkdir -p Dist
cp *.a Dist/
cp *.so Dist/
cp Source/FreeImage.h Dist/
dos2unix:
@$(DOS2UNIX) $(SRCS) $(INCLS)
FreeImage: $(STATICLIB) $(SHAREDLIB)
.c.o:
$(CC) $(CFLAGS) -c $< -o $@
.cpp.o:
$(CPP) $(CPPFLAGS) -c $< -o $@
$(STATICLIB): $(MODULES)
$(AR) r $@ $(MODULES)
$(SHAREDLIB): $(MODULES)
$(CC) -s -G -Wl,-soname=$(LIBNAME) -o $@ $(MODULES) $(LIBRARIES)
install:
install -m 644 -o root -g root Source/FreeImage.h $(INSTALLDIR)/include
install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR)/lib
install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR)/lib
ln -sf $(SHAREDLIB) $(INSTALLDIR)/lib/$(LIBNAME)
clean:
rm -rf core Dist/*.* u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)