34 lines
482 B
Makefile
34 lines
482 B
Makefile
# Compiler and flags
|
|
CC = gcc
|
|
CFLAGS = -Wall -Wextra -std=c11
|
|
|
|
# Targets
|
|
TARGET = compressor
|
|
|
|
# Source files
|
|
SRCS = main.c compressor.c
|
|
|
|
# Object files
|
|
OBJS = $(SRCS:.c=.o)
|
|
|
|
# Header files
|
|
DEPS = compressor.h
|
|
|
|
# Default rule
|
|
all: $(TARGET)
|
|
|
|
# Linking the executable
|
|
$(TARGET): $(OBJS)
|
|
$(CC) $(CFLAGS) -o $@ $^
|
|
|
|
# Compiling source files into object files
|
|
%.o: %.c $(DEPS)
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
# Clean rule
|
|
clean:
|
|
rm -f $(OBJS) $(TARGET)
|
|
|
|
# Phony targets
|
|
.PHONY: all clean
|