| 1 |
#makeAll.sh |
|---|
| 2 |
SHELL=/bin/sh |
|---|
| 3 |
prefix=/usr/local |
|---|
| 4 |
libdir=lib |
|---|
| 5 |
|
|---|
| 6 |
OS=$(shell uname || uname -s) |
|---|
| 7 |
ARCH=$(shell arch || uname -m) |
|---|
| 8 |
|
|---|
| 9 |
ifndef DC |
|---|
| 10 |
ifneq ($(strip $(shell which dmd 2>/dev/null)),) |
|---|
| 11 |
DC=dmd |
|---|
| 12 |
else ifneq ($(strip $(shell which ldc 2>/dev/null)),) |
|---|
| 13 |
DC=ldc |
|---|
| 14 |
else ifneq ($(strip $(shell which ldc2 2>/dev/null)),) |
|---|
| 15 |
DC=ldc2 |
|---|
| 16 |
else |
|---|
| 17 |
DC=gdc |
|---|
| 18 |
endif |
|---|
| 19 |
endif |
|---|
| 20 |
|
|---|
| 21 |
# make gtkD libs and test |
|---|
| 22 |
.DEFAULT_GOAL = default-goal |
|---|
| 23 |
|
|---|
| 24 |
default-goal: libs test |
|---|
| 25 |
shared: shared-libs |
|---|
| 26 |
|
|---|
| 27 |
ifneq (,$(findstring ldc,$(DC))) |
|---|
| 28 |
all: libs shared-libs gda gstreamer shared-gda shared-gstreamer test |
|---|
| 29 |
else |
|---|
| 30 |
all: libs gda gstreamer test |
|---|
| 31 |
endif |
|---|
| 32 |
|
|---|
| 33 |
ifeq ("$(DC)","gdc") |
|---|
| 34 |
DCFLAGS=-O2 |
|---|
| 35 |
LINKERFLAG=-Xlinker |
|---|
| 36 |
output=-o $@ |
|---|
| 37 |
else |
|---|
| 38 |
DCFLAGS=-O |
|---|
| 39 |
LINKERFLAG=-L |
|---|
| 40 |
output=-of$@ |
|---|
| 41 |
endif |
|---|
| 42 |
|
|---|
| 43 |
ifneq (,$(findstring ldc,$(DC))) |
|---|
| 44 |
FPIC=-relocation-model=pic |
|---|
| 45 |
else |
|---|
| 46 |
FPIC=-fPIC |
|---|
| 47 |
endif |
|---|
| 48 |
|
|---|
| 49 |
ifeq ("$(OS)","Linux") |
|---|
| 50 |
LDFLAGS+=$(LINKERFLAG)-ldl |
|---|
| 51 |
endif |
|---|
| 52 |
|
|---|
| 53 |
ifndef MODEL |
|---|
| 54 |
ifeq ("$(ARCH)", "x86_64") |
|---|
| 55 |
MODEL=64 |
|---|
| 56 |
else |
|---|
| 57 |
MODEL=32 |
|---|
| 58 |
endif |
|---|
| 59 |
endif |
|---|
| 60 |
|
|---|
| 61 |
ifeq ($(MODEL), 64) |
|---|
| 62 |
DCFLAGS+=-m64 |
|---|
| 63 |
LDFLAGS+=-m64 |
|---|
| 64 |
else |
|---|
| 65 |
DCFLAGS+=-m32 |
|---|
| 66 |
LDFLAGS+=-m32 |
|---|
| 67 |
endif |
|---|
| 68 |
|
|---|
| 69 |
AR=ar |
|---|
| 70 |
RANLIB=ranlib |
|---|
| 71 |
|
|---|
| 72 |
####################################################################### |
|---|
| 73 |
|
|---|
| 74 |
SO_VERSION=1.5.1 |
|---|
| 75 |
|
|---|
| 76 |
LIBNAME_GTKD = libgtkd.a |
|---|
| 77 |
SONAME_GTKD = libgtkd.so |
|---|
| 78 |
SOURCES_GTKD = $(subst src/build/gtkD.d,,$(wildcard src/*/*.d)) |
|---|
| 79 |
OBJECTS_GTKD = $(patsubst %.d,%.o,$(SOURCES_GTKD)) |
|---|
| 80 |
PICOBJECTS_GTKD = $(patsubst %.o,%.pic.o,$(OBJECTS_GTKD)) |
|---|
| 81 |
|
|---|
| 82 |
LIBNAME_GTKDGL = libgtkdgl.a |
|---|
| 83 |
SONAME_GTKDGL = libgtkdgl.so |
|---|
| 84 |
SOURCES_GTKDGL = $(wildcard srcgl/*/*.d) |
|---|
| 85 |
OBJECTS_GTKDGL = $(patsubst %.d,%.o,$(SOURCES_GTKDGL)) |
|---|
| 86 |
PICOBJECTS_GTKDGL = $(patsubst %.o,%.pic.o,$(OBJECTS_GTKDGL)) |
|---|
| 87 |
|
|---|
| 88 |
LIBNAME_GTKDSV = libgtkdsv.a |
|---|
| 89 |
SONAME_GTKDSV = libgtkdsv.so |
|---|
| 90 |
SOURCES_GTKDSV = $(wildcard srcsv/*/*.d) |
|---|
| 91 |
OBJECTS_GTKDSV = $(patsubst %.d,%.o,$(SOURCES_GTKDSV)) |
|---|
| 92 |
PICOBJECTS_GTKDSV = $(patsubst %.o,%.pic.o,$(OBJECTS_GTKDSV)) |
|---|
| 93 |
|
|---|
| 94 |
LIBNAME_GTKDGDA = libgtkdgda.a |
|---|
| 95 |
SONAME_GTKDGDA = libgtkdgda.so |
|---|
| 96 |
SOURCES_GTKDGDA = $(wildcard srcgda/*/*.d) |
|---|
| 97 |
OBJECTS_GTKDGDA = $(patsubst %.d,%.o,$(SOURCES_GTKDGDA)) |
|---|
| 98 |
PICOBJECTS_GTKDGDA = $(patsubst %.o,%.pic.o,$(OBJECTS_GTKDGDA)) |
|---|
| 99 |
|
|---|
| 100 |
LIBNAME_GSTREAMERD = libgstreamerd.a |
|---|
| 101 |
SONAME_GSTREAMERD = libgstreamerd.so |
|---|
| 102 |
SOURCES_GSTREAMERD = $(wildcard srcgstreamer/*/*.d) |
|---|
| 103 |
OBJECTS_GSTREAMERD = $(patsubst %.d,%.o,$(SOURCES_GSTREAMERD)) |
|---|
| 104 |
PICOBJECTS_GSTREAMERD = $(patsubst %.o,%.pic.o,$(OBJECTS_GSTREAMERD)) |
|---|
| 105 |
|
|---|
| 106 |
####################################################################### |
|---|
| 107 |
|
|---|
| 108 |
BINNAME_DEMO = TestWindow |
|---|
| 109 |
SOURCES_DEMO = $(shell find \ |
|---|
| 110 |
demos/gtkD/TestWindow \ |
|---|
| 111 |
-name '*.d' ) |
|---|
| 112 |
OBJECTS_DEMO = $(shell echo $(SOURCES_DEMO) | sed -e 's/\.d/\.o/g') |
|---|
| 113 |
|
|---|
| 114 |
####################################################################### |
|---|
| 115 |
|
|---|
| 116 |
# -Isrc |
|---|
| 117 |
|
|---|
| 118 |
ifeq ("$(OS)","Darwin") |
|---|
| 119 |
libs: gtkd |
|---|
| 120 |
shared-libs: shared-gtkd |
|---|
| 121 |
else |
|---|
| 122 |
libs: gtkd gtkdgl sv |
|---|
| 123 |
shared-libs: shared-gtkd shared-gtkdgl shared-sv |
|---|
| 124 |
endif |
|---|
| 125 |
|
|---|
| 126 |
gtkd: $(LIBNAME_GTKD) |
|---|
| 127 |
gtkdgl: $(LIBNAME_GTKDGL) |
|---|
| 128 |
sv: $(LIBNAME_GTKDSV) |
|---|
| 129 |
gda: $(LIBNAME_GTKDGDA) |
|---|
| 130 |
gstreamer: $(LIBNAME_GSTREAMERD) |
|---|
| 131 |
|
|---|
| 132 |
shared-gtkd: $(SONAME_GTKD) |
|---|
| 133 |
shared-gtkdgl: $(SONAME_GTKDGL) |
|---|
| 134 |
shared-sv: $(SONAME_GTKDSV) |
|---|
| 135 |
shared-gda: $(SONAME_GTKDGDA) |
|---|
| 136 |
shared-gstreamer: $(SONAME_GSTREAMERD) |
|---|
| 137 |
|
|---|
| 138 |
####################################################################### |
|---|
| 139 |
|
|---|
| 140 |
$(LIBNAME_GTKD): IMPORTS=-Isrc |
|---|
| 141 |
$(LIBNAME_GTKD): $(OBJECTS_GTKD) |
|---|
| 142 |
$(make-lib) |
|---|
| 143 |
|
|---|
| 144 |
$(LIBNAME_GTKDGL): IMPORTS=-Isrc -Isrcgl |
|---|
| 145 |
$(LIBNAME_GTKDGL): $(LIBNAME_GTKD) $(OBJECTS_GTKDGL) |
|---|
| 146 |
$(make-lib) |
|---|
| 147 |
|
|---|
| 148 |
$(LIBNAME_GTKDSV): IMPORTS=-Isrc -Isrcsv |
|---|
| 149 |
$(LIBNAME_GTKDSV): $(LIBNAME_GTKD) $(OBJECTS_GTKDSV) |
|---|
| 150 |
$(make-lib) |
|---|
| 151 |
|
|---|
| 152 |
$(LIBNAME_GTKDGDA): IMPORTS=-Isrc -Isrcgda |
|---|
| 153 |
$(LIBNAME_GTKDGDA): $(LIBNAME_GTKD) $(OBJECTS_GTKDGDA) |
|---|
| 154 |
$(make-lib) |
|---|
| 155 |
|
|---|
| 156 |
$(LIBNAME_GSTREAMERD): IMPORTS=-Isrc -Isrcgstreamer |
|---|
| 157 |
$(LIBNAME_GSTREAMERD): $(LIBNAME_GTKD) $(OBJECTS_GSTREAMERD) |
|---|
| 158 |
$(make-lib) |
|---|
| 159 |
|
|---|
| 160 |
####################################################################### |
|---|
| 161 |
|
|---|
| 162 |
$(SONAME_GTKD): IMPORTS=-Isrc |
|---|
| 163 |
$(SONAME_GTKD): $(PICOBJECTS_GTKD) |
|---|
| 164 |
$(make-shared-lib) |
|---|
| 165 |
|
|---|
| 166 |
$(SONAME_GTKDGL): IMPORTS=-Isrc -Isrcgl |
|---|
| 167 |
$(SONAME_GTKDGL): $(PICOBJECTS_GTKDGL) |
|---|
| 168 |
$(make-shared-lib) |
|---|
| 169 |
|
|---|
| 170 |
$(SONAME_GTKDSV): IMPORTS=-Isrc -Isrcsv |
|---|
| 171 |
$(SONAME_GTKDSV): $(PICOBJECTS_GTKDSV) |
|---|
| 172 |
$(make-shared-lib) |
|---|
| 173 |
|
|---|
| 174 |
$(SONAME_GTKDGDA): IMPORTS=-Isrc -Isrcgda |
|---|
| 175 |
$(SONAME_GTKDGDA): $(PICOBJECTS_GTKDGDA) |
|---|
| 176 |
$(make-shared-lib) |
|---|
| 177 |
|
|---|
| 178 |
$(SONAME_GTKDGSTREAMERD): IMPORTS=-Isrc -Isrcgstreamer |
|---|
| 179 |
$(SONAME_GTKDGSTREAMERD): $(PICOBJECTS_GTKDGSTREAMERD) |
|---|
| 180 |
$(make-shared-lib) |
|---|
| 181 |
|
|---|
| 182 |
####################################################################### |
|---|
| 183 |
|
|---|
| 184 |
# -Idemos |
|---|
| 185 |
|
|---|
| 186 |
test: $(BINNAME_DEMO) |
|---|
| 187 |
|
|---|
| 188 |
# Build libgtkd.a when neigther neither libgtkd.so and libgtkd.a are pressend. |
|---|
| 189 |
|
|---|
| 190 |
# Use -rpath for the demo so that the shard libs don't need to |
|---|
| 191 |
# be installed for it to run. |
|---|
| 192 |
|
|---|
| 193 |
# Create a versioned symlink so the demo is able to load it. |
|---|
| 194 |
|
|---|
| 195 |
$(BINNAME_DEMO): IMPORTS=-Isrc -Idemos/gtkD/TestWindow |
|---|
| 196 |
$(BINNAME_DEMO): $(OBJECTS_DEMO) |
|---|
| 197 |
$(if $(wildcard libgtkd.so),,$(if $(wildcard libgtkd.a),,$(MAKE) $(LIBNAME_GTKD))) |
|---|
| 198 |
$(if $(wildcard libgtkd.so),$(eval LDFLAGS+= $(LINKERFLAG)-rpath=./)) |
|---|
| 199 |
$(if $(wildcard libgtkd.so),$(shell ln -s $(SONAME_GTKD) $(SONAME_GTKD).$(call stripBugfix,$(SO_VERSION)))) |
|---|
| 200 |
$(DC) $(OBJECTS_DEMO) $(output) $(LINKERFLAG)-L. $(LINKERFLAG)-lgtkd $(LDFLAGS) |
|---|
| 201 |
|
|---|
| 202 |
####################################################################### |
|---|
| 203 |
|
|---|
| 204 |
%.o : %.d |
|---|
| 205 |
$(DC) $(DCFLAGS) $(IMPORTS) -c $< $(output) |
|---|
| 206 |
|
|---|
| 207 |
%.pic.o : %.d |
|---|
| 208 |
$(DC) $(DCFLAGS) $(FPIC) $(IMPORTS) -c $< $(output) |
|---|
| 209 |
|
|---|
| 210 |
####################################################################### |
|---|
| 211 |
|
|---|
| 212 |
ifeq ("$(OS)","Darwin") |
|---|
| 213 |
install: install-gtkd |
|---|
| 214 |
install-headers: install-headers-gtkd |
|---|
| 215 |
install-shared: install-shared-gtkd |
|---|
| 216 |
else |
|---|
| 217 |
install: install-gtkd install-gtkdgl install-gtkdsv |
|---|
| 218 |
install-headers: install-headers-gtkd install-headers-gtkdgl install-headers-gtkdsv |
|---|
| 219 |
install-shared: install-shared-gtkd install-shared-gtkdgl install-shared-gtkdsv |
|---|
| 220 |
endif |
|---|
| 221 |
|
|---|
| 222 |
install-gtkd: $(LIBNAME_GTKD) install-headers-gtkd |
|---|
| 223 |
install -d $(DESTDIR)$(prefix)/$(libdir) |
|---|
| 224 |
install -m 644 $(LIBNAME_GTKD) $(DESTDIR)$(prefix)/$(libdir) |
|---|
| 225 |
|
|---|
| 226 |
install-gtkdgl: $(LIBNAME_GTKDGL) install-gtkd install-headers-gtkdgl |
|---|
| 227 |
install -m 644 $(LIBNAME_GTKDGL) $(DESTDIR)$(prefix)/$(libdir) |
|---|
| 228 |
|
|---|
| 229 |
install-gtkdsv: $(LIBNAME_GTKDSV) install-gtkd install-headers-gtkdsv |
|---|
| 230 |
install -m 644 $(LIBNAME_GTKDSV) $(DESTDIR)$(prefix)/$(libdir) |
|---|
| 231 |
|
|---|
| 232 |
install-gda: $(LIBNAME_GTKDGDA) install-gtkd install-headers-gda |
|---|
| 233 |
install -m 644 $(LIBNAME_GTKDGDA) $(DESTDIR)$(prefix)/$(libdir) |
|---|
| 234 |
|
|---|
| 235 |
install-gstreamer: $(LIBNAME_GSTREAMERD) install-gtkd install-headers-gstreamer |
|---|
| 236 |
install -m 644 $(LIBNAME_GSTREAMERD) $(DESTDIR)$(prefix)/$(libdir) |
|---|
| 237 |
|
|---|
| 238 |
install-shared-gtkd: $(SONAME_GTKD) |
|---|
| 239 |
install -d $(DESTDIR)$(prefix)/$(libdir) |
|---|
| 240 |
$(install-so) |
|---|
| 241 |
|
|---|
| 242 |
install-shared-gtkdgl: $(SONAME_GTKDGL) install-shared-gtkd |
|---|
| 243 |
$(install-so) |
|---|
| 244 |
|
|---|
| 245 |
install-shared-gtkdsv: $(SONAME_GTKDSV) install-shared-gtkd |
|---|
| 246 |
$(install-so) |
|---|
| 247 |
|
|---|
| 248 |
install-shared-gda: $(SONAME_GTKDGDA) install-shared-gtkd |
|---|
| 249 |
$(install-so) |
|---|
| 250 |
|
|---|
| 251 |
install-shared-gstreamer: $(SONAME_GSTREAMERD) install-shared-gtkd |
|---|
| 252 |
$(install-so) |
|---|
| 253 |
|
|---|
| 254 |
install-headers-gtkd: |
|---|
| 255 |
install -d $(DESTDIR)$(prefix)/include/d |
|---|
| 256 |
(cd src; echo $(SOURCES_GTKD) | sed -e s,src/,,g | xargs tar c) | (cd $(DESTDIR)$(prefix)/include/d; tar xv) |
|---|
| 257 |
|
|---|
| 258 |
install-headers-gtkdgl: |
|---|
| 259 |
(cd srcgl; echo $(SOURCES_GTKDGL) | sed -e s,srcgl/,,g | xargs tar c) | (cd $(DESTDIR)$(prefix)/include/d; tar xv) |
|---|
| 260 |
|
|---|
| 261 |
install-headers-gtkdsv: |
|---|
| 262 |
(cd srcsv; echo $(SOURCES_GTKDSV) | sed -e s,srcsv/,,g | xargs tar c) | (cd $(DESTDIR)$(prefix)/include/d; tar xv) |
|---|
| 263 |
|
|---|
| 264 |
install-headers-gda: |
|---|
| 265 |
(cd srcgda; echo $(SOURCES_GTKDGDA) | sed -e s,srcgda/,,g | xargs tar c) | (cd $(DESTDIR)$(prefix)/include/d; tar xv) |
|---|
| 266 |
|
|---|
| 267 |
install-headers-gstreamer: |
|---|
| 268 |
(cd srcgstreamer; echo $(SOURCES_GSTREAMERD) | sed -e s,srcgstreamer/,,g | xargs tar c) | (cd $(DESTDIR)$(prefix)/include/d; tar xv) |
|---|
| 269 |
|
|---|
| 270 |
uninstall: uninstall-gtkdgl uninstall-gtkdsv uninstall-gda uninstall-gstreamer |
|---|
| 271 |
$(foreach dir,$(shell ls src) , rm -rf $(DESTDIR)$(prefix)/include/d/$(dir)) |
|---|
| 272 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(LIBNAME_GTKD) |
|---|
| 273 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GTKD) |
|---|
| 274 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GTKD).$(call stripBugfix,$(SO_VERSION)) |
|---|
| 275 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GTKD).$(SO_VERSION) |
|---|
| 276 |
|
|---|
| 277 |
uninstall-gtkdgl: |
|---|
| 278 |
$(foreach dir,$(shell ls srcsv), rm -rf $(DESTDIR)$(prefix)/include/d/$(dir)) |
|---|
| 279 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(LIBNAME_GTKDGL) |
|---|
| 280 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GTKDGL) |
|---|
| 281 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GTKDGL).$(call stripBugfix,$(SO_VERSION)) |
|---|
| 282 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GTKDGL).$(SO_VERSION) |
|---|
| 283 |
|
|---|
| 284 |
uninstall-gtkdsv: |
|---|
| 285 |
$(foreach dir,$(shell ls srcgl), rm -rf $(DESTDIR)$(prefix)/include/d/$(dir)) |
|---|
| 286 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(LIBNAME_GTKDSV) |
|---|
| 287 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GTKDSV) |
|---|
| 288 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GTKDSV).$(call stripBugfix,$(SO_VERSION)) |
|---|
| 289 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GTKDSV).$(SO_VERSION) |
|---|
| 290 |
|
|---|
| 291 |
uninstall-gda: |
|---|
| 292 |
$(foreach dir,$(shell ls srcgda), rm -rf $(DESTDIR)$(prefix)/include/d/$(dir)) |
|---|
| 293 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(LIBNAME_GTKDGDA) |
|---|
| 294 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GTKDGDA) |
|---|
| 295 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GTKDGDA).$(call stripBugfix,$(SO_VERSION)) |
|---|
| 296 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GTKDGDA).$(SO_VERSION) |
|---|
| 297 |
|
|---|
| 298 |
uninstall-gstreamer: |
|---|
| 299 |
$(foreach dir,$(shell ls srcgstreamer), rm -rf $(DESTDIR)$(prefix)/include/d/$(dir)) |
|---|
| 300 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(LIBNAME_GSTREAMERD) |
|---|
| 301 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GSTREAMERD) |
|---|
| 302 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GSTREAMERD).$(SO_VERSION) |
|---|
| 303 |
rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GSTREAMERD).$(SO_VERSION) |
|---|
| 304 |
|
|---|
| 305 |
clean: |
|---|
| 306 |
-rm -f $(LIBNAME_GTKD) $(SONAME_GTKD) $(OBJECTS_GTKD) $(PICOBJECTS_GTKD) |
|---|
| 307 |
-rm -f $(LIBNAME_GTKDGL) $(SONAME_GTKDGL) $(OBJECTS_GTKDGL) $(PICOBJECTS_GTKDGL) |
|---|
| 308 |
-rm -f $(LIBNAME_GTKDSV) $(SONAME_GTKDSV) $(OBJECTS_GTKDSV) $(PICOBJECTS_GTKDSV) |
|---|
| 309 |
-rm -f $(LIBNAME_GTKDGDA) $(SONAME_GTKDGDA) $(OBJECTS_GTKDGDA) $(PICOBJECTS_GTKDGDA) |
|---|
| 310 |
-rm -f $(LIBNAME_GSTREAMERD) $(SONAME_GSTREAMERD) $(OBJECTS_GSTREAMERD) $(PICOBJECTS_GSTREAMERD) |
|---|
| 311 |
-rm -f $(BINNAME_DEMO) $(OBJECTS_DEMO) $(SONAME_GTKD).$(call stripBugfix,$(SO_VERSION)) |
|---|
| 312 |
-rm -rf .pic |
|---|
| 313 |
|
|---|
| 314 |
####################################################################### |
|---|
| 315 |
|
|---|
| 316 |
space := |
|---|
| 317 |
space += |
|---|
| 318 |
|
|---|
| 319 |
stripBugfix = $(subst $(space),.,$(strip $(wordlist 1, 2, $(subst ., ,$(1))))) |
|---|
| 320 |
|
|---|
| 321 |
define make-lib |
|---|
| 322 |
$(AR) rcs $@ $(subst $(LIBNAME_GTKD),,$^) |
|---|
| 323 |
$(RANLIB) $@ |
|---|
| 324 |
endef |
|---|
| 325 |
|
|---|
| 326 |
define make-shared-lib |
|---|
| 327 |
# Combine all the object files into one file, since some d compilers |
|---|
| 328 |
# don't support building a shared lib from multiple object files. |
|---|
| 329 |
ld -r $^ -o $@.o |
|---|
| 330 |
$(DC) -shared $(output) $(LINKERFLAG)-soname=$@.$(call stripBugfix,$(SO_VERSION)) $@.o |
|---|
| 331 |
rm $@.o |
|---|
| 332 |
endef |
|---|
| 333 |
|
|---|
| 334 |
define install-so |
|---|
| 335 |
install -m 755 $< $(DESTDIR)$(prefix)/$(libdir)/$<.$(call stripBugfix,$(SO_VERSION)) |
|---|
| 336 |
cd $(DESTDIR)$(prefix)/$(libdir)/; ln -s $<.$(call stripBugfix,$(SO_VERSION)) $<.$(SO_VERSION) |
|---|
| 337 |
cd $(DESTDIR)$(prefix)/$(libdir)/; ln -s $<.$(SO_VERSION) $< |
|---|
| 338 |
endef |
|---|