-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
33 lines (26 loc) · 763 Bytes
/
Makefile
File metadata and controls
33 lines (26 loc) · 763 Bytes
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
FLAGS_COMMON=--std=gnu99 -msse4.1 -Wall
ifdef DEBUG
CFLAGS=$(FLAGS_COMMON) -O0 -g -ggdb -DDEBUG
ASMFLAGS=$(FLAGS_COMMON) -O0 -g -ggdb -DDEBUG
else
CFLAGS=$(FLAGS_COMMON) -O2 -flto
ASMFLAGS=$(FLAGS_COMMON) -O0
endif
LDFLAGS=-lrt -lm -lpthread
include algorithms/Makefile.inc
OBJS=sortasm.o
all: sortasm
$(C_ALGORITHM_OBJS): %.o: %.c
@ echo Compiling $@ ...
@ gcc $(CFLAGS) -c $< -o $@
$(ASM_ALGORITHM_OBJS): %.o: %.c
@ echo Compiling $@ ...
@ gcc $(ASMFLAGS) -c $< -o $@
$(OBJS): %.o: %.c
@ echo Compiling $@ ...
@ gcc $(CFLAGS) -c $< -o $@
sortasm: $(C_ALGORITHM_OBJS) $(ASM_ALGORITHM_OBJS) $(OBJS)
@ echo Linking ...
@ gcc $(C_ALGORITHM_OBJS) $(ASM_ALGORITHM_OBJS) $(OBJS) $(LDFLAGS) -o sortasm
clean:
rm -f *.o algorithms/*.o sortasm.s sortasm