Files
CS-LABS/mine/lab_2/Makefile
2025-12-10 16:50:28 +07:00

37 lines
832 B
Makefile

CC = gcc
CFLAGS = -Wall -Wextra -std=c99
LDFLAGS =
# Static build
static: main_static
main_static: main_static.o textlib_static.o
$(CC) $(CFLAGS) -o $@ main_static.o textlib_static.o
main_static.o: main_static.c textlib_static.h
$(CC) $(CFLAGS) -c -o $@ main_static.c
textlib_static.o: textlib_static.c textlib_static.h
$(CC) $(CFLAGS) -c -o $@ textlib_static.c
# Dynamic build
dynamic: main_dynamic libtextlib.so
main_dynamic: main_dynamic.o
$(CC) $(CFLAGS) -o $@ main_dynamic.o -ldl
main_dynamic.o: main_dynamic.c
$(CC) $(CFLAGS) -c -o $@ main_dynamic.c
libtextlib.so: textlib_dynamic.c
$(CC) $(CFLAGS) -fPIC -shared -o $@ textlib_dynamic.c
# Build both
all: static dynamic
# Clean
clean:
rm -f *.o main_static main_dynamic libtextlib.so out.txt
@echo "Cleaned build artifacts."
.PHONY: all static dynamic clean