52 lines
1.1 KiB
Makefile
52 lines
1.1 KiB
Makefile
# Makefile
|
|
# Řešení IJC-DU1, 22.3.2024
|
|
# Autor: Roman Nečas, FIT
|
|
|
|
# Compiler and Flags
|
|
CC=gcc
|
|
CFLAGS += -g -std=c11 -pedantic -Wall -Wextra -fsanitize=address -O2
|
|
LDFLAGS += -fsanitize=address
|
|
|
|
# Executables
|
|
EXECUTABLES = primes primes-i no-comment
|
|
|
|
# Default Target
|
|
.PHONY: all
|
|
all: $(EXECUTABLES)
|
|
|
|
# Rules for Targets
|
|
primes: primes.o error.o eratosthenes.o
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@
|
|
|
|
primes-i: primes-i.o error.o eratosthenes-i.o bitset.o
|
|
$(CC) $(CFLAGS) $(LDFLAGS) -DUSE_INLINE $^ -o $@
|
|
|
|
no-comment: no-comment.o error.o
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@
|
|
|
|
# Rules for Object Files
|
|
primes.o: primes.c primes.h bitset.h
|
|
primes-i.o: primes.c
|
|
$(CC) $(CFLAGS) -DUSE_INLINE -c $^ -o $@
|
|
|
|
eratosthenes.o: eratosthenes.c primes.h bitset.h
|
|
eratosthenes-i.o: eratosthenes.c primes.h
|
|
$(CC) $(CFLAGS) -DUSE_INLINE -c $< -o $@
|
|
|
|
bitset.o: bitset.c bitset.h
|
|
$(CC) $(CFLAGS) -DUSE_INLINE -c $< -o $@
|
|
|
|
error.o: error.c error.h
|
|
no-comment.o: no-comment.c error.h
|
|
|
|
# Clean
|
|
.PHONY: clean
|
|
clean:
|
|
rm $(EXECUTABLES) *.o
|
|
|
|
# Run
|
|
.PHONY: run
|
|
run: primes primes-i
|
|
ulimit -s 81920 && ./primes
|
|
ulimit -s 81920 && ./primes-i
|
|
|