Removed hacky bash script, replaced with proper makefile
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
default: all
|
||||
|
||||
CC := cc
|
||||
CFLAGS := -g -Wall -fPIC
|
||||
LDFLAGS := -lm -shared
|
||||
|
||||
SRC_DIRS := src src/engine src/game src/mario src/tools
|
||||
BUILD_DIR := build
|
||||
DIST_DIR := dist
|
||||
ALL_DIRS := $(addprefix $(BUILD_DIR)/,$(SRC_DIRS))
|
||||
|
||||
BIN_FILE := $(DIST_DIR)/libsm64.so
|
||||
LIB_H_FILE := $(DIST_DIR)/include/libsm64.h
|
||||
|
||||
C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c))
|
||||
O_FILES := $(foreach file,$(C_FILES),$(BUILD_DIR)/$(file:.c=.o))
|
||||
DEP_FILES := $(O_FILES:.o=.d)
|
||||
|
||||
DUMMY != mkdir -p $(ALL_DIRS)
|
||||
DUMMY != mkdir -p $(DIST_DIR)/include
|
||||
|
||||
DUMMY != ./import-mario-geo.py >&2 || echo FAIL
|
||||
ifeq ($(DUMMY),FAIL)
|
||||
$(error Script import-mario-geo.py failed)
|
||||
endif
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) -MM -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
$(BIN_FILE): $(O_FILES)
|
||||
$(CC) $(LDFLAGS) -o $@ $^
|
||||
|
||||
dist/include/libsm64.h: src/libsm64.h
|
||||
cp -f $< $@
|
||||
|
||||
all: $(BIN_FILE) $(LIB_H_FILE)
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR) $(DIST_DIR) src/mario
|
||||
|
||||
-include $(DEP_FILES)
|
||||
Reference in New Issue
Block a user