File: cray.mak

package info (click to toggle)
stlport4.6 4.6.2-3
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 7,048 kB
  • ctags: 16,390
  • sloc: ansic: 46,190; cpp: 18,805; sh: 266; asm: 93; perl: 58; makefile: 8
file content (155 lines) | stat: -rw-r--r-- 4,815 bytes parent folder | download | duplicates (4)
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#
# Note : This makefile is for Cray C++ 3.4 and 3.5
#
#        The GNU version of make must be used to execute the
#	 makefile.  The UNICOS version of make does not support
#	 the "%.suffix1: %.suffix2" feature.  
#
#	 GNU version of make is available from the Cray Open
#	 Source release, or can be downloaded from various of
#	 open source sites.

#
# compiler
#
CC = cc 
CXX = CC

#
# Basename for libraries
#
LIB_BASENAME = libstlport

#
# guts for common stuff
#
#
LINK=ar cr

OBJEXT=o
STEXT=a
RM=rm -rf
PATH_SEP=/
MKDIR=mkdir -p
COMP=CRAY$(ARCH)

all:  all_static all_staticx

include common_macros.mak

CXXFLAGS_COMMON = -I${STLPORT_DIR}
CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -D_STLP_HAS_NO_EXCEPTIONS
CXXFLAGS_RELEASE_staticx = $(CXXFLAGS_COMMON) -hexceptions
CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g
CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -D_STLP_HAS_NO_EXCEPTIONS
CXXFLAGS_STLDEBUG_staticx = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -hexceptions

include common_percent_rules.mak

# common_percent_rules.mak does not contain makerules for staticx source
$(RELEASE_OBJDIR_staticx)/%.o: %.cpp
	$(CXX) $(CXXFLAGS_RELEASE_staticx) $< -c -o $@
$(RELEASE_OBJDIR_staticx)/%.o: %.c
	$(CC) $(CXXFLAGS_RELEASE_staticx) $< -c -o $@
$(RELEASE_OBJDIR_staticx)/%.i : %.cpp
	$(CXX) $(CXXFLAGS_RELEASE_staticx) $< -E  $@

$(STLDEBUG_OBJDIR_staticx)/%.o : %.cpp
	$(CXX) $(CXXFLAGS_STLDEBUG_staticx) $< -c -o $@
$(STLDEBUG_OBJDIR_staticx)/%.o : %.c
	$(CC) $(CXXFLAGS_STLDEBUG_staticx) $< -c -o $@
$(STLDEBUG_OBJDIR_staticx)/%.i : %.cpp
	$(CXX) $(CXXFLAGS_STLDEBUG_staticx) $< -E  $@

#include common_rules.mak
#
#  Target directories
#
#

$(OUTDIR) :
	$(MKDIR) $(OUTDIR)
$(RELEASE_OBJDIR_static) :
	$(MKDIR) $(RELEASE_OBJDIR_static)
$(DEBUG_OBJDIR_static) :
	$(MKDIR) $(DEBUG_OBJDIR_static)
$(STLDEBUG_OBJDIR_static) :
	$(MKDIR) $(STLDEBUG_OBJDIR_static)
$(RELEASE_OBJDIR_staticx) :
	$(MKDIR) $(RELEASE_OBJDIR_staticx)
$(DEBUG_OBJDIR_staticx) :
	$(MKDIR) $(DEBUG_OBJDIR_staticx)
$(STLDEBUG_OBJDIR_staticx) :
	$(MKDIR) $(STLDEBUG_OBJDIR_staticx)

#create a compiler platform directory
platform: $(PREPARE_STEP)
	-@$(MKDIR) $(OUTDIR)
	-@$(MKDIR) $(OBJDIR_COMMON)
	-@$(MKDIR) $(OBJDIR)

clean_all_obj:
	-$(RM) $(OUTDIR)$(PATH_SEP)obj

######   Targets ##################

all_static :   platform $(ALL_STATIC_LIBS)

all_staticx :	platform $(ALL_STATICX_LIBS) 

release_static :  platform $(OUTDIR)$(PATH_SEP)$(RELEASE_LIB)

debug_static :  platform $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB)

stldebug_static :  platform $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB)

release_staticx :  platform $(OUTDIR)$(PATH_SEP)$(RELEASEX_LIB)
 
debug_staticx :  platform $(OUTDIR)$(PATH_SEP)$(DEBUGX_LIB)

stldebug_staticx :  platform $(OUTDIR)$(PATH_SEP)$(STLDEBUGX_LIB)

install :  all $(INSTALL_STEP)

clean : $(CLEAN_SPECIFIC)
	-$(RM) $(RELEASE_OBJDIR_static) $(DEBUG_OBJDIR_static) $(STLDEBUG_OBJDIR_static) \
        $(RELEASE_OBJDIR_staticx) $(DEBUG_OBJDIR_staticx) $(STLDEBUG_OBJDIR_staticx) 

clobber : clean clean_all_obj
	-$(RM) $(OUTDIR)$(PATH_SEP)$(DEBUG_NAME).* \
               $(OUTDIR)$(PATH_SEP)$(RELEASE_NAME).* $(OUTDIR)$(PATH_SEP)$(STLDEBUG_NAME).*

# Need to link with a dummy main process to fully instantiate object files.

$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(OUTDIR) $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static)
	echo 'main() { }' >dummy_main.C
	$(CXX) -o junk dummy_main.C $(RELEASE_OBJECTS_static) -lpthread
	rm dummy_main.C
	$(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(LDFLAGS_RELEASE_static) $(RELEASE_OBJECTS_static) $(LDLIBS_RELEASE_static)
	
$(OUTDIR)$(PATH_SEP)$(RELEASEX_LIB) : $(OUTDIR) $(RELEASE_OBJDIR_staticx) $(DEF_FILE) $(RELEASE_OBJECTS_staticx)
	echo 'main() { }' >dummy_main.C
	$(CXX) -o junk dummy_main.C $(RELEASE_OBJECTS_staticx) -lpthread
	rm dummy_main.C
	$(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(RELEASEX_LIB) $(LDFLAGS_RELEASE_static) $(RELEASE_OBJECTS_staticx) $(LDLIBS_RELEASE_static)

$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_static) $(DEF_FILE) $(STLDEBUG_OBJECTS_static)
	echo 'main() { }' >dummy_main.C
	$(CXX) -o junk dummy_main.C $(STLDEBUG_OBJECTS_static) -lpthread
	rm dummy_main.C
	$(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) $(LDFLAGS_STLDEBUG_static) $(STLDEBUG_OBJECTS_static)  $(LDLIBS_STLDEBUG_static)

$(OUTDIR)$(PATH_SEP)$(STLDEBUGX_LIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_staticx) $(DEF_FILE) $(STLDEBUG_OBJECTS_staticx)
	echo 'main() { }' >dummy_main.C
	$(CXX) -o junk dummy_main.C $(STLDEBUG_OBJECTS_staticx) -lpthread
	rm dummy_main.C
	$(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUGX_LIB) $(LDFLAGS_STLDEBUG_static) $(STLDEBUG_OBJECTS_staticx)  $(LDLIBS_STLDEBUG_static)


#install: all
#	cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib

%.s: %.cpp
	$(CXX) $(CXXFLAGS) -S  $<  -o $@