All pastes #2130120 Raw Edit

Stuff

public text v1 · immutable
#2130120 ·published 2012-03-19 17:43 UTC
rendered paste body
# I am a comment, and I want to say that the variable CC will be
# the compiler to use.
CC=gcc
# Hey!, I am comment number 2. I want to say that CFLAGS will be the
# options I'll pass to the compiler.
CFLAGS=

all: no_flag native optimized optimized_native

no_flag: prog1.c prog2.c prog3.c prog4.c
	$(CC) $(CFLAGS) prog1.c -o prog1_bezflag
	$(CC) $(CFLAGS) prog2.c -o prog2_bezflag
	$(CC) $(CFLAGS) prog3.c -o prog3_bezflag
	$(CC) $(CFLAGS) prog4.c -o prog4_bezflag

native: prog1.c prog2.c prog3.c prog4.c
	$(CC) $(CFLAGS) -march=native prog1.c -o prog1_native
	$(CC) $(CFLAGS) -march=native prog2.c -o prog2_native
	$(CC) $(CFLAGS) -march=native prog3.c -o prog3_native
	$(CC) $(CFLAGS) -march=native prog4.c -o prog4_native

optimized: prog1.c prog2.c prog3.c prog4.c
	$(CC) $(CFLAGS) -O2 prog1.c -o prog1_optimized
	$(CC) $(CFLAGS) -Os prog2.c -o prog2_optimized
	$(CC) $(CFLAGS) -foptimize-sibling-calls prog3.c -o prog3_optimized
	$(CC) $(CFLAGS) -ffast-math prog4.c -o prog4_optimized

optimized_native: prog1.c prog2.c prog3.c prog4.c
	$(CC) $(CFLAGS) -march=native -O2 prog1.c -o prog1_optimizednative
	$(CC) $(CFLAGS) -march=native -Os prog2.c -o prog2_optimizednative
	$(CC) $(CFLAGS) -march=native -foptimize-sibling-calls prog3.c -o prog3_optimizednative
	$(CC) $(CFLAGS) -march=native -ffast-math prog4.c -o prog4_optimizednative