1 |
# $Id$ |
2 |
# John Gerschwitz 28-11-2003 |
3 |
# |
4 |
|
5 |
# |
6 |
# Set default values for local Makefile variables. |
7 |
# |
8 |
|
9 |
# Check ESYS_ROOT has been set. |
10 |
ifeq ($(strip $(ESYS_ROOT)),) |
11 |
ERRORTARGETS += ESYS_ROOT_ERROR |
12 |
ERRORBUILDTARGET := error |
13 |
endif |
14 |
|
15 |
# Some useful definitions |
16 |
NULL := |
17 |
SPACE := ${NULL} ${NULL} |
18 |
SHELL := /bin/sh |
19 |
|
20 |
# Make settings |
21 |
MAKE_DIR := $(ESYS_ROOT)/make |
22 |
HOSTNAME := ${shell hostname | sed -e 's/\..*//'} |
23 |
|
24 |
# |
25 |
# Set defaults for local variables if not already set |
26 |
# |
27 |
|
28 |
# Current directory |
29 |
ifeq ($(strip $(L_DIR)),) |
30 |
L_DIR := ${shell pwd} |
31 |
endif |
32 |
|
33 |
# Source file directory |
34 |
ifeq ($(strip $(L_SRC_DIR)),) |
35 |
L_SRC_DIR := ./src |
36 |
endif |
37 |
|
38 |
# Library directory |
39 |
ifeq ($(strip $(L_LIB_DIR)),) |
40 |
L_LIB_DIR := ./lib |
41 |
endif |
42 |
|
43 |
# Library install directory |
44 |
ifeq ($(strip $(L_INSTLIB_DIR)),) |
45 |
L_INSTLIB_DIR := ../lib |
46 |
endif |
47 |
|
48 |
# Python package install directory |
49 |
ifeq ($(strip $(L_PYTH_DIR)),) |
50 |
L_PYTH_DIR := ../esys |
51 |
endif |
52 |
|
53 |
# Include file directory |
54 |
ifeq ($(strip $(L_INC_DIR)),) |
55 |
L_INC_DIR := ./inc |
56 |
endif |
57 |
|
58 |
# Object file directory |
59 |
ifeq ($(strip $(L_OBJ_DIR)),) |
60 |
L_OBJ_DIR := ./obj |
61 |
endif |
62 |
|
63 |
# Dependency file directory |
64 |
ifeq ($(strip $(L_DEP_DIR)),) |
65 |
L_DEP_DIR := ./dep |
66 |
endif |
67 |
|
68 |
# ? |
69 |
ifeq ($(strip $(L_MOD_DIR)),) |
70 |
L_MOD_DIR := ./mod |
71 |
endif |
72 |
|
73 |
# External library directory |
74 |
ifeq ($(strip $(L_EXT_LIB_DIRS)),) |
75 |
L_EXT_LIB_DIRS := ${NULL} |
76 |
endif |
77 |
|
78 |
# External libraries |
79 |
ifeq ($(strip $(L_EXT_LIBS)),) |
80 |
L_EXT_LIBS := ${NULL} |
81 |
endif |
82 |
|
83 |
# External include directories |
84 |
ifeq ($(strip $(L_EXT_INC_DIRS)),) |
85 |
L_EXT_INC_DIRS := ${NULL} |
86 |
endif |
87 |
|
88 |
# External object files |
89 |
ifeq ($(strip $(L_EXT_OBJS)),) |
90 |
L_EXT_OBJS := ${NULL} |
91 |
endif |
92 |
|
93 |
# Packages to link with |
94 |
ifeq ($(strip $(PACKAGES)),) |
95 |
PACKAGES := ${NULL} |
96 |
endif |
97 |
|
98 |
# Do debug compilations or not? |
99 |
ifeq ($(strip $(DODEBUG)),) |
100 |
DODEBUG := NO |
101 |
endif |
102 |
|
103 |
# Do test compilations or not? |
104 |
ifeq ($(strip $(DOTEST)),) |
105 |
DOTEST := NO |
106 |
endif |
107 |
|
108 |
# Include remainder of Makefiles |
109 |
include ${MAKE_DIR}/Makefile.source |
110 |
include ${MAKE_DIR}/hosts/${HOSTNAME}/Makefile.host |
111 |
include ${MAKE_DIR}/Makefile.phony |
112 |
include ${MAKE_DIR}/Makefile.package |
113 |
include ${MAKE_DIR}/Makefile.depend |
114 |
include ${MAKE_DIR}/Makefile.implicit |
115 |
|
116 |
# Eliminate default known suffixes |
117 |
.SUFFIXES: |
118 |
|
119 |
# Delete all targets for whom make process fails |
120 |
.DELETE_ON_ERROR: |
121 |
|
122 |
# Define messages to print on specific error conditions |
123 |
error: $(ERRORTARGETS) |
124 |
@echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; \ |
125 |
echo "Fatal errors detected.";\ |
126 |
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!";\ |
127 |
exit 1 |
128 |
|
129 |
ESYS_ROOT_ERROR: |
130 |
@echo " - ESYS_ROOT variable hasn't been set." |
131 |
|
132 |
NO_SOURCE_FILES_ERROR: |
133 |
@echo "No source files could be found for L_SRC_DIR: $(L_SRC_DIR) |
134 |
|