2 # This file defines the things that should be common to all "programs"
3 # in the paradyn build tree. It depends on things like SRCS and
4 # TARGET being set correctly in the module-specific template and the
5 # architecture-specific Makefile.
7 # $Log: nmake.program.tmpl,v $
8 # Revision 1.1 1997/05/23 23:04:54 mjrg
16 link -out:$(TARGET) -debug $(LDFLAGS) $(OBJS) $(LIBDIR) $(LIBS) $(SYSLIBS)
19 #!ifndef UNCOMMON_LINK
20 # The user may set APP_PURE_OPTIONS for application-specific purify options
21 #pure: $(OBJS) $(LIBS)
22 # purify $(APP_PURE_OPTIONS) -cache-dir=/tmp -$(MODCC) -collector=$(COLLECTOR) $(MODCC) -o $(TARGET) $(LDFLAGS) $(OBJS) $(LIBDIR) $(LIBS) $(SYSLIBS)
25 #!ifndef UNCOMMON_LINK
26 #quantify: $(OBJS) $(LIBS)
27 # quantify -cache-dir=/tmp -$(MODCC) -collector=$(COLLECTOR) $(MODCC) -o $(TARGET) $(LDFLAGS) $(OBJS) $(LIBDIR) $(LIBS) $(SYSLIBS)
30 #!ifndef UNCOMMON_LINK
32 # $(MODCC) -static -o $(TARGET) $(LDFLAGS) $(OBJS) $(LIBDIR) $(LIBS) $(SYSLIBS)
33 # # qpt's quick profiling may produce incorrect results in programs
34 # # executing interprocedural jumps; this includes setjmp/longjmp.
35 # # Hence we must use the -s option for paradyn:
40 DEST = $(TO_CORE)\..\bin\$(PLATFORM)
43 VPATH = $(VPATH) ../src:$(TO_CORE)/../lib/$(PLATFORM):$(BACKUP_CORE)/../lib/$(PLATFORM)
50 del *.obj *.ilk *.pdb *.h *.C $(TARGET)
52 install: $(DEST)\$(TARGET)
54 $(DEST)\$(TARGET): $(TARGET)
55 copy $(TARGET) $(DEST)
63 # Define DEPENDS dependencies such that the DEPENDS files depends on
64 # the .I files, not the .[Ch] files; otherwise, DEPENDS get rebuilt
65 # all the time. We do need to build the Igen-generated files before
66 # updating DEPENDS, however,
69 #!ifdef EXPLICIT_DEPENDS
72 #DEPENDS: $(SRCS) $(IGEN_ISRCS)
75 # $(MAKE) $(IGEN_GEN_SRCS)
77 # $(MODCC) -MM $(MODCFLAGS) $(SRCS) $(IGEN_GEN_SRCS) > DEPENDS
78 ## makedepend -fDEPENDS -- $(CFLAGS) $(SRCS) $(IGEN_SRCS) $(NOPED_SRCS)
80 #!ifdef EXPLICIT_DEPENDS
87 # $(MODCC) -MM $(MODCFLAGS) $(SRCS) > DEPENDS
88 ## makedepend -fDEPENDS -- $(CFLAGS) $(SRCS)
93 # A few pattern rules for simplicity. The default lex rule is
94 # redefined, just for the sake of cleanliness. More important are the
95 # igen rules; they "automatically" pick the correct type of igen to
96 # run. Actually, we can't do this completely "right" unless igen is
97 # changed to generate different output files for the various type of
102 $(CXX) $(CXXFLAGS) -c $<
105 $(CXX) $(CXXFLAGS) -c $<
116 $(CXX) $(CXXFLAGS) -c $<
120 # $(YACC) $(YFLAGS) $<
124 $(LEX) -t $(LFLAGS) $< > $@
126 %.xdr.C %.xdr.CLNT.C %.xdr.CLNT.h %.xdr.SRVR.C %.xdr.SRVR.h %.xdr.h: %.I
127 $(IGEN) -xdr $(ICFLAGS) $<
129 %.thread.C %.thread.CLNT.h %.thread.SRVR.h %.thread.h: %.I
130 $(IGEN) -thread $(ICFLAGS) $<
133 # include the dependencies.