1
0
Files
2022-09-29 17:59:04 +03:00

89 lines
2.4 KiB
Makefile

#
# Makefile for the IDE libraries.
#
# This makefile normally builds two libraries, libide.a for IDE standalone
# programs and libpide.a for PROM use.
#
# Users can say either "make ./libide.a" or "make ./libpide.a" to make the
# desired version.
#
DIAGDEPTH=..
include ../Makedefs
IP20_X=\#
IP22_X=\#
IP26_X=\#
IP28_X=\#
$(CPUBOARD)_X=
# SUBDIRS is for IDE build
# PSUBDIRS is for PROM build
$(IP20_X)SUBDIRS= duart eeprom int2 uif i8254 scope graphics ethernet mem tlb \
scsi cache fpu
$(IP20_X)PSUBDIRS=duart eeprom int2 uif graphics scsi
$(IP22_X)SUBDIRS= duart eeprom int2 uif hpc3 eisa i8254 ds1286 pi1 hal2 scope \
graphics ethernet mem tlb scsi cache fpu
$(IP22_X)PSUBDIRS=duart eeprom int2 uif pckm graphics scsi
# for IDE Modules
$(IP22_X)MSUBDIRS=duart eeprom int2 uif hpc3 eisa i8254 ds1286 pi1 hal2 scope \
ethernet tlb scsi cache mem
# for Core Ide
$(IP22_X)CSUBDIRS=eeprom mem graphics scsi uif
$(IP26_X)SUBDIRS= duart eeprom int2 uif hpc3 eisa i8254 ds1286 pi1 hal2 scope \
graphics ethernet mem scsi fpu
$(IP26_X)PSUBDIRS=duart eeprom int2 uif pckm graphics scsi
$(IP28_X)SUBDIRS= duart eeprom int2 uif hpc3 eisa i8254 ds1286 pi1 hal2 scope \
graphics ethernet mem scsi cache fpu tlb
$(IP28_X)PSUBDIRS=duart eeprom int2 uif pckm graphics scsi
LTARGETS= ${LIBNAME}
TARGETS= ${LTARGETS}
COMMONPREF=$(CPUBOARD)
default: subdirs
include ../Makerules
# LIBNAME and libpon.a are targets that never wind up existing
# in this dir; they are here for developers used to saying make
# libide.a or make libpon.a
subdirs: $(TDIRS) ${_FORCE}
@for d in ${SUBDIRS}; do \
echo "======\tcd $$d; ${MAKE} _lib"; \
cd $$d; ${MAKE} _lib; cd ..; \
done
prom: ${TDIRS} ${_FORCE}
@for d in ${PSUBDIRS}; do \
echo "======\tcd $$d; ${MAKE} LIBTYPE=p PROMFLAGS=-DPROM _plib"; \
cd $$d; ${MAKE} LIBTYPE=p PROMFLAGS=-DPROM _plib ; cd ..; \
done
# Common rules which we implement at this level
# and also pass on to sub-makes
$(COMMONTARGS):
@for i in ${PSUBDIRS} ${SUBDIRS}; do \
echo "======\tcd $$i; ${MAKE} $@"; \
cd $$i; ${MAKE} $@; cd ..; \
done
@if [ "$@" = "clobber" ]; then \
rm -rf $(TARGETDIR) ;\
fi
# For Modular IDE builds
module:
@for d in ${MSUBDIRS}; do \
echo "======\tcd $$d; ${MAKE} _module"; \
cd $$d; ${MAKE} SHARE_COPT= SHARE_ASOPT=-KPIC _module; cd ..; \
done
# For Core IDE build
core:
@for d in ${CSUBDIRS}; do \
echo "======\tcd $$d; ${MAKE} _core"; \
cd $$d; ${MAKE} _core; cd ..; \
done