Replaced whole bunch for Makefiles with a single generic Makefile.
- No complex shell logic. - "Source file shadowing" for all targets via vpath. - Dependency handling. - True incremental build. - Don't write into source directories. - Easy cleanup by just removing 'wrk'.
This commit is contained in:
@@ -1,223 +0,0 @@
|
||||
# -*- makefile -*-
|
||||
#
|
||||
# makefile for CC65's common library
|
||||
#
|
||||
|
||||
.SUFFIXES: .o .s .c
|
||||
|
||||
#--------------------------------------------------------------------------
|
||||
# Programs and flags
|
||||
|
||||
SYS = none
|
||||
|
||||
AS = ../../src/ca65/ca65
|
||||
CC = ../../src/cc65/cc65
|
||||
LD = ../../src/ld65/ld65
|
||||
|
||||
AFLAGS = -t $(SYS) --forget-inc-paths -I../../asminc
|
||||
CFLAGS = -Osir -g -T -t $(SYS) --forget-inc-paths -I . -I ../../include
|
||||
|
||||
#--------------------------------------------------------------------------
|
||||
# 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 \
|
||||
_longminstr.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 \
|
||||
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 \
|
||||
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
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------
|
||||
# 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
|
||||
|
||||
Reference in New Issue
Block a user