mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-08 23:10:52 -04:00
51 lines
1.5 KiB
Plaintext
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))
|