The cc65 library build system is designed to call sub-makes in direct sub-directories of 'libsrc' only (meaning that sub-sub-directories are not supported). The GEOSLib source files however are organized in sub-directories of the 'libsrc/geos-cbm'. This mismatch was up to now handled by replicating the cc65 library build system functionality to allow for individal sub-makes in each 'libsrc/geos-cbm' sub-directory. This is unnecessarily hard understand and causes additional maintainance effort.

Now the whole GEOSLib is built in a single make instance running in 'libsrc/geos-cbm' - which is just what the cc65 library build system can handle. The 'libsrc/geos-cbm' sub-directories still contain Makefiles. However those files only define the set of object files to create from their sub-directory and get included into the 'libsrc/geos-cbm' Makefile.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5429 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
ol.sc
2012-01-30 21:19:09 +00:00
parent 0fb3e47b60
commit 0c69d4866c
15 changed files with 315 additions and 285 deletions

View File

@@ -1,57 +1,19 @@
# -*- make -*-
#
# Makefile for GEOS lib
# for cc65
# makefile for CC65 runtime library
#
%.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 $^
S_OBJS = crt0.o \
extzp.o \
fio_module.o \
joy_stddrv.o \
mainargs.o \
mcbdefault.o \
mouse_stddrv.o \
oserror.o \
oserrlist.o \
randomize.o \
tgi_colors.o \
tgi_stddrv.o
#--------------------------------------------------------------------------
# Drivers
# Object files
EMDS = geos-vdc.emd
JOYS = geos-stdjoy.joy
MOUS = #geos-stdmou.mou
SERS =
TGIS = geos-tgi.tgi
all: $(S_OBJS) $(EMDS) $(JOYS) $(MOUS) $(SERS) $(TGIS)
../../runtime/zeropage.o:
$(MAKE) -C $(dir $@) $(notdir $@)
clean:
@$(RM) *.~ core $(S_OBJS) $(EMDS:.emd=.o) $(JOYS:.joy=.o) $(MOUS:.mou=.o) $(SERS:.ser=.o) $(TGIS:.tgi=.o)
S_OBJS += crt0.o \
extzp.o \
fio_module.o \
joy_stddrv.o \
mainargs.o \
mcbdefault.o \
mouse_stddrv.o \
oserror.o \
oserrlist.o \
randomize.o \
tgi_colors.o \
tgi_stddrv.o