# # # R E A D T H I S # # See the inference rules below (the section marked "Inference rules") to # see if any of them cover the rule that you want performed for your file. # The inference rules should cover most of the cases. If they don't, try # to add a new inference rule rather than adding a special-case rule for # your file. # # # Special rules for splitting out .w files # # wininet.h and wininetp.h $(O)\wininet.x $(O)\wininetp.x: wininet.w hsplit -e -o $(O)\wininet.x $(O)\wininetp.x $? $(O)\wininet.h: $(O)\wininet.x wcshdr < $? > $@ $(O)\wininetp.h: $(O)\wininetp.x wcshdr < $? > $@ $(O)\winhttp.h $(O)\winhttpi.h: winhttp.w hsplit -o $(O)\winhttp.h $(O)\winhttpi.h $? # # Non-obvious Dependencies # # # Inference rules. These help build whatever is in the NTTARGETFILES and # NTTARGETFILE0 lists. Most of these simply copy files. # .SUFFIXES:.h .w .hpp .tlb .dlg .c .cpp {}.w{$O}.h: hsplit -e -o $(O)\$(?R).x $(O)\$(?R)p.x $? wcshdr < $(O)\$(?R).x > $*.h {}.w{}.h: hsplit -e -o $(O)\$(?R).x $(O)\$(?R)p.x $? wcshdr < $(O)\$(?R).x > $(O)\$*.h # # mshtml.h has special funkiness: # # mshtml.idl -> obj\mshtml.h -[copy]-> sdk\inc\mshtmlc.h # obj\mshtml.h -[sed]--> sdk\inc\mshtml.h # # obj\mshtml.h is generated by MIDL and contains both C and C++ support. # splthdr.sed removes the C support; the result goes to sdk\inc\mshtml.h. # The C version goes to sdk\inc\mshtmlc.h. $(O)\mshtmlcpp.h: $(O)\mshtml.h type << > $@ #if !defined(__cplusplus) || defined(CINTERFACE) // Include the full header file that works for C #include "mshtmlc.h" #else << perl splthdr.pl < $? >> $@ type << >> $@ #endif /* !defined(__cplusplus) || defined(CINTERFACE) */ <<