#
# IDE library make rules.
#
#   - Makefiles in IP12diags subdirectories should include this file via the
#     line "include ${DIAGDEPTH}/Makerules" before any private rules.
#   - We use the ".n" (for nothing) suffix to name diagnostics library
#     objects which were compiled with PROM defined.
#
TARGETS= ${COMMONPREF}_lib ${LTARGETS}

LDIRT= *.n $(LLDIRT); \
if [ -d $(TARGETDIR) ]; then cd $(TARGETDIR); rm -f $(OBJECTS) $(POBJECTS); fi

${COMMONPREF}default: ${BAD_PRODUCT_DEATH} ${TARGETS}

include $(DEPTH)/commonrules

${COMMONPREF}_lib: $(TDIRS) libide.a

${COMMONPREF}_plib: $(TDIRS) libpide.a

${COMMONPREF}_module_cpu: $(TDIRS) $(MOBJECTS)

${COMMONPREF}_core: $(TDIRS) libidecore.a 

${COMMONPREF}clobber: $(COMMONPREF)clean $(COMMONPREF)rmtargets \
		rmdepfiles $(_FORCE)

rmdepfiles:
	rm -rf $(MKDEPFILE)p

libide.a: ${OBJECTS}
	$(ARCH) ${OBJECTS}

libpide.a: ${POBJECTS}
	$(ARCH) ${POBJECTS}

libidecore.a: ${COBJECTS}
	cd $(TARGETDIR) && $(AR) cru$(VERBOSE) $@ ${COBJECTS}

# $(BAD_PRODUCT_DEATH) is a mach dependent check from IP*/Makedefs
.c.o: $(BAD_PRODUCT_DEATH)
	${CCF} ${PROMFLAGS} $< -c -o $(TARGETDIR)/$@

.s.o:
	${ASF} ${PROMFLAGS} $< -c -o ${TARGETDIR}/$@

# rule for making _plib with all the defines in a sub dir
_prom: ${_FORCE}
	@$(MAKE) LIBTYPE=p PROMFLAGS=-DPROM _plib
