# # 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 = strtok.o \ strtol.o \ strtoul.o \ strxfrm.o \ _hextab.o # strftime.o \ #_afailed.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 \ # system.o \ # timezone.o # From assembly source-files S_OBJS = zerobss.o \ copydata.o \ abs.o \ atoi.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 \ memchr.o \ memcmp.o \ memcpy.o \ memmove.o \ memset.o \ strcat.o \ strchr.o \ strcmp.o \ strcoll.o \ strcpy.o \ strcspn.o \ strdup.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 \ tolower.o \ toupper.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 \ # atexit.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 \ # labs.o \ # longjmp.o \ # ltoa.o \ # malloc.o \ # maperrno.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 \ # time.o \ # uname.o \ # ungetc.o \ # unlink.o \s # 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