⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 debug source code under unix platform.
💻
📖 第 1 页 / 共 2 页
字号:
# Dependencieslist.o list.s.o list.n.ln list.t.o list.s.t.o list.t.ln: $(SOURCE)/list.c \	$(SOURCE)/list.h $(SOURCE)/config.h $(SOURCE)/target.htree.o tree.s.o tree.n.ln tree.t.o tree.s.t.o tree.t.ln: $(SOURCE)/tree.c \	$(SOURCE)/tree.h $(SOURCE)/config.h $(SOURCE)/target.hslots.o slots.s.o slots.n.ln slots.t.o slots.s.t.o slots.t.ln: \	$(SOURCE)/slots.c $(SOURCE)/slots.h $(SOURCE)/config.h \	$(SOURCE)/target.h $(SOURCE)/utils.hutils.o utils.s.o utils.n.ln utils.t.o utils.s.t.o utils.t.ln: \	$(SOURCE)/utils.c $(SOURCE)/utils.h $(SOURCE)/config.h \	$(SOURCE)/target.hmemory.o memory.s.o memory.n.ln memory.t.o memory.s.t.o memory.t.ln: \	$(SOURCE)/memory.c $(SOURCE)/memory.h $(SOURCE)/config.h \	$(SOURCE)/target.h $(SOURCE)/stack.h $(SOURCE)/utils.hheap.o heap.s.o heap.n.ln heap.t.o heap.s.t.o heap.t.ln: $(SOURCE)/heap.c \	$(SOURCE)/heap.h $(SOURCE)/config.h $(SOURCE)/target.h \	$(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h \	$(SOURCE)/trace.h $(SOURCE)/utils.halloc.o alloc.s.o alloc.n.ln alloc.t.o alloc.s.t.o alloc.t.ln: \	$(SOURCE)/alloc.c $(SOURCE)/alloc.h $(SOURCE)/config.h \	$(SOURCE)/target.h $(SOURCE)/heap.h $(SOURCE)/memory.h \	$(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/utils.hinfo.o info.s.o info.n.ln: $(SOURCE)/info.c $(SOURCE)/info.h \	$(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/addr.h \	$(SOURCE)/heap.h $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h \	$(SOURCE)/list.h $(SOURCE)/stack.h $(SOURCE)/alloc.h \	$(SOURCE)/signals.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \	$(SOURCE)/diag.h $(SOURCE)/utils.h $(SOURCE)/profile.h \	$(SOURCE)/trace.h $(SOURCE)/leaktab.hinfo.t.o info.s.t.o info.t.ln: $(SOURCE)/info.c $(SOURCE)/info.h \	$(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/addr.h \	$(SOURCE)/heap.h $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h \	$(SOURCE)/list.h $(SOURCE)/stack.h $(SOURCE)/alloc.h \	$(SOURCE)/signals.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \	$(SOURCE)/diag.h $(SOURCE)/mutex.h $(SOURCE)/utils.h \	$(SOURCE)/profile.h $(SOURCE)/trace.h $(SOURCE)/leaktab.hstack.o stack.s.o stack.n.ln stack.t.o stack.s.t.o stack.t.ln: \	$(SOURCE)/stack.c $(SOURCE)/stack.h $(SOURCE)/memory.h \	$(SOURCE)/machine.h $(SOURCE)/config.h $(SOURCE)/target.haddr.o addr.s.o addr.n.ln addr.t.o addr.s.t.o addr.t.ln: $(SOURCE)/addr.c \	$(SOURCE)/addr.h $(SOURCE)/config.h $(SOURCE)/target.h \	$(SOURCE)/heap.h $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h \	$(SOURCE)/list.h $(SOURCE)/stack.h $(SOURCE)/utils.hstrtab.o strtab.s.o strtab.n.ln strtab.t.o strtab.s.t.o strtab.t.ln: \	$(SOURCE)/strtab.c $(SOURCE)/strtab.h $(SOURCE)/config.h \	$(SOURCE)/target.h $(SOURCE)/heap.h $(SOURCE)/memory.h \	$(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/utils.hsymbol.o symbol.s.o symbol.n.ln symbol.t.o symbol.s.t.o symbol.t.ln: \	$(SOURCE)/symbol.c $(SOURCE)/symbol.h $(SOURCE)/config.h \	$(SOURCE)/target.h $(SOURCE)/heap.h $(SOURCE)/memory.h \	$(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/strtab.h $(SOURCE)/diag.h \	$(SOURCE)/info.h $(SOURCE)/addr.h $(SOURCE)/list.h $(SOURCE)/stack.h \	$(SOURCE)/alloc.h $(SOURCE)/signals.h $(SOURCE)/utils.h \	$(SOURCE)/profile.h $(SOURCE)/trace.h $(SOURCE)/leaktab.hsignals.o signals.s.o signals.n.ln: $(SOURCE)/signals.c $(SOURCE)/signals.h \	$(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/diag.h \	$(SOURCE)/info.h $(SOURCE)/addr.h $(SOURCE)/heap.h $(SOURCE)/memory.h \	$(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/stack.h \	$(SOURCE)/alloc.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \	$(SOURCE)/inter.h $(SOURCE)/profile.h $(SOURCE)/trace.h \	$(SOURCE)/leaktab.hsignals.t.o signals.s.t.o signals.t.ln: $(SOURCE)/signals.c \	$(SOURCE)/signals.h $(SOURCE)/config.h $(SOURCE)/target.h \	$(SOURCE)/diag.h $(SOURCE)/info.h $(SOURCE)/addr.h $(SOURCE)/heap.h \	$(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h \	$(SOURCE)/stack.h $(SOURCE)/alloc.h $(SOURCE)/symbol.h \	$(SOURCE)/strtab.h $(SOURCE)/inter.h $(SOURCE)/profile.h \	$(SOURCE)/trace.h $(SOURCE)/mutex.h $(SOURCE)/leaktab.hmutex.t.o mutex.s.t.o mutex.t.ln: $(SOURCE)/mutex.c $(SOURCE)/mutex.h \	$(SOURCE)/config.h $(SOURCE)/target.hdiag.o diag.s.o diag.n.ln: $(SOURCE)/diag.c $(SOURCE)/diag.h \	$(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/info.h \	$(SOURCE)/addr.h $(SOURCE)/heap.h $(SOURCE)/memory.h $(SOURCE)/slots.h \	$(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/stack.h $(SOURCE)/alloc.h \	$(SOURCE)/signals.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \	$(SOURCE)/utils.h $(SOURCE)/profile.h $(SOURCE)/trace.h \	$(SOURCE)/leaktab.h $(SOURCE)/version.hdiag.t.o diag.s.t.o diag.t.ln: $(SOURCE)/diag.c $(SOURCE)/diag.h \	$(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/info.h \	$(SOURCE)/addr.h $(SOURCE)/heap.h $(SOURCE)/memory.h \	$(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/stack.h \	$(SOURCE)/alloc.h $(SOURCE)/signals.h $(SOURCE)/mutex.h \	$(SOURCE)/symbol.h $(SOURCE)/strtab.h $(SOURCE)/utils.h \	$(SOURCE)/profile.h $(SOURCE)/trace.h $(SOURCE)/leaktab.h \	$(SOURCE)/version.hoption.o option.s.o option.n.ln option.t.o option.s.t.o option.t.ln: \	$(SOURCE)/option.c $(SOURCE)/option.h $(SOURCE)/config.h \	$(SOURCE)/target.h $(SOURCE)/info.h $(SOURCE)/addr.h $(SOURCE)/heap.h \	$(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h \	$(SOURCE)/stack.h $(SOURCE)/alloc.h $(SOURCE)/signals.h \	$(SOURCE)/symbol.h $(SOURCE)/strtab.h $(SOURCE)/diag.h \	$(SOURCE)/utils.h $(SOURCE)/profile.h $(SOURCE)/trace.h \	$(SOURCE)/leaktab.hleaktab.o leaktab.s.o leaktab.n.ln leaktab.t.o leaktab.s.t.o leaktab.t.ln: \	$(SOURCE)/leaktab.c $(SOURCE)/leaktab.h $(SOURCE)/config.h \	$(SOURCE)/target.h $(SOURCE)/list.h $(SOURCE)/heap.h \	$(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/utils.hprofile.o profile.s.o profile.n.ln profile.t.o profile.s.t.o profile.t.ln: \	$(SOURCE)/profile.c $(SOURCE)/profile.h $(SOURCE)/config.h \	$(SOURCE)/target.h $(SOURCE)/alloc.h $(SOURCE)/heap.h \	$(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h \	$(SOURCE)/info.h $(SOURCE)/addr.h $(SOURCE)/stack.h \	$(SOURCE)/signals.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \	$(SOURCE)/diag.h $(SOURCE)/utils.h $(SOURCE)/trace.h \	$(SOURCE)/leaktab.h $(SOURCE)/version.htrace.o trace.s.o trace.n.ln trace.t.o trace.s.t.o trace.t.ln: \	$(SOURCE)/trace.c $(SOURCE)/trace.h $(SOURCE)/config.h \	$(SOURCE)/target.h $(SOURCE)/memory.h $(SOURCE)/diag.h \	$(SOURCE)/info.h $(SOURCE)/alloc.h $(SOURCE)/heap.h $(SOURCE)/slots.h \	$(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/addr.h $(SOURCE)/stack.h \	$(SOURCE)/profile.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \	$(SOURCE)/signals.h $(SOURCE)/utils.h $(SOURCE)/leaktab.h \	$(SOURCE)/version.hinter.o inter.s.o inter.n.ln: $(SOURCE)/inter.c $(SOURCE)/inter.h \	$(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/info.h \	$(SOURCE)/addr.h $(SOURCE)/heap.h $(SOURCE)/memory.h $(SOURCE)/slots.h \	$(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/stack.h $(SOURCE)/alloc.h \	$(SOURCE)/signals.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \	$(SOURCE)/diag.h $(SOURCE)/option.h $(SOURCE)/profile.h \	$(SOURCE)/trace.h $(SOURCE)/leaktab.h $(SOURCE)/machine.h \	$(SOURCE)/version.hinter.t.o inter.s.t.o inter.t.ln: $(SOURCE)/inter.c $(SOURCE)/inter.h \	$(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/info.h \	$(SOURCE)/addr.h $(SOURCE)/heap.h $(SOURCE)/memory.h $(SOURCE)/slots.h \	$(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/stack.h $(SOURCE)/alloc.h \	$(SOURCE)/signals.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \	$(SOURCE)/diag.h $(SOURCE)/mutex.h $(SOURCE)/option.h \	$(SOURCE)/profile.h $(SOURCE)/trace.h $(SOURCE)/leaktab.h \	$(SOURCE)/machine.h $(SOURCE)/version.hmalloc.o malloc.s.o malloc.n.ln malloc.t.o malloc.s.t.o malloc.t.ln: \	$(SOURCE)/malloc.c $(SOURCE)/inter.h $(SOURCE)/config.h \	$(SOURCE)/target.h $(SOURCE)/info.h $(SOURCE)/addr.h $(SOURCE)/heap.h \	$(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h \	$(SOURCE)/stack.h $(SOURCE)/alloc.h $(SOURCE)/signals.h \	$(SOURCE)/symbol.h $(SOURCE)/strtab.h $(SOURCE)/profile.h \	$(SOURCE)/trace.h $(SOURCE)/leaktab.h $(SOURCE)/diag.hcplus.o cplus.s.o cplus.n.ln: $(SOURCE)/cplus.c $(SOURCE)/inter.h \	$(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/info.h \	$(SOURCE)/addr.h $(SOURCE)/heap.h $(SOURCE)/memory.h $(SOURCE)/slots.h \	$(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/stack.h $(SOURCE)/alloc.h \	$(SOURCE)/signals.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \	$(SOURCE)/profile.h $(SOURCE)/trace.h $(SOURCE)/diag.h \	$(SOURCE)/leaktab.hcplus.t.o cplus.s.t.o cplus.t.ln: $(SOURCE)/cplus.c $(SOURCE)/inter.h \	$(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/info.h \	$(SOURCE)/addr.h $(SOURCE)/heap.h $(SOURCE)/memory.h $(SOURCE)/slots.h \	$(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/stack.h $(SOURCE)/alloc.h \	$(SOURCE)/signals.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \	$(SOURCE)/profile.h $(SOURCE)/trace.h $(SOURCE)/diag.h \	$(SOURCE)/leaktab.h $(SOURCE)/mutex.hversion.o version.s.o version.n.ln version.t.o version.s.t.o version.t.ln: \	$(SOURCE)/version.c $(SOURCE)/version.h $(SOURCE)/config.h \	$(SOURCE)/target.hmachine.o machine.s.o machine.t.o machine.s.t.o: $(SOURCE)/machine.c \	$(SOURCE)/config.h $(SOURCE)/target.hmpalloc.o mpalloc.s.o mpalloc.n.ln: $(SOURCE)/mpalloc.c $(SOURCE)/inter.h \	$(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/info.h \	$(SOURCE)/alloc.h $(SOURCE)/heap.h $(SOURCE)/memory.h \	$(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/addr.h \	$(SOURCE)/stack.h $(SOURCE)/profile.h $(SOURCE)/symbol.h \	$(SOURCE)/strtab.h $(SOURCE)/trace.h $(SOURCE)/leaktab.h \	$(SOURCE)/signals.h $(SOURCE)/diag.h $(SOURCE)/mpalloc.h \	$(SOURCE)/version.hmpfailure.o mpfailure.s.o mpfailure.n.ln: $(SOURCE)/mpfailure.c \	$(SOURCE)/mpalloc.h $(SOURCE)/config.h $(SOURCE)/target.hmpsetfail.o mpsetfail.s.o mpsetfail.n.ln: $(SOURCE)/mpsetfail.c \	$(SOURCE)/mpalloc.h $(SOURCE)/config.h $(SOURCE)/target.hmpmalloc.o mpmalloc.s.o mpmalloc.n.ln: $(SOURCE)/mpmalloc.c \	$(SOURCE)/mpalloc.h $(SOURCE)/config.h $(SOURCE)/target.hmpcalloc.o mpcalloc.s.o mpcalloc.n.ln: $(SOURCE)/mpcalloc.c \	$(SOURCE)/mpalloc.h $(SOURCE)/config.h $(SOURCE)/target.hmpstrdup.o mpstrdup.s.o mpstrdup.n.ln: $(SOURCE)/mpstrdup.c \	$(SOURCE)/mpalloc.h $(SOURCE)/config.h $(SOURCE)/target.hmprealloc.o mprealloc.s.o mprealloc.n.ln: $(SOURCE)/mprealloc.c \	$(SOURCE)/mpalloc.h $(SOURCE)/config.h $(SOURCE)/target.h$(OBJECT_MPATROL): $(SOURCE)/library.c $(SOURCE)/config.h $(SOURCE)/target.h \	$(SOURCE)/list.c $(SOURCE)/list.h $(SOURCE)/tree.c $(SOURCE)/tree.h \	$(SOURCE)/slots.c $(SOURCE)/slots.h $(SOURCE)/utils.h \	$(SOURCE)/utils.c $(SOURCE)/memory.c $(SOURCE)/memory.h \	$(SOURCE)/stack.h $(SOURCE)/heap.c $(SOURCE)/heap.h $(SOURCE)/alloc.c \	$(SOURCE)/alloc.h $(SOURCE)/info.c $(SOURCE)/info.h $(SOURCE)/addr.h \	$(SOURCE)/signals.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \	$(SOURCE)/diag.h $(SOURCE)/stack.c $(SOURCE)/addr.c $(SOURCE)/strtab.c \	$(SOURCE)/symbol.c $(SOURCE)/signals.c $(SOURCE)/inter.h \	$(SOURCE)/diag.c $(SOURCE)/version.h $(SOURCE)/option.c \	$(SOURCE)/option.h $(SOURCE)/inter.c $(SOURCE)/malloc.c \	$(SOURCE)/cplus.c $(SOURCE)/leaktab.c $(SOURCE)/leaktab.h \	$(SOURCE)/profile.c $(SOURCE)/profile.h $(SOURCE)/trace.c \	$(SOURCE)/trace.h $(SOURCE)/machine.h $(SOURCE)/version.c$(OBJTS_MPATROL): $(SOURCE)/library.c $(SOURCE)/config.h $(SOURCE)/target.h \	$(SOURCE)/list.c $(SOURCE)/list.h $(SOURCE)/tree.c $(SOURCE)/tree.h \	$(SOURCE)/slots.c $(SOURCE)/slots.h $(SOURCE)/utils.h \	$(SOURCE)/utils.c $(SOURCE)/memory.c $(SOURCE)/memory.h \	$(SOURCE)/stack.h $(SOURCE)/heap.c $(SOURCE)/heap.h $(SOURCE)/alloc.c \	$(SOURCE)/alloc.h $(SOURCE)/info.c $(SOURCE)/info.h $(SOURCE)/addr.h \	$(SOURCE)/signals.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \	$(SOURCE)/diag.h $(SOURCE)/mutex.h $(SOURCE)/stack.c $(SOURCE)/addr.c \	$(SOURCE)/strtab.c $(SOURCE)/symbol.c $(SOURCE)/signals.c \	$(SOURCE)/inter.h $(SOURCE)/mutex.c $(SOURCE)/diag.c \	$(SOURCE)/version.h $(SOURCE)/option.c $(SOURCE)/option.h \	$(SOURCE)/inter.c $(SOURCE)/malloc.c $(SOURCE)/cplus.c \	$(SOURCE)/leaktab.c $(SOURCE)/leaktab.h $(SOURCE)/profile.c \	$(SOURCE)/profile.h $(SOURCE)/trace.c $(SOURCE)/trace.h \	$(SOURCE)/machine.h $(SOURCE)/version.c$(OBJECT_MPALLOC): $(SOURCE)/library2.c $(SOURCE)/config.h $(SOURCE)/target.h \	$(SOURCE)/mpalloc.c $(SOURCE)/inter.h $(SOURCE)/info.h \	$(SOURCE)/alloc.h $(SOURCE)/heap.h $(SOURCE)/memory.h \	$(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/addr.h \	$(SOURCE)/stack.h $(SOURCE)/profile.h $(SOURCE)/symbol.h \	$(SOURCE)/strtab.h $(SOURCE)/trace.h $(SOURCE)/leaktab.h \	$(SOURCE)/signals.h $(SOURCE)/diag.h $(SOURCE)/mpalloc.h \	$(SOURCE)/mpfailure.c $(SOURCE)/mpsetfail.c $(SOURCE)/mpmalloc.c \	$(SOURCE)/mpcalloc.c $(SOURCE)/mpstrdup.c $(SOURCE)/mprealloc.cmpatrol.o: $(SOURCE)/mpatrol.c $(SOURCE)/getopt.h $(SOURCE)/config.h \	$(SOURCE)/target.h $(SOURCE)/version.hmprof.o: $(SOURCE)/mprof.c $(SOURCE)/getopt.h $(SOURCE)/tree.h \	$(SOURCE)/graph.h $(SOURCE)/list.h $(SOURCE)/config.h \	$(SOURCE)/target.h $(SOURCE)/version.hmptrace.o: $(SOURCE)/mptrace.c $(SOURCE)/getopt.h $(SOURCE)/tree.h \	$(SOURCE)/slots.h $(SOURCE)/config.h $(SOURCE)/target.h \	$(SOURCE)/utils.h $(SOURCE)/version.hmleak.o: $(SOURCE)/mleak.c $(SOURCE)/getopt.h $(SOURCE)/tree.h \	$(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/version.hgraph.o: $(SOURCE)/graph.c $(SOURCE)/graph.h $(SOURCE)/list.h \	$(SOURCE)/config.h $(SOURCE)/target.hgetopt.o: $(SOURCE)/getopt.c $(SOURCE)/getopt.h $(SOURCE)/config.h \	$(SOURCE)/target.hdbmalloc.o dbmalloc.n.ln: $(TOOLS)/dbmalloc.c $(TOOLS)/dbmalloc.h \	$(SOURCE)/mpatrol.h $(SOURCE)/config.h $(SOURCE)/target.hdmalloc.o dmalloc.n.ln: $(TOOLS)/dmalloc.c $(TOOLS)/dmalloc.h \	$(SOURCE)/mpatrol.h $(SOURCE)/config.h $(SOURCE)/target.hheapdiff.o heapdiff.n.ln: $(TOOLS)/heapdiff.c $(TOOLS)/heapdiff.h \	$(SOURCE)/mpatrol.h $(SOURCE)/config.h $(SOURCE)/target.hmgauge.o mgauge.n.ln: $(TOOLS)/mgauge.c $(TOOLS)/mgauge.h $(SOURCE)/mpatrol.h \	$(SOURCE)/config.h $(SOURCE)/target.hmtrace.o mtrace.n.ln: $(TOOLS)/mtrace.c $(TOOLS)/mtrace.h $(SOURCE)/mpatrol.h \	$(SOURCE)/config.h $(SOURCE)/target.h

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -