115 |
MATH := -lm |
MATH := -lm |
116 |
endif |
endif |
117 |
|
|
118 |
# The default commands used to link the executables. These can |
# The default variables used to link the executables. These can |
119 |
# be redefined for platform-specific stuff. |
# be redefined for platform-specific stuff. |
120 |
# |
# |
121 |
|
# The first token of LINK_ITEMS must be the executable. |
122 |
|
# |
123 |
|
LINK_ITEMS = $T$(subst /,$(COMPILER_SEP),$@ $<) |
124 |
|
|
125 |
ifeq ($(PLATFORM),unix) |
ifeq ($(PLATFORM),unix) |
126 |
CC = $(CCraw) |
CC = $(CCraw) |
127 |
LINK = $(subst /,$(SEP),$(OBJ_BUILD)/libtool) --mode=link $(CC) \ |
LINK_CMD = $(subst /,$(SEP),$(OBJ_BUILD)/libtool) \ |
128 |
$T$(subst /,$(COMPILER_SEP),$@ $< $(LDFLAGS) $(FTLIB) $(EFENCE)) |
--mode=link $(CC) \ |
129 |
|
$(subst /,$(COMPILER_SEP),$(LDFLAGS)) |
130 |
|
LINK_LIBS = $(subst /,$(COMPILER_SEP),$(FTLIB) $(EFENCE)) |
131 |
else |
else |
132 |
|
LINK_CMD = $(CC) $(subst /,$(COMPILER_SEP),$(LDFLAGS)) |
133 |
ifeq ($(PLATFORM),unixdev) |
ifeq ($(PLATFORM),unixdev) |
134 |
LINK = $(CC) $T$(subst /,$(COMPILER_SEP),$@ $< $(FTLIB) \ |
LINK_LIBS = $(subst /,$(COMPILER_SEP),$(FTLIB) $(EFENCE)) -lm |
|
$(EFENCE) -lm $(LDFLAGS)) |
|
135 |
else |
else |
136 |
LINK = $(CC) $T$(subst /,$(COMPILER_SEP),$@ $< $(FTLIB) \ |
LINK_LIBS = $(subst /,$(COMPILER_SEP),$(FTLIB) $(EFENCE)) |
|
$(EFENCE) $(LDFLAGS)) |
|
137 |
endif |
endif |
138 |
endif |
endif |
139 |
|
|
140 |
COMMON_LINK = $(LINK) $(subst /,$(COMPILER_SEP),$(COMMON_OBJ)) |
LINK_COMMON = $(LINK_CMD) \ |
141 |
GRAPH_LINK = $(COMMON_LINK) $(subst /,$(COMPILER_SEP),$(GRAPH_LIB)) $(MATH) |
$(LINK_ITEMS) $(subst /,$(COMPILER_SEP),$(COMMON_OBJ)) \ |
142 |
GRAPH_LINK2 = $(GRAPH_LINK) $(subst /,$(COMPILER_SEP),$(EXTRA_GRAPH_OBJS)) |
$(LINK_LIBS) |
143 |
|
LINK_GRAPH = $(LINK_COMMON) $(subst /,$(COMPILER_SEP),$(GRAPH_LIB)) \ |
144 |
|
$(GRAPH_LINK) $(MATH) |
145 |
|
LINK_NEW = $(LINK_CMD) \ |
146 |
|
$(LINK_ITEMS) $(subst /,$(COMPILER_SEP),$(COMMON_OBJ) \ |
147 |
|
$(FTCOMMON_OBJ)) \ |
148 |
|
$(LINK_LIBS) $(subst /,$(COMPILER_SEP),$(GRAPH_LIB)) \ |
149 |
|
$(GRAPH_LINK) $(MATH) |
150 |
|
|
151 |
.PHONY: exes clean distclean |
.PHONY: exes clean distclean |
152 |
|
|
252 |
$(COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) |
$(COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) |
253 |
endif |
endif |
254 |
|
|
255 |
|
FTCOMMON_OBJ := $(OBJ_DIR)/ftcommon.$(SO) |
256 |
|
$(FTCOMMON_OBJ): $(SRC_DIR)/ftcommon.c $(SRC_DIR)/ftcommon.h |
257 |
|
$(COMPILE) $(GRAPH_INCLUDES:%=$I%) \ |
258 |
|
$T$(subst /,$(COMPILER_SEP),$@ $<) |
259 |
|
|
260 |
|
|
261 |
$(OBJ_DIR)/%.$(SO): $(SRC_DIR)/%.c $(FTLIB) |
$(OBJ_DIR)/%.$(SO): $(SRC_DIR)/%.c $(FTLIB) |
262 |
$(COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) |
$(COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) |
289 |
$(COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) |
$(COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) |
290 |
|
|
291 |
|
|
292 |
|
# We simplify the dependencies on the graphics library by using |
293 |
|
# $(GRAPH_LIB) directly. |
294 |
|
|
295 |
$(OBJ_DIR)/ftview.$(SO): $(SRC_DIR)/ftview.c \ |
$(OBJ_DIR)/ftview.$(SO): $(SRC_DIR)/ftview.c \ |
296 |
$(GRAPH_LIB) $(SRC_DIR)/ftcommon.i |
$(GRAPH_LIB) |
297 |
$(COMPILE) $(GRAPH_INCLUDES:%=$I%) \ |
$(COMPILE) $(GRAPH_INCLUDES:%=$I%) \ |
298 |
$T$(subst /,$(COMPILER_SEP),$@ $<) \ |
$T$(subst /,$(COMPILER_SEP),$@ $<) \ |
299 |
|
|
300 |
$(OBJ_DIR)/ftgamma.$(SO): $(SRC_DIR)/ftgamma.c \ |
$(OBJ_DIR)/ftgamma.$(SO): $(SRC_DIR)/ftgamma.c \ |
301 |
$(GRAPH_LIB) $(SRC_DIR)/ftcommon.i |
$(GRAPH_LIB) $(SRC_DIR)/ftcommon.i |
302 |
$(COMPILE) $(GRAPH_INCLUDES:%=$I%) \ |
$(COMPILE) $(GRAPH_INCLUDES:%=$I%) \ |
303 |
$T$(subst /,$(COMPILER_SEP),$@ $<) \ |
$T$(subst /,$(COMPILER_SEP),$@ $<) \ |
304 |
|
|
308 |
$T$(subst /,$(COMPILER_SEP),$@ $<) \ |
$T$(subst /,$(COMPILER_SEP),$@ $<) \ |
309 |
|
|
310 |
$(OBJ_DIR)/ftstring.$(SO): $(SRC_DIR)/ftstring.c \ |
$(OBJ_DIR)/ftstring.$(SO): $(SRC_DIR)/ftstring.c \ |
311 |
$(GRAPH_LIB) $(SRC_DIR)/ftcommon.i |
$(GRAPH_LIB) |
312 |
$(COMPILE) $(GRAPH_INCLUDES:%=$I%) \ |
$(COMPILE) $(GRAPH_INCLUDES:%=$I%) \ |
313 |
$T$(subst /,$(COMPILER_SEP),$@ $<) \ |
$T$(subst /,$(COMPILER_SEP),$@ $<) \ |
314 |
|
|
356 |
# overridden by system-specific things. |
# overridden by system-specific things. |
357 |
# |
# |
358 |
$(BIN_DIR)/ftlint$E: $(OBJ_DIR)/ftlint.$(SO) $(FTLIB) $(COMMON_OBJ) |
$(BIN_DIR)/ftlint$E: $(OBJ_DIR)/ftlint.$(SO) $(FTLIB) $(COMMON_OBJ) |
359 |
$(COMMON_LINK) |
$(LINK_COMMON) |
360 |
|
|
361 |
$(BIN_DIR)/ftbench$E: $(OBJ_DIR)/ftbench.$(SO) $(FTLIB) $(COMMON_OBJ) |
$(BIN_DIR)/ftbench$E: $(OBJ_DIR)/ftbench.$(SO) $(FTLIB) $(COMMON_OBJ) |
362 |
$(COMMON_LINK) |
$(LINK_COMMON) |
363 |
|
|
364 |
$(BIN_DIR)/ftchkwd$E: $(OBJ_DIR)/ftchkwd.$(SO) $(FTLIB) $(COMMON_OBJ) |
$(BIN_DIR)/ftchkwd$E: $(OBJ_DIR)/ftchkwd.$(SO) $(FTLIB) $(COMMON_OBJ) |
365 |
$(COMMON_LINK) |
$(LINK_COMMON) |
366 |
|
|
367 |
$(BIN_DIR)/ftmemchk$E: $(OBJ_DIR)/ftmemchk.$(SO) $(FTLIB) $(COMMON_OBJ) |
$(BIN_DIR)/ftmemchk$E: $(OBJ_DIR)/ftmemchk.$(SO) $(FTLIB) $(COMMON_OBJ) |
368 |
$(COMMON_LINK) |
$(LINK_COMMON) |
369 |
|
|
370 |
$(BIN_DIR)/compos$E: $(OBJ_DIR)/compos.$(SO) $(FTLIB) $(COMMON_OBJ) |
$(BIN_DIR)/compos$E: $(OBJ_DIR)/compos.$(SO) $(FTLIB) $(COMMON_OBJ) |
371 |
$(COMMON_LINK) |
$(LINK_COMMON) |
372 |
|
|
373 |
$(BIN_DIR)/ftvalid$E: $(OBJ_DIR)/ftvalid.$(SO) $(FTLIB) $(COMMON_OBJ) |
$(BIN_DIR)/ftvalid$E: $(OBJ_DIR)/ftvalid.$(SO) $(FTLIB) $(COMMON_OBJ) |
374 |
$(COMMON_LINK) |
$(LINK_COMMON) |
375 |
|
|
376 |
$(BIN_DIR)/ftdump$E: $(OBJ_DIR)/ftdump.$(SO) $(FTLIB) |
$(BIN_DIR)/ftdump$E: $(OBJ_DIR)/ftdump.$(SO) $(FTLIB) |
377 |
$(COMMON_LINK) |
$(LINK_COMMON) |
378 |
|
|
379 |
$(BIN_DIR)/fttry$E: $(OBJ_DIR)/fttry.$(SO) $(FTLIB) |
$(BIN_DIR)/fttry$E: $(OBJ_DIR)/fttry.$(SO) $(FTLIB) |
380 |
$(LINK) |
$(LINK) |
393 |
|
|
394 |
|
|
395 |
$(BIN_DIR)/ftview$E: $(OBJ_DIR)/ftview.$(SO) $(FTLIB) \ |
$(BIN_DIR)/ftview$E: $(OBJ_DIR)/ftview.$(SO) $(FTLIB) \ |
396 |
$(GRAPH_LIB) $(COMMON_OBJ) |
$(GRAPH_LIB) $(COMMON_OBJ) $(FTCOMMON_OBJ) |
397 |
$(GRAPH_LINK) |
$(LINK_NEW) |
398 |
|
|
399 |
$(BIN_DIR)/ftgamma$E: $(OBJ_DIR)/ftgamma.$(SO) $(FTLIB) \ |
$(BIN_DIR)/ftgamma$E: $(OBJ_DIR)/ftgamma.$(SO) $(FTLIB) \ |
400 |
$(GRAPH_LIB) $(COMMON_OBJ) |
$(GRAPH_LIB) $(COMMON_OBJ) |
401 |
$(GRAPH_LINK) |
$(LINK_GRAPH) |
402 |
|
|
403 |
$(BIN_DIR)/ftmulti$E: $(OBJ_DIR)/ftmulti.$(SO) $(FTLIB) \ |
$(BIN_DIR)/ftmulti$E: $(OBJ_DIR)/ftmulti.$(SO) $(FTLIB) \ |
404 |
$(GRAPH_LIB) $(COMMON_OBJ) |
$(GRAPH_LIB) $(COMMON_OBJ) |
405 |
$(GRAPH_LINK) |
$(LINK_GRAPH) |
406 |
|
|
407 |
$(BIN_DIR)/ftstring$E: $(OBJ_DIR)/ftstring.$(SO) $(FTLIB) \ |
$(BIN_DIR)/ftstring$E: $(OBJ_DIR)/ftstring.$(SO) $(FTLIB) \ |
408 |
$(GRAPH_LIB) $(COMMON_OBJ) |
$(GRAPH_LIB) $(COMMON_OBJ) $(FTCOMMON_OBJ) |
409 |
$(GRAPH_LINK) |
$(LINK_NEW) |
410 |
|
|
411 |
$(BIN_DIR)/fttimer$E: $(OBJ_DIR)/fttimer.$(SO) $(FTLIB) \ |
$(BIN_DIR)/fttimer$E: $(OBJ_DIR)/fttimer.$(SO) $(FTLIB) \ |
412 |
$(GRAPH_LIB) $(COMMON_OBJ) |
$(GRAPH_LIB) $(COMMON_OBJ) |
413 |
$(GRAPH_LINK) |
$(LINK_GRAPH) |
414 |
|
|
415 |
|
|
416 |
endif |
endif |