29 lines
661 B
Makefile
29 lines
661 B
Makefile
CC ?= gcc
|
|
CFLAGS ?= -O3 -march=native -std=c11 -Wall -Wextra -pedantic -Iinclude
|
|
LDFLAGS ?= -lm -pthread -lz
|
|
|
|
SRC := src/main.c src/worldgen.c src/noise.c
|
|
OBJ := $(SRC:.c=.o)
|
|
|
|
BIN_DIR := bin
|
|
TARGET := $(BIN_DIR)/worldgen
|
|
SCAN_TARGET := $(BIN_DIR)/worldgen-scan
|
|
|
|
all: $(TARGET)
|
|
|
|
$(TARGET): $(OBJ) | $(BIN_DIR)
|
|
$(CC) $(CFLAGS) $(OBJ) -o $@ $(LDFLAGS)
|
|
|
|
$(SCAN_TARGET): tools/worldgen_scan.o src/worldgen.o src/noise.o | $(BIN_DIR)
|
|
$(CC) $(CFLAGS) tools/worldgen_scan.o src/worldgen.o src/noise.o -o $@ $(LDFLAGS)
|
|
|
|
$(BIN_DIR):
|
|
mkdir -p $(BIN_DIR)
|
|
|
|
clean:
|
|
rm -f $(OBJ) tools/worldgen_scan.o $(TARGET) $(SCAN_TARGET)
|
|
|
|
scan: $(SCAN_TARGET)
|
|
|
|
.PHONY: all clean scan
|