include $(COMMONRULES) # # Rule for generating C++ from shape source code in PP format. # .SUFFIXES: .pp .pp.c++: $(IVPPP) < $< > $@ SHAPEFILES = $(PPFILES:.pp=.c++) LDIRT += $(SHAPEFILES) # # Rules for building and installing Inventor and InventorXt DSO's. # $(LIBDSO): $(LARCHIVE) $(LD) $(LDDSOOPTS) $^ $(LDLIBS) -o $@ $(LARCHIVE): for i in $(SUBDIRS); do (cd $$i; $(MAKE) all); done $(RM) $(LARCHIVE) $(AR) $(ARFLAGS) $(LARCHIVE) $(OBJECTS) install_ivlibdso: $(LIBDSO) if [ ! -d $(IVLIBDIR) ]; then mkdir -p $(IVLIBDIR); fi $(INSTALL) -m 755 $< $(IVLIBDIR) if [ "$(LIBTYPE)" = "debug" ]; then \ if [ ! -d $(IVDLIBDIR) ]; then mkdir -p $(IVDLIBDIR); fi; \ $(INSTALL) -m 755 $< $(IVDLIBDIR); \ fi install_ivheaders: if [ ! -d $(IVHDRDIR) ]; then mkdir -p $(IVHDRDIR); fi for h in $(HEADERS); do $(INSTALL) -m 644 $$h $(IVHDRDIR); done LDIRT += $(LARCHIVE) # # Rules for creating and installing man pages from documentation in IVM format. # .SUFFIXES: .ivm .3iv .ivm.3iv: (cd ..; $(IVMAN) `$(MAKEMANDIRS) $(*F)`) > $@ MAN3PAGES = $(IVMFILES:.ivm=.3iv) all_man3iv: $(MAN3PAGES) install_man3iv: $(MAN3PAGES) if [ ! -d $(IVMAN3DIR) ]; then mkdir -p $(IVMAN3DIR); fi for i in $^; do $(INSTALL) -m 644 $$i $(IVMAN3DIR); done install_man1: $(MAN1PAGES) if [ ! -d $(IVMAN1DIR) ]; then mkdir -p $(IVMAN1DIR); fi for i in $^; do $(INSTALL) -m 644 $$i $(IVMAN1DIR); done LDIRT += $(MAN3PAGES) # # Rules for building and installing programs, archives, and DSO's in apps # directory. # $(PROGRAM): $(LTARGETS) $(OBJECTS) $(CXX) $(LDOPTS) $(OBJECTS) $(LDLIBS) -o $@ $(PROGRAMS_1): %: %.o $(CXX) $(LDOPTS) $< $(LDLIBS) -o $@ $(PROGRAMS_2): %: %.o $(OBJECTS) $(CXX) $(LDOPTS) $< $(OBJECTS) $(LDLIBS) -o $@ $(PROGRAMS_EXT): $(MAKE) -f GNUmakefile.$@ $(ARCHIVE): $(LTARGETS) $(OBJECTS) $(AR) $(ARFLAGS) $@ $(OBJECTS) $(DSO): $(OBJECTS) $(LD) $(LDDSOOPTS) $(OBJECTS) $(LDLIBS) -o $@ install_ivbin: $(PROGRAM) if [ ! -d $(IVBINDIR) ]; then mkdir -p $(IVBINDIR); fi $(INSTALL) -m 755 $(PROGRAM) $(IVBINDIR) install_ivscript: if [ ! -d $(IVBINDIR) ]; then mkdir -p $(IVBINDIR); fi $(INSTALL) -m 755 $(SCRIPT) $(IVBINDIR) install_ivdemo: $(DEMO) if [ ! -d $(IVDEMOBINDIR) ]; then mkdir -p $(IVDEMOBINDIR); fi if [ ! -d $(IVDEMODATADIR) ]; then mkdir -p $(IVDEMODATADIR); fi $(INSTALL) -m 755 $(DEMO) $(IVDEMOBINDIR) # # Convenience assignments. TARGETS are removed by 'make clobber'. # all_ivbin: $(LIBDSO) $(PROGRAM) $(PROGRAMS_1) $(PROGRAMS_2) $(ARCHIVE) $(DSO) TARGETS += $(LIBDSO) $(PROGRAM) $(PROGRAMS_1) $(PROGRAMS_2) $(PROGRAMS_EXT) \ $(ARCHIVE) $(DSO)