mirror of
https://github.com/cc65/cc65.git
synced 2024-08-17 19:29:12 +00:00
95 lines
1.8 KiB
Makefile
95 lines
1.8 KiB
Makefile
#
|
|
# makefile for CC65 runtime library
|
|
#
|
|
|
|
.SUFFIXES: .o .s .c
|
|
|
|
#--------------------------------------------------------------------------
|
|
# Programs and flags
|
|
|
|
SYS = geos-cbm
|
|
|
|
AS = ../../src/ca65/ca65
|
|
CC = ../../src/cc65/cc65
|
|
LD = ../../src/ld65/ld65
|
|
|
|
AFLAGS = -t $(SYS) --forget-inc-paths -I. -I../$(SYS) -I../../asminc
|
|
CFLAGS = -Osir -g -T -t $(SYS) --forget-inc-paths -I . -I ../../include
|
|
|
|
#--------------------------------------------------------------------------
|
|
# Rules
|
|
|
|
%.o: %.c
|
|
@$(CC) -o $(notdir $(*).s) $(CFLAGS) $<
|
|
@$(AS) -o $@ $(AFLAGS) $(*).s
|
|
|
|
%.o: %.s
|
|
@$(AS) -g -o $@ $(AFLAGS) $<
|
|
|
|
%.emd: %.o ../runtime/zeropage.o
|
|
@$(LD) -o $@ -t module $^
|
|
|
|
%.joy: %.o ../runtime/zeropage.o
|
|
@$(LD) -o $@ -t module $^
|
|
|
|
%.mou: %.o ../runtime/zeropage.o
|
|
@$(LD) -o $@ -t module $^
|
|
|
|
%.ser: %.o ../runtime/zeropage.o
|
|
@$(LD) -o $@ -t module $^
|
|
|
|
%.tgi: %.o ../runtime/zeropage.o
|
|
@$(LD) -o $@ -t module $^
|
|
|
|
#--------------------------------------------------------------------------
|
|
# Directories
|
|
|
|
DIRS = common \
|
|
conio \
|
|
dlgbox \
|
|
disk \
|
|
file \
|
|
graph \
|
|
memory \
|
|
menuicon \
|
|
mousesprite \
|
|
process \
|
|
runtime \
|
|
system
|
|
|
|
#--------------------------------------------------------------------------
|
|
# Drivers
|
|
|
|
EMDS =
|
|
|
|
JOYS =
|
|
|
|
MOUS = #geos-stdmou.mou
|
|
|
|
SERS =
|
|
|
|
TGIS =
|
|
|
|
#--------------------------------------------------------------------------
|
|
# Directives
|
|
|
|
include $(addsuffix /Makefile, $(DIRS))
|
|
vpath %.c $(DIRS)
|
|
vpath %.s $(DIRS)
|
|
|
|
#--------------------------------------------------------------------------
|
|
# Targets
|
|
|
|
.PHONY: all clean zap
|
|
|
|
all: $(C_OBJS) $(S_OBJS) $(EMDS) $(JOYS) $(MOUS) $(SERS) $(TGIS)
|
|
|
|
../runtime/zeropage.o:
|
|
$(MAKE) -C $(dir $@) $(notdir $@)
|
|
|
|
clean:
|
|
@$(RM) $(C_OBJS:.o=.s) $(C_OBJS) $(S_OBJS) $(EMDS:.emd=.o) $(JOYS:.joy=.o) $(MOUS:.mou=.o) $(SERS:.ser=.o) $(TGIS:.tgi=.o)
|
|
|
|
zap: clean
|
|
@$(RM) $(EMDS) $(JOYS) $(MOUS) $(SERS) $(TGIS)
|