forked from iitd-plos/smpbench
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile.cint
241 lines (175 loc) · 9.47 KB
/
Makefile.cint
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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
CROSSTOOL_DIR=$(build)/installs/$(CROSSTOOL)
CROSSTOOL_INSTALL=$(CROSSTOOL_DIR)-install
CROSSTOOL_PPC_BIN=$(CROSSTOOL_INSTALL)/gcc-4.1.0-glibc-2.3.6.mod.ppc/powerpc-405-linux-gnu/bin
CROSSTOOL_I386_BIN=$(CROSSTOOL_INSTALL)/gcc-4.1.0-glibc-2.3.6.mod.i386/i686-unknown-linux-gnu/bin
CROSSTOOL_I386_LIB=$(CROSSTOOL_INSTALL)/gcc-4.1.0-glibc-2.3.6.mod.i386/i686-unknown-linux-gnu/lib
GCC_I386_FLAGS=-m32 -fno-inline -fno-inline-functions -fno-builtin -fno-unit-at-a-time -fno-strict-aliasing -fno-optimize-sibling-calls -fno-stack-protector -g
HOSTGCC48_I386_FLAGS= -m32 -g -std=gnu11 -fno-inline -fno-inline-functions -fno-inline-small-functions -fno-indirect-inlining -fno-partial-inlining -fno-inline-functions-called-once -fno-early-inlining -fno-whole-program -fno-peel-loops -fipa-sra -fno-strict-overflow -fno-builtin -fno-unit-at-a-time -fno-strict-aliasing -fno-optimize-sibling-calls -fno-stack-protector --param scev-max-expr-size=0 -fkeep-inline-functions -fwrapv -DTIMING_OUTPUT -fkeep-inline-functions -fno-reorder-blocks
HOSTGCC48_I386_EQCHECKER_FLAGS= -m32 -g -fno-inline -fno-inline-functions -fno-inline-small-functions -fno-indirect-inlining -fno-partial-inlining -fno-inline-functions-called-once -fno-early-inlining -fno-whole-program -fno-peel-loops -fipa-sra -fno-strict-overflow -fno-builtin -fno-unit-at-a-time -fno-strict-aliasing -fno-optimize-sibling-calls -fno-stack-protector --param scev-max-expr-size=0 -fkeep-inline-functions -fwrapv -std=c11 -DTIMING_OUTPUT -fkeep-inline-functions -fno-reorder-blocks
GCC_PPC=$(CROSSTOOL_PPC_BIN)/powerpc-405-linux-gnu-gcc
GCC_X86=gcc
GCC_I386=$(CROSSTOOL_I386_BIN)/i686-unknown-linux-gnu-gcc $(GCC_I386_FLAGS)
HOSTGCC_I386=gcc $(GCC_I386_FLAGS)
HOSTGCC4_4_I386=gcc-4.4 $(GCC_I386_FLAGS)
HOSTGCC4_6_I386=gcc-4.6 $(GCC_I386_FLAGS)
HOSTGCC4_7_I386=gcc-4.7 $(GCC_I386_FLAGS)
HOSTGCC4_8_I386=gcc-4.8 $(HOSTGCC48_I386_FLAGS)
AS_PPC=$(CROSSTOOL_PPC_BIN)/powerpc-405-linux-gnu-as
LD_PPC=$(CROSSTOOL_PPC_BIN)/powerpc-405-linux-gnu-ld
AS_I386=$(CROSSTOOL_I386_BIN)/i686-unknown-linux-gnu-as --32
LD_I386=$(CROSSTOOL_I386_BIN)/i686-unknown-linux-gnu-ld -melf_i386
AS_I386_SYSTEM=/usr/bin/as --32
#AS_I386_SYSTEM=$(AS_I386)
LD_I386_SYSTEM=/usr/bin/ld -melf_i386
#LD_I386_SYSTEM=$(LD_I386)
AS_PPC_SYSTEM=$(AS_PPC)
LD_PPC_SYSTEM=$(LD_PPC)
CLANG_I386_OPTS= -g -fno-inline -fno-inline-functions -fno-builtin -fno-strict-aliasing -fno-optimize-sibling-calls -fno-stack-protector -DTIMING_OUTPUT -Dexit=myexit -fno-reorder-blocks -Xclang -msoft-float -Xclang -no-implicit-float -fwrapv -fno-strict-overflow -fno-unroll-loops -std=c11 -ffreestanding -U__GNUC__
CLANG_I386=$(SRCDIR)/misc/clang32 $(CLANG_I386_OPTS)
CLANG3_3_I386=$(SRCDIR)/misc/clang32 -v3.3 $(CLANG_I386_OPTS)
CLANG3_4_I386=$(SRCDIR)/misc/clang32 -v3.4 $(CLANG_I386_OPTS)
CLANG3_5_I386=$(SRCDIR)/misc/clang32 -v3.5 $(CLANG_I386_OPTS)
CLANG3_6_I386=$(SRCDIR)/misc/clang32 -v3.6 $(CLANG_I386_OPTS)
ICC_I386_OPTS= -g -no-ip -nolib-inline -fno-optimize-sibling-calls -fargument-alias -unroll0 -no-ansi-alias -falias -no-vec -fno-jump-tables -fno-builtin -inline-level=0 -fno-omit-frame-pointer -fno-strict-aliasing -fno-strict-overflow -fwrapv -fabi-version=1 -fno-inline-functions -finline-limit=0 -no-inline-calloc -no-inline-factor=0 -Dexit=myexit -qno-opt-multi-version-aggressive -std=c11 -ffreestanding -U__GNUC__
ICC_I386=/opt/intel/bin/icc -m32 -mia32 $(ICC_I386_OPTS)
ICPC_I386=/opt/intel/bin/icpc -m32 -mia32 $(ICC_I386_OPTS)
ARM_PREFIX=/localhome/sbansal/gnuarm-4.0.2/bin
GCC_ARM=$(ARM_PREFIX)/arm-elf-gcc
AS_ARM=$(ARM_PREFIX)/arm-elf-as
LD_ARM=$(ARM_PREFIX)/arm-elf-ld
%.gcc.O0.ppc: %.c
$(GCC_PPC) $(CFLAGS) -g $(LINKER_SCRIPT_PPCLE_FLAG) -O0 $< -o $@
%.gcc.O2.ppc: %.c
$(GCC_PPC) $(CFLAGS) -g $(LINKER_SCRIPT_PPCLE_FLAG) -O2 $< -o $@
%.gcc.O2U.ppc: %.c
$(GCC_PPC) $(CFLAGS) -g $(LINKER_SCRIPT_PPCLE_FLAG) -O2 -funroll-loops $< -o $@
%.gcc.O0.le.ppc: %.c
$(GCC_PPC) $(CFLAGS) -g $(LINKER_SCRIPT_PPCLE_FLAG) -O0 -mlittle $< -o $@
%.gcc.O2.le.ppc: %.c
$(GCC_PPC) $(CFLAGS) -g $(LINKER_SCRIPT_PPCLE_FLAG) -O2 -mlittle $< -o $@
%.gcc.O2U.le.ppc: %.c
$(GCC_PPC) $(CFLAGS) -g $(LINKER_SCRIPT_PPCLE_FLAG) -O2 -funroll-loops -mlittle $< -o $@
%.gcc.O0.arm: %.c
$(GCC_ARM) $(CFLAGS) -g $(LINKER_SCRIPT_ARM_FLAG) -O0 $< -o $@
%.gcc.O2.arm: %.c
$(GCC_ARM) $(CFLAGS) -g $(LINKER_SCRIPT_ARM_FLAG) -O2 $< -o $@
%.gcc.O2U.arm: %.c
$(GCC_ARM) $(CFLAGS) -g $(LINKER_SCRIPT_ARM_FLAG) -O2 -funroll-loops $< -o $@
#%.gcc.O0.x86: %.c
# $(GCC_X86) -g -O0 $< -o $@
#
#%.gcc.O2.x86: %.c
# $(GCC_X86) -g -O2 $< -o $@
#
#%.gcc.O2U.x86: %.c
# $(GCC_X86) -g -O2 -funroll-loops $< -o $@
%.gcc.O0.i386: %.c
$(HOSTGCC_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $< -o $@
%.gcc.O2.i386: %.c
$(HOSTGCC_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $< -o $@
%.gcc.O3.i386: %.c
$(HOSTGCC_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O3 $< -o $@
%.gcc44.O0.i386: %.c
$(HOSTGCC4_4_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $< -o $@
%.gcc44.O2.i386: %.c
$(HOSTGCC4_4_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $< -o $@
%.gcc44.O3.i386: %.c
$(HOSTGCC4_4_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O3 $< -o $@
%.gcc46.O0.i386: %.c
$(HOSTGCC4_6_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $< -o $@
%.gcc46.O2.i386: %.c
$(HOSTGCC4_6_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $< -o $@
%.gcc46.O3.i386: %.c
$(HOSTGCC4_6_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O3 $< -o $@
%.gcc47.O0.i386: %.c
$(HOSTGCC4_7_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $< -o $@
%.gcc47.O2.i386: %.c
$(HOSTGCC4_7_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $< -o $@
%.gcc47.O3.i386: %.c
$(HOSTGCC4_7_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O3 $< -o $@
%.gcc48.O0.i386: %.c
$(HOSTGCC4_8_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $< -o $@
%.gcc48.O2.i386: %.c
$(HOSTGCC4_8_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $< -o $@
%.gcc48.O3.i386: %.c
$(HOSTGCC4_8_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O3 $< -o $@
%.gcc.O0.i386: %.c
$(GCC_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $< -o $@
%.gcc.O2.i386: %.c
$(GCC_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $< -o $@
%.gcc.O3.i386: %.c
$(GCC_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O3 $< -o $@
%.clang.O0.i386: %.c
$(CLANG_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $< -o $@
%.clang.O2.i386: %.c
$(CLANG_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $< -o $@
%.clang.O3.i386: %.c
$(CLANG_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O3 -funroll-loops $< -o $@
%.clang33.O0.i386: %.c
$(CLANG3_3_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $< -o $@
%.clang33.O2.i386: %.c
$(CLANG3_3_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $< -o $@
%.clang33.O3.i386: %.c
$(CLANG3_3_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O3 -funroll-loops $< -o $@
%.clang34.O0.i386: %.c
$(CLANG3_4_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $< -o $@
%.clang34.O2.i386: %.c
$(CLANG3_4_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $< -o $@
%.clang34.O3.i386: %.c
$(CLANG3_4_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O3 -funroll-loops $< -o $@
%.clang35.O0.i386: %.c
$(CLANG3_5_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $< -o $@
%.clang35.O2.i386: %.c
$(CLANG3_5_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $< -o $@
%.clang35.O3.i386: %.c
$(CLANG3_5_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O3 -funroll-loops $< -o $@
%.clang36.O0.i386: %.c
$(CLANG3_6_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $< -o $@
%.clang36.O2.i386: %.c
$(CLANG3_6_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $< -o $@
%.clang36.O3.i386: %.c
$(CLANG3_6_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O3 -funroll-loops $< -o $@
%.icc.O0.i386: %.c
$(ICC_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O0 $< -o $@
%.icc.O2.i386: %.c
$(ICC_I386) $(CFLAGS) -g $(LINKER_SCRIPT_I386_FLAG) -O2 $< -o $@
%.icc.O2U.i386: %.c
$(ICC_I386) $(CFLAGS) $(LINKER_SCRIPT_I386_FLAG) -g -O2 -funroll-loops $< -o $@
%.ccomp.O2.i386: %.c $(COMPCERT_INSTALL)/bin/ccomp
$(CCOMP_I386) $(CCOMP_CFLAGS) $(LINKER_SCRIPT_I386_FLAG) -O2 $< -o $@
%.ccomp.O0.i386: %.c $(COMPCERT_INSTALL)/bin/ccomp
$(CCOMP_I386) $(CCOMP_CFLAGS) $(LINKER_SCRIPT_I386_FLAG) -O0 $< -o $@
%.gcc.O0.i386.o: %.c
$(HOSTGCC_I386) -c $(CFLAGS) $(LINKER_SCRIPT_I386_FLAG) -O0 $< -o $@
%.gcc.O2.i386.o: %.c
$(HOSTGCC_I386) -c $(CFLAGS) $(LINKER_SCRIPT_I386_FLAG) -O2 $< -o $@
%.gcc.O3.i386.o: %.c
$(HOSTGCC_I386) -c $(CFLAGS) $(LINKER_SCRIPT_I386_FLAG) -O3 $< -o $@
%.gcc48.O0.i386.o: %.c
$(HOSTGCC4_8_I386) -c $(CFLAGS) $(LINKER_SCRIPT_I386_FLAG) -O0 $< -o $@
%.gcc48.O2.i386.o: %.c
$(HOSTGCC4_8_I386) -c $(CFLAGS) $(LINKER_SCRIPT_I386_FLAG) -O2 $< -o $@
%.gcc48.O3.i386.o: %.c
$(HOSTGCC4_8_I386) -c $(CFLAGS) $(LINKER_SCRIPT_I386_FLAG) -O3 $< -o $@
%.gcc.O0.i386.o: %.c
$(GCC_I386) -c $(CFLAGS) $(LINKER_SCRIPT_I386_FLAG) -O0 $< -o $@
%.gcc.O2.i386.o: %.c
$(GCC_I386) -c $(CFLAGS) $(LINKER_SCRIPT_I386_FLAG) -O2 $< -o $@
%.gcc.O3.i386.o: %.c
$(GCC_I386) -c $(CFLAGS) $(LINKER_SCRIPT_I386_FLAG) -O3 $< -o $@
%.msp430-gcc.O0: %.c
$(MSP430_GCC) $(CFLAGS) $(LINKER_SCRIPT_MSP430_FLAG) -g -O0 $< -o $@
%.msp430-gcc.O2: %.c
$(MSP430_GCC) $(CFLAGS) $(LINKER_SCRIPT_MSP430_FLAG) -g -O2 $< -o $@
%.msp430-gcc.O3: %.c
$(MSP430_GCC) $(CFLAGS) $(LINKER_SCRIPT_MSP430_FLAG) -g -O3 $< -o $@
$(CINT_PPC_ASPROGS): %.AS.ppc: %.ppc.s
$(AS_PPC) $< -o $@.o
$(LD_PPC) $@.o -o $@
$(CINT_ARM_ASPROGS): %.AS.arm: %.arm.s
$(AS_ARM) $< -o $@.o
$(LD_ARM) $@.o -o $@
$(CINT_I386_ASPROGS): %.AS.i386: %.i386.s
$(AS_I386) $< -o $@.o
#$(LD_I386) -g $@.o -T $(SRCDIR)/benches/ld.script -o $@
$(LD_I386) -g $@.o -o $@