63 lines
1.7 KiB
Makefile
63 lines
1.7 KiB
Makefile
# Atari ST (m68k-atari-mint-gcc) build rules.
|
|
|
|
include $(dir $(lastword $(MAKEFILE_LIST)))/common.mk
|
|
|
|
PLATFORM := atarist
|
|
BUILD := $(REPO_DIR)/build/$(PLATFORM)
|
|
LIBDIR := $(BUILD)/lib
|
|
BINDIR := $(BUILD)/bin
|
|
|
|
CFLAGS := $(COMMON_CFLAGS) -DJOEYLIB_PLATFORM_ATARIST -m68000 -fomit-frame-pointer
|
|
ASFLAGS := -Felf -m68000 -quiet
|
|
LDFLAGS :=
|
|
|
|
PORT_C_SRCS := $(wildcard $(SRC_PORT)/atarist/*.c)
|
|
PORT_S_SRCS := $(wildcard $(SRC_PORT)/atarist/*.s)
|
|
SHARED_S := $(wildcard $(SRC_68K)/*.s)
|
|
|
|
LIB_OBJS := \
|
|
$(patsubst $(SRC_CORE)/%.c,$(BUILD)/obj/core/%.o,$(CORE_C_SRCS)) \
|
|
$(patsubst $(SRC_PORT)/atarist/%.c,$(BUILD)/obj/port/%.o,$(PORT_C_SRCS)) \
|
|
$(patsubst $(SRC_PORT)/atarist/%.s,$(BUILD)/obj/port/%.o,$(PORT_S_SRCS)) \
|
|
$(patsubst $(SRC_68K)/%.s,$(BUILD)/obj/68k/%.o,$(SHARED_S))
|
|
|
|
LIB := $(LIBDIR)/libjoey.a
|
|
|
|
HELLO_SRC := $(EXAMPLES)/hello/hello.c
|
|
HELLO_BIN := $(BINDIR)/HELLO.PRG
|
|
PATTERN_SRC := $(EXAMPLES)/pattern/pattern.c
|
|
PATTERN_BIN := $(BINDIR)/PATTERN.PRG
|
|
|
|
.PHONY: all atarist clean-atarist
|
|
all atarist: $(LIB) $(HELLO_BIN) $(PATTERN_BIN)
|
|
|
|
$(BUILD)/obj/core/%.o: $(SRC_CORE)/%.c
|
|
@mkdir -p $(dir $@)
|
|
$(ST_CC) $(CFLAGS) -c $< -o $@
|
|
|
|
$(BUILD)/obj/port/%.o: $(SRC_PORT)/atarist/%.c
|
|
@mkdir -p $(dir $@)
|
|
$(ST_CC) $(CFLAGS) -c $< -o $@
|
|
|
|
$(BUILD)/obj/port/%.o: $(SRC_PORT)/atarist/%.s
|
|
@mkdir -p $(dir $@)
|
|
$(ST_AS) $(ASFLAGS) $< -o $@
|
|
|
|
$(BUILD)/obj/68k/%.o: $(SRC_68K)/%.s
|
|
@mkdir -p $(dir $@)
|
|
$(ST_AS) $(ASFLAGS) $< -o $@
|
|
|
|
$(LIB): $(LIB_OBJS)
|
|
@mkdir -p $(dir $@)
|
|
$(ST_AR) rcs $@ $^
|
|
|
|
$(HELLO_BIN): $(HELLO_SRC) $(LIB)
|
|
@mkdir -p $(dir $@)
|
|
$(ST_CC) $(CFLAGS) $< $(LIB) -o $@ $(LDFLAGS)
|
|
|
|
$(PATTERN_BIN): $(PATTERN_SRC) $(LIB)
|
|
@mkdir -p $(dir $@)
|
|
$(ST_CC) $(CFLAGS) $< $(LIB) -o $@ $(LDFLAGS)
|
|
|
|
clean-atarist:
|
|
rm -rf $(BUILD)
|