You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

218 lines
4.8 KiB
Makefile

#
# makefile for CC65 runtime library
#
.SUFFIXES: .o .s .c
#--------------------------------------------------------------------------
# Programs and flags
SYS = none
AS = ../../bin/ca65
CC = ../../bin/cc65
LD = ../../bin/ld65
AFLAGS = -t $(SYS) --forget-inc-paths -I../asminc --cpu $(CPU)
CFLAGS = -Osir -g -T -t $(SYS) --forget-inc-paths -I . -I ../../include --cpu $(CPU)
#--------------------------------------------------------------------------
# Rules
%.o: %.c
@$(CC) $(CFLAGS) $<
@$(AS) -g -o $@ $(AFLAGS) $(*).s
%.o: %.s
@$(AS) -g -o $@ $(AFLAGS) $<
#--------------------------------------------------------------------------
# Rules to help us see what code the compiler and assembler make.
%.s : %.c
@$(CC) $(CFLAGS) -S $<
%.lst : %.s
@$(AS) $(AFLAGS) -l -o /dev/null $<
#--------------------------------------------------------------------------
# Object files
# From C source-files
# C_OBJS = _afailed.o \
# _hextab.o \
# _poserror.o \
# _scanf.o \
# abort.o \
# asctime.o \
# bsearch.o \
# errormsg.o \
# fdopen.o \
# fgetc.o \
# fgetpos.o \
# fgets.o \
# fputc.o \
# fputs.o \
# freopen.o \
# fseek.o \
# fsetpos.o \
# ftell.o \
# getchar.o \
# gets.o \
# gmtime.o \
# locale.o \
# localtime.o \
# mktime.o \
# perror.o \
# pmemalign.o \
# puts.o \
# qsort.o \
# realloc.o \
# rewind.o \
# sleep.o \
# strftime.o \
# strtok.o \
# strtol.o \
# strtoul.o \
# strxfrm.o \
# system.o \
# timezone.o
# From assembly source-files
S_OBJS = zerobss.o copydata.o
#_cwd.o \
# _environ.o \
# _fdesc.o \
# _file.o \
# _fopen.o \
# _heap.o \
# _heapadd.o \
# _heapblocksize.o\
# _heapmaxavail.o \
# _heapmemavail.o \
# _oserror.o \
# _printf.o \
# _seterrno.o \
# _swap.o \
# _sys.o \
# abs.o \
# atexit.o \
# atoi.o \
# calloc.o \
# chdir.o \
# copydata.o \
# creat.o \
# ctime.o \
# divt.o \
# errno.o \
# fclose.o \
# fmisc.o \
# fopen.o \
# fprintf.o \
# fread.o \
# free.o \
# fscanf.o \
# fwrite.o \
# getcpu.o \
# getcwd.o \
# getenv.o \
# interrupt.o \
# isalnum.o \
# isalpha.o \
# isblank.o \
# iscntrl.o \
# isdigit.o \
# isgraph.o \
# islower.o \
# isprint.o \
# ispunct.o \
# isspace.o \
# isupper.o \
# isxdigit.o \
# itoa.o \
# labs.o \
# longjmp.o \
# ltoa.o \
# malloc.o \
# maperrno.o \
# memchr.o \
# memcmp.o \
# memcpy.o \
# memmove.o \
# memset.o \
# mkdir.o \
# modfree.o \
# modload.o \
# oserrcheck.o \
# printf.o \
# putchar.o \
# putenv.o \
# rand.o \
# raise.o \
# remove.o \
# rename.o \
# rmdir.o \
# scanf.o \
# searchenv.o \
# setjmp.o \
# signal.o \
# sigtable.o \
# snprintf.o \
# sprintf.o \
# sscanf.o \
# strcat.o \
# strchr.o \
# strcmp.o \
# strcoll.o \
# strcpy.o \
# strcspn.o \
# strdup.o \
# strerror.o \
# stricmp.o \
# strlen.o \
# strlower.o \
# strncat.o \
# strncmp.o \
# strncpy.o \
# strnicmp.o \
# stroserr.o \
# strpbrk.o \
# strrchr.o \
# strspn.o \
# strstr.o \
# strtoimax.o \
# strtoumax.o \
# strupper.o \
# time.o \
# tolower.o \
# toupper.o \
# uname.o \
# ungetc.o \
# unlink.o \
# utscopy.o \
# vfprintf.o \
# vfscanf.o \
# vprintf.o \
# vscanf.o \
# vsnprintf.o \
# vsprintf.o \
# vsscanf.o \
# zerobss.o
#--------------------------------------------------------------------------
# Targets
.PHONY: all clean zap
all: $(C_OBJS) $(S_OBJS)
clean:
@$(RM) *~ *.lst
@$(RM) $(C_OBJS:.o=.s)
@$(RM) $(C_OBJS)
@$(RM) $(S_OBJS)
zap: clean