Parameterize LIBRARY_DEST, PROGRAM_DEST, etc
[dyninst.git] / nmake.library.tmpl
1 #
2 # This file defines the things that should be common to all "libraries"
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.
6
7 # $Id: nmake.library.tmpl,v 1.2 1998/03/02 00:42:13 wylie Exp $
8 #
9
10 VPATH           = $(VPATH) ../src
11
12 !ifndef UNCOMMON_LINK
13 $(TARGET): $(OBJS)
14         @$(RM) $(TARGET)
15         lib -out:$*.lib $(OBJS)
16 #       $(RANLIB) $(TARGET)
17
18 !ifdef TARGET2
19 $(TARGET2): $(OBJS2)
20         @$(RM) $(TARGET2)
21         $(AR) crv $(TARGET2) $(OBJS2)
22         $(RANLIB) $(TARGET2)
23 !endif  # TARGET2
24 !endif  # UNCOMMON_LINK
25
26 !ifndef DEST
27 DEST            = $(LIBRARY_DEST)
28 !endif
29
30 echo:
31         echo $(OBJS)
32
33 clean:
34         $(RM) *.obj *.h *.C *.lib $(TARGET)
35
36 !ifndef UNCOMMON_INSTALL
37 install: $(DEST)/$(TARGET)
38
39 $(DEST)/$(TARGET):  $(TARGET)
40         @-$(MKDIR) $(DEST)
41         $(CP) $(TARGET) $(DEST)
42 #       $(RANLIB) $(DEST)/$(TARGET)
43
44 #
45 # definition for secondary library
46 #
47 !ifdef TARGET2
48 install: $(DEST)/$(TARGET2)
49
50 $(DEST)/$(TARGET2):  $(TARGET2)
51         $(CP) $(TARGET2) $(DEST)
52         $(RANLIB) $(DEST)/$(TARGET2)
53 !endif
54 !endif      # ifndef UNCOMMON_INSTALL
55
56 #
57 # dependency generation definitions
58 #
59
60 #.PHONY : depend
61 #depend:
62 #       $(RM) DEPENDS
63 #       $(MAKE) DEPENDS
64
65
66 # Define DEPENDS dependencies such that the DEPENDS files depends on
67 # the .I files, not the .[Ch] files; otherwise, DEPENDS get rebuilt
68 # all the time.  We do need to build the Igen-generated files before
69 # updating DEPENDS, however,
70 #
71 #!ifdef IGEN_ISRCS
72 #!ifdef EXPLICIT_DEPENDS
73 #DEPENDS:
74 #!else
75 #DEPENDS: $(SRCS) $(IGEN_ISRCS)
76 #!endif
77 #       touch DEPENDS
78 #       $(MAKE) $(IGEN_GEN_SRCS)
79 #       $(MAKE) $(SRCS)
80 #       $(MODCC) -MM $(MODCFLAGS) $(SRCS) $(IGEN_GEN_SRCS) > DEPENDS
81 ##       makedepend -fDEPENDS -- $(CFLAGS) $(SRCS) $(IGEN_SRCS) $(NOPED_SRCS)
82 #!else
83 #!ifdef EXPLICIT_DEPENDS
84 #DEPENDS:
85 #!else
86 #DEPENDS: $(SRCS)
87 #!endif
88 #       touch DEPENDS
89 #       $(MAKE) $(SRCS)
90 #       $(MODCC) -MM $(MODCFLAGS) $(SRCS) > DEPENDS
91 ##       makedepend -fDEPENDS -- $(CFLAGS) $(SRCS)
92 #!endif
93
94
95 #.depend.% %.C:
96 #       makedepend -fDEPENDS -- $(CFLAGS) $(SRCS)
97
98 pure:
99
100
101
102 #
103 # A few pattern rules for simplicity in handling igen-generated files.
104 #
105
106 %.xdr.C %.xdr.CLNT.C %.xdr.CLNT.h %.xdr.SRVR.C %.xdr.SRVR.h %.xdr.h: %.I
107         $(IGEN) -xdr $(ICFLAGS) $<
108
109 %.thread.C %.thread.CLNT.h %.thread.SRVR.h %.thread.h: %.I
110         $(IGEN) -thread $(ICFLAGS) $<
111
112
113 {..\src\}.C.obj:
114         $(CXX) $(CXXFLAGS) -c $<
115
116 .C.obj:
117         $(CXX) $(CXXFLAGS) -c $<
118
119 {..\src\}.y.C:
120         $(YACC) $(YFLAGS) $<
121         $(RM) $@
122         $(MV) y.tab.c $@
123
124 {..\src\}.y.obj:
125         $(YACC) $(YFLAGS) $<
126         $(RM) $@
127         $(MV) y.tab.c $@
128         $(CXX) $(CXXFLAGS) -c $<
129
130
131
132 #
133 # include the dependencies.
134 #
135 !include DEPENDS
136