.PRECIOUS: $(DYNAMIC_LIBRARY) $(STATIC_LIBRARY) .PRECIOUS: $(HEADER_PATH)/%$(C++_HEADER_SUFFIX) .PRECIOUS: $(NOSHIP_HEADER_PATH)/%$(C++_HEADER_SUFFIX) .PHONY: targets buildlib staticlib dynamiclib instlib ifdef AUTO_SUBDIR COMMONPREF = standard_ %: $(COMMONPREF)% $(SUBDIRS_MAKERULE) default: $(COMMONPREF)default $(SUBDIRS_MAKERULE) endif $(COMMONPREF)default: targets ifndef LIBROOT @$(NOOP) else @$(MAKE) buildlib endif ifdef DOCTOR_DEP -include $(DOCTOR_DEP) endif ifndef MAKE_STATIC_LIB MAKE_DYNAMIC_LIB = 1 endif targets: $(TARGETS) @$(NOOP) buildlib: @mkdir -p $(OBJECT_PATH) ifdef MAKE_STATIC_LIB @cd $(OBJECT_PATH); $(MAKE_LIB) staticlib endif ifdef MAKE_DYNAMIC_LIB @cd $(OBJECT_PATH); $(MAKE_LIB) dynamiclib endif staticlib: $(STATIC_LIBRARY) @$(NOOP) dynamiclib: $(DYNAMIC_LIBRARY) @$(NOOP) instlib: buildlib ifdef MAKE_DYNAMIC_LIB ifneq (,$(findstring false,$(BUILD_ISA))) $(INSTALL) -m $(DLMODE) -idb $(INST_DL_TAG) -F $(INST_DL_PATH) \ -src $(DYNAMIC_LIBRARY) $(LIBPREFIX)$(LIBROOT)$(DBGDLSUF) else ifneq (,$(findstring N32_M4,$(OBJECT_STYLE))$(findstring 64_M4,$(OBJECT_STYLE))) $(INSTALL) -m $(DLMODE) -idb $(INST_DL_TAG) $(INST_ISA_MIPS4) \ -src $(DYNAMIC_LIBRARY) -F $(INST_ISA_TARG_PATH) \ $(LIBPREFIX)$(LIBROOT)$(DBGDLSUF) $(INSTALL) -idb $(INST_DL_TAG) $(INST_ISA_MIPS4) \ -lns ../$(LIBPREFIX)$(LIBROOT)$(DBGDLSUF) \ -F $(INST_DL_PATH) $(LIBPREFIX)$(LIBROOT)$(DBGDLSUF) $(INSTALL) -m $(DLMODE) -idb $(INST_DL_TAG) $(INST_ISA_MIPS3) \ -src $(DYNAMIC_LIBRARY) -F $(INST_DL_PATH) \ $(LIBPREFIX)$(LIBROOT)$(DBGDLSUF) else $(INSTALL) -m $(DLMODE) -idb $(INST_DL_TAG) $(INST_ISA_MIPS3) \ -src $(DYNAMIC_LIBRARY) -F $(INST_ISA_TARG_PATH) \ $(LIBPREFIX)$(LIBROOT)$(DBGDLSUF) $(INSTALL) -idb $(INST_DL_TAG) $(INST_ISA_MIPS3) \ -lns ../$(LIBPREFIX)$(LIBROOT)$(DBGDLSUF) \ -F $(INST_DL_PATH) $(LIBPREFIX)$(LIBROOT)$(DBGDLSUF) $(INSTALL) -m $(DLMODE) -idb $(INST_DL_TAG) $(INST_ISA_MIPS4) \ -src $(DYNAMIC_LIBRARY) -F $(INST_DL_PATH) \ $(LIBPREFIX)$(LIBROOT)$(DBGDLSUF) endif endif endif ifdef IN_OBJECT_DIR ifdef PCH_SRC LC++OPTS += $(PCH_USE_OPT) $(OBJECTS): $(PCH_OBJ) $(PCH_OBJ) $(PCH_OUT): $(PCH_SRC) $(PCH_HDR) $(PCH_CMD) -c $< endif endif include $(COMMONRULES) ifdef IRIX $(STATIC_LIBRARY): $(OBJECTS) @mkdir -p $(LIB_PATH) $(C++) -ar -o $@ $? $(POST_STATICLIB_CMD) ifdef LIBROOT ifdef USING_GENEXPORTS LLDOPTS += -exports_file exports endif endif DSONAMEOPT = -soname $(notdir $(DYNAMIC_LIBRARY)) $(DYNAMIC_LIBRARY): $(OBJECTS) @mkdir -p $(LIB_PATH) ifdef USING_GENEXPORTS $(C++) $(CXXINCS) $(CXXDEFS) -D$(COMP_PREFIX)_GENEXPORTS -E $(HEADERS) 2> /dev/null | $(GENEXPORTS) $(OBJECTS) > exports endif $(LDDSOCMD) $(OPTIMIZER) $(LDOPTS) $(LDDSOOPTS) $(OBJECTS) $(LDLIBS) -o $@ $(POST_DYNAMICLIB_CMD) endif ifdef LINUX DSONAMEOPT = -Wl,-soname,$(notdir $(DYNAMIC_LIBRARY)) $(STATIC_LIBRARY): $(OBJECTS) @mkdir -p $(LIB_PATH) $(AR) $(ARO)$@ $? $(POST_STATICLIB_CMD) $(DYNAMIC_LIBRARY): $(OBJECTS) @mkdir -p $(LIB_PATH) $(LDDSOCMD) $(OPTIMIZER) $(LDOPTS) $(LDDSOOPTS) $(OBJECTS) $(LDLIBS) -o $@ $(POST_DYNAMICLIB_CMD) endif LDIRT += $(DYNAMIC_LIBRARY) $(STATIC_LIBRARY) .genHeaderPath .genHeaderPath: @mkdir -p $(HEADER_PATH) ifneq ($(HEADER_PATH),$(NOSHIP_HEADER_PATH)) @mkdir -p $(NOSHIP_HEADER_PATH) endif @touch $@ ifneq (,$(strip $(HEADERS))) $(HEADERS): .genHeaderPath $(HEADER_PATH)/%$(C++_HEADER_SUFFIX) : %$(DOCTOR_INPUT_SUFFIX) ifdef DOCTOR_STRIP_SUPPRESS cp -f $< $@ else $(DOCTOR_STRIP) $< > $@ endif ifneq ($(HEADER_PATH),$(NOSHIP_HEADER_PATH)) $(NOSHIP_HEADER_PATH)/%$(C++_HEADER_SUFFIX) : %$(DOCTOR_INPUT_SUFFIX) $(DOCTOR_STRIP) $< > $@ endif endif $(MAN3_PATH)/%.doc : %$(DOCTOR_INPUT_SUFFIX) $(HEADER_PATH)/%$(C++_HEADER_SUFFIX) $(DOCTOR_GENDOC) $< > $@ $(DOCTOR_DEP): $(DOCFILES) $(DOCTOR_GENDEPS) $^ > $(DOCTOR_DEP) $(MAN3_INDEX): $(DOCFILES) $(HTML_TOC_TEMPLATE) $(DOCTOR_GENTOC) $(DOCFILES) > $@ headers: $(INST_HEADERS) ifneq (,$(strip $(INST_HEADERS))) for file in $(INST_HEADERS); do \ $(INSTALL) -m 644 -idb $(INST_HEADER_TAG) -F $(INST_HEADER_PATH) \ -src $$file `basename $$file`; \ done endif %.gz: %.html gzip -c $< > $@ %.z: %.html $(DOCTOR_HTML2TERM) < $< > $(basename $@) @rm -f $@; pack -f $(basename $@) 2> /dev/null man: $(MAN1_INSTALLED) $(MAN3_INSTALLED) $(MAN4_INSTALLED) $(MAN3_INDEX) $(INSTPREF)$(COMMONPREF)install: $(INSTALL_DEPENDENCIES) ifdef LIBROOT ifdef IRIX ifndef SKIP_O32 @echo "=== building $(TARGET_DSO): o32,debug" @$(MAKE) OBJECT_STYLE=$(OBJECT32_STYLE) LIBTYPE=debug instlib @echo "=== building $(TARGET_DSO): o32,optimized" @$(MAKE) OBJECT_STYLE=$(OBJECT32_STYLE) LIBTYPE=optimized instlib endif ifndef SKIP_N32 @echo "=== building $(TARGET_DSO): n32,debug" @$(MAKE) OBJECT_STYLE=$(OBJECTN32_STYLE) LIBTYPE=debug instlib ifneq (,$(findstring false,$(BUILD_ISA))) @echo "=== building $(TARGET_DSO): n32,optimized" @$(MAKE) OBJECT_STYLE=$(OBJECTN32_STYLE) LIBTYPE=optimized instlib else @echo "=== building $(TARGET_DSO): n32,mips3,optimized" @$(MAKE) OBJECT_STYLE=N32_M3 LIBTYPE=optimized instlib @echo "=== building $(TARGET_DSO): n32,mips4,optimized" @$(MAKE) OBJECT_STYLE=N32_M4 LIBTYPE=optimized instlib endif endif ifndef SKIP_64 @echo "=== building $(TARGET_DSO): 64,debug" @$(MAKE) OBJECT_STYLE=$(OBJECT64_STYLE) LIBTYPE=debug instlib ifneq (,$(findstring false,$(BUILD_ISA))) @echo "=== building $(TARGET_DSO): 64,optimized" @$(MAKE) OBJECT_STYLE=$(OBJECT64_STYLE) LIBTYPE=optimized instlib else @echo "=== building $(TARGET_DSO): 64,mips3,optimized" @$(MAKE) OBJECT_STYLE=64_M3 LIBTYPE=optimized instlib @echo "=== building $(TARGET_DSO): 64,mips4,optimized" @$(MAKE) OBJECT_STYLE=64_M4 LIBTYPE=optimized instlib endif endif endif ifdef LINUX @echo "=== building $(TARGET_DSO): debug" @$(MAKE) LIBTYPE=debug instlib @echo "=== building $(TARGET_DSO): optimized" @$(MAKE) LIBTYPE=optimized instlib endif endif ifneq (,$(strip $(MAN1_FILES))) $(INSTALL) -m 644 -idb $(INST_EOEMAN_TAG) -F $(INST_MAN1_PATH) $(MAN1_INSTALLED) ifndef HTML_MANPAGES $(INSTALL) -m 644 -idb $(INST_EOEMAN_TAG) -F $(INST_MAN_EOE_HTML_PATH) $(MAN1_FILES) endif endif ifneq (,$(strip $(MAN3_FILES))) $(INSTALL) -m 644 -idb $(INST_DEVMAN_TAG) -F $(INST_MAN3_PATH) $(MAN3_INSTALLED) ifndef HTML_MANPAGES $(INSTALL) -m 644 -idb $(INST_DEVMAN_TAG) -F $(INST_MAN_DEV_HTML_PATH) $(MAN3_FILES) endif endif ifdef MAN3_INDEX $(INSTALL) -m 644 -idb $(INST_DEVMAN_TAG) -F $(INST_MAN3_PATH) $(MAN3_INDEX) ifndef HTML_MANPAGES $(INSTALL) -m 644 -idb $(INST_DEVMAN_TAG) -F $(INST_MAN_DEV_HTML_PATH) $(MAN3_INDEX) endif endif ifneq (,$(strip $(MAN4_FILES))) $(INSTALL) -m 644 -idb $(INST_DEVMAN_TAG) -F $(INST_MAN4_PATH) $(MAN4_INSTALLED) ifndef HTML_MANPAGES $(INSTALL) -m 644 -idb $(INST_DEVMAN_TAG) -F $(INST_MAN_DEV_HTML_PATH) $(MAN4_FILES) endif endif ifdef PG_FILES $(INSTALL) -m 644 -idb $(INST_PG_TAG) -F $(INST_PG_PATH) $(PG_FILES) endif ifdef UG_FILES $(INSTALL) -m 644 -idb $(INST_UG_TAG) -F $(INST_UG_PATH) $(UG_FILES) endif ifdef EOEREL_FILES $(INSTALL) -m 644 -idb $(INST_EOEREL_TAG) -F $(INST_EOEREL_PATH) $(EOEREL_FILES) endif ifdef DEVREL_FILES $(INSTALL) -m 644 -idb $(INST_DEVREL_TAG) -F $(INST_DEVREL_PATH) $(DEVREL_FILES) endif ifdef INST_DATA_FILES $(INSTALL) -m 644 -idb $(INST_DATA_TAG) -F $(INST_DATA_PATH) $(INST_DATA_FILES) endif ifdef INST_SRC_FILES $(INSTALL) -m 644 -idb $(INST_SRC_TAG) -F $(INST_SRC_PATH) $(INST_SRC_FILES) endif ifneq (,$(strip $(INST_PROG_TARGETS))) $(INSTALL) -m 755 -idb $(INST_PROG_TAG) -F $(INST_PROG_PATH) $(INST_PROG_TARGETS) endif ifneq (,$(strip $(INST_DEMO_TARGETS))) $(INSTALL) -m 755 -idb $(INST_DEMO_TAG) -F $(INST_DEMO_PATH) $(INST_DEMO_TARGETS) endif $(COMMONPREF)clobberall: $(COMMONPREF)clobber rm -rf $(CLOBBERALL_FILES) -include $(DEPTH)/localrules