[BACK]Return to commonivrules CVS log [TXT][DIR] Up to [Development] / inventor / make

File: [Development] / inventor / make / Attic / commonivrules (download)

Revision 1.1, Tue Aug 15 12:56:29 2000 UTC (17 years, 2 months ago) by naaman
Branch: MAIN

Initial revision

.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