-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile
33 lines (23 loc) · 909 Bytes
/
Makefile
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
all: librinex.a rinex_analyze rinex_maxima rinex_scan transpose_test
# CC = aarch64-linux-gnu-gcc
CFLAGS = -Wall -Wextra -Werror -g -flto -O3 -mavx2
.PHONY: clean
clean:
rm -f librinex.a *.o *.s rinex_analyze rinex_scan transpose_test
librinex.a: driver.o rinex_mmap.o rinex_p.o rinex_parse.o rinex_stdio.o \
srnx.o transpose.o
ar crs $@ $?
rinex_analyze: rinex_analyze.c librinex.a
rinex_maxima: rinex_maxima.c librinex.a
rinex_n_obs: rinex_n_obs.c librinex.a
rinex_scan: rinex_scan.c librinex.a
transpose_test: transpose_test.c librinex.a
%.s: %.c
$(CC) $(CFLAGS) -S -o $@ $<
# For performance analysis, do something like this:
# make transpose.s
# (edit transpose.s to insert # LLVM-MCA-BEGIN / # LLVM-MCA-END pairs)
# llvm-mca --bottleneck-analysis --mcpu=cascadelake transpose.s
#
# x86 CPUs of interest: skylake, cascadelake, znver2
# ARM CPUs of interest: apple-latest, carmel (LLVM 11+)