mirror of
https://github.com/cc65/cc65.git
synced 2026-04-25 06:17:58 +00:00
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:
+5
-23
@@ -250,31 +250,13 @@ cbm610lib:
|
||||
|
||||
.PHONY: geos-cbmlib
|
||||
geos-cbmlib:
|
||||
CC=../$(CC) \
|
||||
AS=../$(AS) \
|
||||
AR=../$(AR) \
|
||||
LD=../$(LD) \
|
||||
AFLAGS="-t geos-cbm --forget-inc-paths -I../../../asminc" \
|
||||
CFLAGS="-Osir -g -T -t geos-cbm --forget-inc-paths -I. -I../../../include" \
|
||||
$(MAKE) -C geos-cbm
|
||||
for i in em joystick tgi conio common runtime zlib; do \
|
||||
CC=$(CC) \
|
||||
AS=$(AS) \
|
||||
LD=$(LD) \
|
||||
AFLAGS="-t geos-cbm --forget-inc-paths -I../../asminc" \
|
||||
CFLAGS="-Osir -g -T -t geos-cbm --forget-inc-paths -I. -I../../include" \
|
||||
for i in runtime geos-cbm common conio em joystick tgi zlib; do \
|
||||
$(MAKE) SYS=geos-cbm -C $$i || exit 1; \
|
||||
for objfile in $$i/*.o; do \
|
||||
if [ -f geos-cbm/$$objfile ]; then \
|
||||
$(AR) a geos-cbm.lib geos-cbm/$$objfile || exit 1; \
|
||||
else \
|
||||
$(AR) a geos-cbm.lib $$objfile || exit 1; \
|
||||
fi; \
|
||||
done \
|
||||
$(AR) a geos-cbm.lib $$i/*.o || exit 1; \
|
||||
done
|
||||
cp geos-cbm/devel/*.emd .
|
||||
cp geos-cbm/devel/*.joy .
|
||||
cp geos-cbm/devel/*.tgi .
|
||||
cp geos-cbm/*.emd .
|
||||
cp geos-cbm/*.joy .
|
||||
cp geos-cbm/*.tgi .
|
||||
if [ -d geos-cbm/extra ]; then \
|
||||
for i in geos-cbm/extra/*.o; do \
|
||||
cp $$i geos-cbm-`basename $$i` || exit 1; \
|
||||
|
||||
Reference in New Issue
Block a user