|
|
1.1 root 1: #
2: # MAKEFILE
3: # GizmoBar Version 1.00, March 1993
4: #
5: # Copyright (c)1992 Microsoft Corporation, All Rights Reserved
6: #
7: # Kraig Brockschmidt, Software Design Engineer
8: # Microsoft Systems Developer Relations
9: #
10: # Internet : [email protected]
11: # Compuserve: >INTERNET:[email protected]
12: #
13:
14: APP=gizmobar
15:
16:
17: !ifndef DEVROOT_DIR
18: !error You must define DEVROOT_DIR (ole20 sub-tree)
19: !endif
20: !ifndef INCLUDE
21: !error You must define INCLUDE (non ole20 include files)
22: !endif
23: !ifndef LIB
24: !error You must deinfe LIB (non ole20 libraries)
25: !endif
26: !ifndef OLEBUILD
27: OLEBUILD=NT
28: !endif
29:
30: OLE2_H=$(DEVROOT_DIR)\h
31: OLE2_LIB=$(DEVROOT_DIR)\lib
32:
33: !ifndef SAMPLE_DIR
34: SAMPLE_DIR = $(DEVROOT_DIR)\samples
35: !endif
36: SRC_DIR = $(SAMPLE_DIR)\$(APP)
37:
38:
39: #Add '#' to next line for "noisy" operation
40: #!CMDSWITCHES +s
41:
42:
43: #
44: #Compiler and assembler flags
45: #Use "SET RETAIL=1" from MS-DOS to compile non-debug version.
46: #
47: #-GD -GEa
48: !if "$(OLEBUILD)" == "NT"
49:
50: !if "$(MACHINE)" == ""
51: MACHINE = MIPS
52: CPP = mcl
53: MACHINE_D = _MIPS_
54: !endif
55:
56: IMPLIB = lib32 -out:$*.l32 -def:$*.d32 -machine:$(MACHINE)
57:
58: CFLAGS = /c /Fc /W3 /nologo $(CL)
59: LINKFLAGS = -subsystem:windows -machine:$(MACHINE) -debug:mapped,full -debugtype:both
60: LIBS1 = kernel32.lib user32.lib gdi32.lib
61: LIBS = $(LIBS1) crtdll.lib bttncur.lib
62: DEFS = /DWIN32 /D_DEBUG /D$(MACHINE_D) /D$(MACHINE)=1 /D_NTWIN /D_WINDOWS /DWINVER=0x030A
63:
64: ECHOERR = echo
65:
66: !else
67:
68: CPP = cl
69: !ifndef RETAIL
70: CFLAGS = -c -Od -AS -Zipe -G2sw -W3
71: LINK = /al:16/ONERROR:NOEXE/CO
72: DEFS = -DDEBUG
73: LIBS = libw sdllcew bttncur
74: !else
75: CFLAGS = -c -Oat -AS -Zpe -G2sw -W3
76: LINK = /al:16/ONERROR:NOEXE
77: DEFS =
78: LIBS = libw sdllcew bttncur
79: !endif
80:
81: !endif
82:
83:
84: .SUFFIXES: .h .c .obj .exe .dll .cpp .res .rc
85:
86: !if "$(OLEBUILD)" == "NT"
87:
88: goal: setflags $(APP).dll
89: setflags:
90: cd $(SRC_DIR)
91: set INCLUDE=$(OLE2_H);$(INCLUDE)
92: set LIB=$(OLE2_LIB);$(LIB)
93: !else
94:
95: goal: $(APP).lib
96:
97: !endif
98:
99: INCLS = $(APP).h gizmoint.h gizmo.h win1632.h
100:
101: OBJS1 = $(APP).obj init.obj
102: OBJS2 = api.obj paint.obj gizmo.obj
103: OBJS = $(OBJS1) $(OBJS2)
104:
105:
106: RCFILES1 = $(APP).rcv
107: RCFILES2 =
108: RCFILES = $(RCFILES1) $(RCFILES2)
109:
110:
111: #
112: # Tool Directives
113: #
114: .c.obj:
115: echo +++++++++
116: echo COMPILING $*.c
117: $(CPP) $(CFLAGS) $(DEFS) $*.c
118:
119:
120: .rc.res:
121: echo +++++++++
122: echo Compiling Resources
123: rc -r $(DEFS) $*.rc
124:
125:
126: clean:
127: -del *.obj
128: -del *.dll
129: -del *.res
130: -del *.lib
131: -del err
132:
133: !if "$(OLEBUILD)" == "NT"
134:
135: $(APP).dll: $(OBJS) $(APP).lib $(APP).d32 $(APP).res
136: @$(ECHOERR) Linking $@...
137: cvtres -$(MACHINE) $*.res -o $*.rs
138: link32 $(LINKFLAGS) -entry:LibMain $(APP).exp $(OBJS) $*.rs -out:$@ -map:$*.map -dll $(LIBS)
139:
140: $(APP).lib: $(OBJS) $(APP).d32
141: @$(ECHOERR) Creating $@...
142: $(IMPLIB) $(OBJS)
143: lib32 -out:$(APP).lib $(APP).l32
144:
145: !else
146:
147: #This rule builds a linker response file on the fly depending on debug flags
148: $(APP).dll : $(OBJS) $(APP).res $(APP).def
149: echo ++++++++++
150: echo Linking $@
151: echo libentry.obj + > $(APP).lrf
152: echo $(OBJS) >> $(APP).lrf
153:
154: echo $(APP).dll $(LINK) >> $(APP).lrf
155: echo nul/li/ >> $(APP).lrf
156: echo $(LIBS)/NOD/NOE >> $(APP).lrf
157: echo $(APP).def >> $(APP).lrf
158:
159: link @$(APP).lrf
160: rc -v $(APP).res $(APP).dll
161: del $(APP).lrf
162:
163:
164:
165: $(APP).lib: $(APP).dll
166: implib $(APP).lib $(APP).def
167:
168: !endif
169:
170: ##### Dependencies #####
171: $(APP).obj : $(APP).c $(INCLS)
172: paint.obj : paint.c $(INCLS)
173: init.obj : init.c $(INCLS)
174: api.obj : api.c $(INCLS)
175: gizmo.obj : gizmo.c $(INCLS)
176:
177:
178: $(APP).res : $(APP).rc $(INCLS) $(RCFILES)
179:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.