# # This file defines the things that should be common to all "libraries" # in the paradyn build tree. It depends on things like SRCS and # TARGET being set correctly in the module-specific template and the # architecture-specific Makefile. # # $Id: nmake.library.tmpl,v 1.6 1999/07/01 15:56:30 wylie Exp $ # BUILD_ID= -s $(SUITE_NAME) -v $(RELEASE_NUM)$(BUILD_MARK)$(BUILD_NUM) XTARGET = $(TARGET:.lib=) XTARGET = $(XTARGET:.dll=) VOUCHER = V_$(XTARGET) $(VOUCHER): @echo Updating build voucher information: $(VOUCHER) $(BUILDSTAMP) $(BUILD_ID) $(XTARGET) $(CC) -c $(VOUCHER).c VPATH = $(VPATH) ../src !ifndef UNCOMMON_LINK $(TARGET): $(OBJS) @$(RM) $(TARGET) @$(MAKE) $(VOUCHER) $(LINK) -lib $(LDFLAGS) -out:$*.lib $(VOUCHER).obj $(OBJS) !ifdef TARGET2 $(TARGET2): $(OBJS2) @$(RM) $(TARGET2) @$(MAKE) $(VOUCHER) $(AR) crv $(TARGET2) $(VOUCHER).obj $(OBJS2) $(RANLIB) $(TARGET2) !endif # TARGET2 !endif # UNCOMMON_LINK !ifndef DEST DEST = $(TO_CORE)\$(LIBRARY_DEST) !endif echo: echo $(OBJS) clean: $(RM) *.obj *.h *.C *.lib *.exp *.pdb $(TARGET) !ifndef UNCOMMON_INSTALL install: $(DEST)/$(TARGET) $(DEST)/$(TARGET): $(TARGET) $(CP) $(TARGET) $(DEST) # $(RANLIB) $(DEST)/$(TARGET) # # definition for secondary library # !ifdef TARGET2 install: $(DEST)/$(TARGET2) $(DEST)/$(TARGET2): $(TARGET2) $(CP) $(TARGET2) $(DEST) $(RANLIB) $(DEST)/$(TARGET2) !endif !endif # ifndef UNCOMMON_INSTALL # # dependency generation definitions # #.PHONY : depend #depend: # $(RM) DEPENDS # $(MAKE) DEPENDS # # Define DEPENDS dependencies such that the DEPENDS files depends on # the .I files, not the .[Ch] files; otherwise, DEPENDS get rebuilt # all the time. We do need to build the Igen-generated files before # updating DEPENDS, however, # #!ifdef IGEN_ISRCS #!ifdef EXPLICIT_DEPENDS #DEPENDS: #!else #DEPENDS: $(SRCS) $(IGEN_ISRCS) #!endif # touch DEPENDS # $(MAKE) $(IGEN_GEN_SRCS) # $(MAKE) $(SRCS) # $(MODCC) -MM $(MODCFLAGS) $(SRCS) $(IGEN_GEN_SRCS) > DEPENDS ## makedepend -fDEPENDS -- $(CFLAGS) $(SRCS) $(IGEN_SRCS) $(NOPED_SRCS) #!else #!ifdef EXPLICIT_DEPENDS #DEPENDS: #!else #DEPENDS: $(SRCS) #!endif # touch DEPENDS # $(MAKE) $(SRCS) # $(MODCC) -MM $(MODCFLAGS) $(SRCS) > DEPENDS ## makedepend -fDEPENDS -- $(CFLAGS) $(SRCS) #!endif #.depend.% %.C: # makedepend -fDEPENDS -- $(CFLAGS) $(SRCS) pure: # # A few pattern rules for simplicity in handling igen-generated files. # %.xdr.C %.xdr.CLNT.C %.xdr.CLNT.h %.xdr.SRVR.C %.xdr.SRVR.h %.xdr.h: %.I $(IGEN) -xdr $(ICFLAGS) $< %.thread.C %.thread.CLNT.h %.thread.SRVR.h %.thread.h: %.I $(IGEN) -thread $(ICFLAGS) $< {..\src\}.C.obj: $(CXX) $(CXXFLAGS) -c $< .C.obj: $(CXX) $(CXXFLAGS) -c $< {..\src\}.y.C: $(YACC) $(YFLAGS) $< $(RM) $@ $(MV) y.tab.c $@ {..\src\}.y.obj: $(YACC) $(YFLAGS) $< $(RM) $@ $(MV) y.tab.c $@ $(CXX) $(CXXFLAGS) -c $< # # include the dependencies. # !include DEPENDS