ClassiCube/misc/amiga/Makefile_68k

51 lines
1.5 KiB
Plaintext

TARGET := ClassiCube-amiga
BUILD_DIR := build/amiga_68k
SOURCE_DIRS := src src/amiga
S_FILES := $(foreach dir,$(SOURCE_DIRS),$(wildcard $(dir)/*.S))
C_FILES := $(foreach dir,$(SOURCE_DIRS),$(wildcard $(dir)/*.c))
OBJS := $(addprefix $(BUILD_DIR)/, $(notdir $(C_FILES:%.c=%.o) $(S_FILES:%.S=%.o)))
#---------------------------------------------------------------------------------
# Code generation
#---------------------------------------------------------------------------------
AS := m68k-amigaos-as
CC := m68k-amigaos-gcc
CXX := m68k-amigaos-g++
CFLAGS := -O1 -fno-math-errno -DPLAT_AMIGA -DCC_BUILD_NOFPU
# Dependency tracking
DEPFLAGS = -MT $@ -MMD -MP -MF $(BUILD_DIR)/$*.d
DEPFILES := $(OBJS:%.o=%.d)
#---------------------------------------------------------------------------------
# main targets
#---------------------------------------------------------------------------------
default: $(BUILD_DIR) $(TARGET).exe
$(BUILD_DIR):
mkdir -p $(BUILD_DIR)
$(TARGET).exe: $(C_OBJECTS)
$(CC) $(LDFLAGS) -o $(TARGET).exe $(C_OBJECTS)
#---------------------------------------------------------------------------------
# object generation
#---------------------------------------------------------------------------------
$(BUILD_DIR)/%.o : src/amiga/%.S
$(AS) $< -o $@
$(BUILD_DIR)/%.o : src/%.c
$(CC) $(CFLAGS) $(DEPFLAGS) -S -c $< -o $@
$(BUILD_DIR)/%.o : src/amiga/%.c
$(CC) $(CFLAGS) $(DEPFLAGS) -S -c $< -o $@
# Dependency tracking
$(DEPFILES):
include $(wildcard $(DEPFILES))