fixed icon
[dia.git] / objects / makefile.msc
blob7ce32dff4a4184d45c8c3f4d4fb258ff4f2c4bb9
1 !IFNDEF PACKAGE
3 PLUGINS = chronogram custom er flowchart fs grafcet labels \
4                 network sadt standard sybase uml 
6 # The main target
7 all : sub-all
9 sub-all: 
10         for %d in ($(PLUGINS)) do nmake -nologo -f makefile.msc sub-one THIS=%d
12 sub-one:
13         cd $(THIS)
14         nmake -nologo -f ..\makefile.msc $(THIS).dll PACKAGE=$(THIS) OBJ_$(THIS)=1
15         cd ..
17 !ELSE
19 PRJ_TOP = ..\..
20 PKG_DEF = ..\objects.def
22 !INCLUDE $(PRJ_TOP)\..\gtk_cfg.inc
24 PKG_CFLAGS = -I$(GLIB) -I$(GTK) -I$(GTK)\$(GDKSUB) -I$(GMODULE) \
25         -I$(LIBXML) -I$(PRJ_TOP)\lib \
27 PKG_LINK = $(GTK)\gtk\gtk-$(GTK_VER).lib $(GTK)\$(GDKSUB)\gdk-$(GTK_VER).lib \
28         $(GLIB)\glib-$(GLIB_VER).lib $(LIBXML)\libxml.lib \
29         $(PRJ_TOP)\lib\libdia.lib
32 # Object definitions for the various plugins
35 !IFDEF OBJ_chronogram
36 OBJECTS = \
37         chronogram.obj \
38         chronoline.obj \
39         chronoline_event.obj \
40         chronoref.obj \
41 !ENDIF
43 !IFDEF OBJ_custom
44 OBJECTS = \
45         shape_info.obj \
46         custom_object.obj \
47         custom_util.obj \
48         custom.obj
49 !ENDIF
51 !IFDEF OBJ_er
52 OBJECTS = \
53         entity.obj \
54         relationship.obj \
55         attribute.obj \
56         participation.obj \
57         er.obj
58 !ENDIF
60 !IFDEF OBJ_flowchart
61 OBJECTS = \
62         box.obj \
63         parallelogram.obj \
64         diamond.obj \
65         ellipse.obj \
66         flowchart.obj
67 !ENDIF
69 !IFDEF OBJ_fs
70 OBJECTS = \
71         fs.obj \
72         flow.obj \
73         flow-ortho.obj \
74         function.obj
75 !ENDIF
77 !IFDEF OBJ_grafcet
78 OBJECTS = \
79         action.obj \
80         action_text_draw.obj \
81         grafcet.obj \
82         step.obj \
83         transition.obj \
84         vector.obj \
85         vergent.obj \
86         boolequation.obj \
87         condition.obj \
88 !ENDIF
90 !IFDEF OBJ_labels
91 OBJECTS = \
92         labels.obj \
93         labeltextobj.obj \
94         labelline.obj
95 !ENDIF
97 !IFDEF OBJ_network
98 OBJECTS = \
99       computer.obj \
100       disc.obj \
101       monitor.obj \
102       printer.obj \
103       bus.obj \
104       network.obj \
105       antenna.obj \
106       modem.obj \
107       flash.obj \
108       hub.obj \
109       modularswitch.obj \
110       rj45plug.obj \
111       scead-plug.obj
112 !ENDIF
114 !IFDEF OBJ_sadt
115 OBJECTS = \
116         annotation.obj \
117         arrow.obj \
118         box.obj \
119         sadt.obj \
121 !ENDIF
123 !IFDEF OBJ_standard
124 OBJECTS = \
125         arc.obj \
126         beziergon.obj \
127         box.obj \
128         ellipse.obj \
129         textobj.obj \
130         line.obj \
131         zigzagline.obj \
132         polyline.obj \
133         bezier.obj \
134         standard.obj \
135         image.obj \
136         polygon.obj
137 !ENDIF
139 !IFDEF OBJ_sybase
140 OBJECTS = \
141         dataserver.obj \
142         repserver.obj \
143         ltm.obj \
144         client.obj \
145         stableq.obj \
146         rsm.obj \
147         sybase.obj
148 !ENDIF
150 !IFDEF OBJ_uml
151 OBJECTS = \
152         uml.obj \
153         class.obj \
154         class_dialog.obj \
155         note.obj \
156         actor.obj \
157         usecase.obj \
158         realizes.obj \
159         constraint.obj \
160         small_package.obj \
161         large_package.obj \
162         implements.obj \
163         generalization.obj \
164         association.obj \
165         dependency.obj \
166         message.obj \
167         object.obj \
168         lifeline.obj \
169         component.obj \
170         classicon.obj \
171         state.obj \
172         branch.obj \
173         node.obj
175 !ENDIF
177 ## common stuff
178 ## compiler and linker switches
179 !IFNDEF DEBUG
180 # Full optimization:
181 OPTIMIZE = -Ox -MD
182 LINKDEBUG =
183 !ELSE
184 # Debugging:
185 OPTIMIZE = -Zi -MDd
186 LINKDEBUG = /debug
187 !ENDIF
189 # cl -? describes the options
190 CC = cl -G5 -GF $(OPTIMIZE) -W3 -nologo
192 # No general LDFLAGS needed
193 LDFLAGS = /link $(LINKDEBUG)
194 INSTALL = copy
196 CFLAGS = -I. -I$(PRJ_TOP) -DHAVE_CONFIG_H
198 $(PACKAGE).lib : $(OBJECTS)
199         lib /out:$(PACKAGE).lib $(OBJECTS)
201 $(PACKAGE).dll : $(OBJECTS) $(PKG_DEF)
202         $(CC) $(CFLAGS) -LD -Fe$(PACKAGE).dll $(OBJECTS) $(PKG_LINK) user32.lib advapi32.lib wsock32.lib $(LDFLAGS) /def:$(PKG_DEF)
203 $(PRJ_TOP)\config.h: $(PRJ_TOP)\config.h.win32
204         copy $(PRJ_TOP)\config.h.win32 $(PRJ_TOP)\config.h
206 .c.obj :
207         $(CC) $(CFLAGS) -GD -c $(PKG_CFLAGS) $<
209 clean:
210         del config.h
211         del *.exe
212         del *.obj
213         del *.dll
214         del *.lib
215         del *.err
216         del *.map
217         del *.sym
218         del *.exp
219         del *.lk1
220         del *.mk1
221         del *.pdb
222         del *.ilk
224 !ENDIF