+# -*- makefile -*-
#
-# makefile for CC65 runtime library
+# makefile for CC65's common library
#
.SUFFIXES: .o .s .c
CC = ../../src/cc65/cc65
LD = ../../src/ld65/ld65
-AFLAGS = -t $(SYS) -I../../asminc
+AFLAGS = -t $(SYS) --forget-inc-paths -I../../asminc
CFLAGS = -Osir -g -T -t $(SYS) --forget-inc-paths -I . -I ../../include
#--------------------------------------------------------------------------
%.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
-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 \
- puts.o \
- qsort.o \
- realloc.o \
- rewind.o \
- sleep.o \
- sscanf.o \
- strftime.o \
- strxfrm.o \
- strtok.o \
- system.o \
- timezone.o \
- vsscanf.o
-
-
-S_OBJS = _cwd.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 \
- fwrite.o \
- getcpu.o \
- getcwd.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 \
- modfree.o \
- modload.o \
- oserrcheck.o \
- printf.o \
- putchar.o \
- rand.o \
- raise.o \
- remove.o \
- rename.o \
- setjmp.o \
- signal.o \
- sigtable.o \
- sprintf.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 \
- stroserr.o \
- strpbrk.o \
- strrchr.o \
- strspn.o \
- strstr.o \
- strupper.o \
- time.o \
- tolower.o \
- toupper.o \
- uname.o \
- ungetc.o \
- unlink.o \
- utscopy.o \
- vfprintf.o \
- vprintf.o \
- vsprintf.o \
+# 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 \
+ getopt.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 = _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 \
+ cc65_idiv32by16r16.o \
+ cc65_imul16x16r32.o \
+ cc65_sincos.o \
+ cc65_udiv32by16r16.o \
+ cc65_umul16x16r32.o \
+ cc65_umul16x8r32.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 \
+ 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 \
+ memchr.o \
+ memcmp.o \
+ memcpy.o \
+ memmove.o \
+ memset.o \
+ mkdir.o \
+ modfree.o \
+ modload.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
all: $(C_OBJS) $(S_OBJS)
clean:
- @rm -f *~
- @rm -f $(C_OBJS:.o=.s)
- @rm -f $(C_OBJS)
- @rm -f $(S_OBJS)
+ @$(RM) *~ *.lst
+ @$(RM) $(C_OBJS:.o=.s)
+ @$(RM) $(C_OBJS)
+ @$(RM) $(S_OBJS)
zap: clean