crt/Makefile

45 lines
684 B
Makefile

AS = sdasz80
CC = sdcc
AR = sdar
BUILD = .build
TARGET = crt
OPT = s
CFLAGS = -mz80 -D__SDCC__ -Iinclude
ASFLAGS = -plosgff
SRC = \
src/crt0.s \
src/bios.s \
src/_mulint.s \
src/random.c \
src/console.c \
src/convert.c \
OBJ_1 = $(notdir $(SRC:.c=.rel))
OBJ_2 = $(notdir $(OBJ_1:.s=.rel))
OBJ = $(addprefix $(BUILD)/, $(OBJ_2))
vpath %.c $(sort $(dir $(SRC)))
vpath %.s $(sort $(dir $(SRC)))
.PHONY: all clean
all: $(BUILD) $(BUILD)/$(TARGET).a
$(BUILD)/%.rel: %.c Makefile | $(BUILD)
$(CC) -c $(CFLAGS) $< -o $@
$(BUILD)/%.rel: %.s Makefile | $(BUILD)
$(AS) $(ASFLAGS) $@ $<
$(BUILD)/$(TARGET).a: $(OBJ)
$(AR) rcs $@ $(OBJ)
$(BUILD):
mkdir $@
clean:
rm -fr $(BUILD)