29 lines
591 B
Makefile
29 lines
591 B
Makefile
CC := gcc
|
|
TARGET := bin/player
|
|
SRC_DIR := src
|
|
BUILD := build
|
|
|
|
SRCS := $(wildcard $(SRC_DIR)/*.c)
|
|
OBJS := $(patsubst $(SRC_DIR)/%.c,$(BUILD)/%.o,$(SRCS))
|
|
|
|
CFLAGS := -Wall -Wextra -O3
|
|
CFLAGS += $(shell pkg-config --cflags libavformat libavcodec libavutil libswresample alsa)
|
|
|
|
LDFLAGS := $(shell pkg-config --libs libavformat libavcodec libavutil libswresample alsa)
|
|
|
|
all: $(TARGET)
|
|
|
|
$(TARGET): $(OBJS)
|
|
$(CC) -o $@ $^ $(LDFLAGS)
|
|
|
|
$(BUILD)/%.o: $(SRC_DIR)/%.c | $(BUILD)
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
$(BUILD):
|
|
mkdir -p $(BUILD)
|
|
|
|
clean:
|
|
rm -rf $(BUILD) $(TARGET)
|
|
|
|
.PHONY: all clean
|