20 lines
566 B
Makefile
Executable file
20 lines
566 B
Makefile
Executable file
CC := clang
|
|
CFLAGS := -Wall -Wextra
|
|
SRC_DIR := src
|
|
HEADER_DIR := header
|
|
BUILD_DIR := build
|
|
LIBS := lib/shash.o
|
|
OBJECT_FILES := $(patsubst %.c, %.o, $(wildcard $(SRC_DIR)/*.c))
|
|
HEADER_FILES := $(wildcard $(HEADER_DIR)/*.h)
|
|
OBJECT_FILES := $(patsubst $(SRC_DIR)/%, $(BUILD_DIR)/%, $(OBJECT_FILES))
|
|
MAIN_EXE_NAME := eipaasm
|
|
|
|
all build/eipaasm: $(OBJECT_FILES)
|
|
$(CC) $(CFLAGS) $^ $(LIBS) -o $(BUILD_DIR)/$(MAIN_EXE_NAME)
|
|
|
|
$(BUILD_DIR)/%.o: $(SRC_DIR)/%.c $(HEADER_FILES)
|
|
@mkdir -p $(BUILD_DIR)
|
|
$(CC) -c $(CFLAGS) $(patsubst %.h,,$^) -o $@
|
|
|
|
clean:
|
|
rm -r $(BUILD_DIR)
|