Projects/1BIT/summer-semester/IJC-1/Makefile
2026-04-14 19:28:46 +02:00

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