* app/makefile.msc: using /subsystem:windows again
[dia.git] / app / makefile.msc
blob24a0282b8f5f64c8eb8e5a33ea46ea957a0ee7f8
1 TOP = ..\..
2 PRJ_TOP = ..
3 PACKAGE = dia
4 !INCLUDE $(TOP)\glib\build\win32\make.msc
6 # -DWIN32 for newer libxml versions
7 # not yet 
8 PKG_CFLAGS = -FImsvc_recommended_pragmas.h \
9         -DWIN32  -DHAVE_LIBART -DHAVE_LIBPNG \
10         -I.. $(GLIB_CFLAGS) $(GTK2_CFLAGS) \
11 !IFNDEF NOFT2
12         -DHAVE_FREETYPE $(FREETYPE2_CFLAGS) \
13 !ENDIF
14         $(LIBXML2_CFLAGS) $(PNG_CFLAGS) \
15         -I$(PRJ_TOP)\lib $(LIBART_CFLAGS) \
17 PKG_LINK = $(GTK2_LIBS) $(GLIB_LIBS) $(PANGOWIN32_LIBS) \
18         $(LIBXML2_LIBS) $(PNG_LIBS) \
19         $(PRJ_TOP)\lib\libdia.lib $(LIBART_LIBS) \
20         $(GDK_PIXBUF_LIBS) $(INTL_LIBS) \
21 !IFNDEF NOFT2
22         $(PANGOFT2_LIBS) $(FREETYPE2_LIBS) \
23 !ENDIF
25 OBJECTS = \
26         autosave.obj \
27         app_procs.obj \
28         color_area.obj \
29         commands.obj \
30         connectionpoint_ops.obj \
31         create_object.obj \
32         cursor.obj \
33         cut_n_paste.obj \
34         defaults.obj \
35         diacanvas.obj \
36         diagram.obj \
37         diagram_tree.obj \
38         diagram_tree_menu.obj \
39         diagram_tree_menu_callbacks.obj \
40         diagram_tree_window.obj \
41         dialogs.obj \
42         diapagelayout.obj \
43 !IFNDEF NOFT2
44         diapsft2renderer.obj \
45 !ENDIF
46         diapsrenderer.obj \
47         dia-props.obj \
48         diaunitspinner.obj \
49         disp_callbacks.obj \
50         display.obj \
51         dynamic_refresh.obj \
52         export_png.obj \
53         filedlg.obj \
54         grid.obj \
55         gtkhwrapbox.obj \
56         gtkvwrapbox.obj \
57         gtkwrapbox.obj \
58         handle_ops.obj \
59         highlight.obj \
60         interface.obj \
61         layer_dialog.obj \
62         linewidth_area.obj \
63         load_save.obj \
64         magnify.obj \
65         main.obj \
66         menus.obj \
67         modify_tool.obj \
68         navigation.obj \
69         object_ops.obj \
70         pagesetup.obj \
71         paginate_gdiprint.obj \
72         paginate_psprint.obj \
73         plugin-manager.obj \
74         preferences.obj \
75         properties.obj \
76         recent_files.obj \
77         render_eps.obj \
78         render_gdk.obj \
79         render_libart.obj \
80         scroll_tool.obj \
81         select.obj \
82         sheets.obj \
83         sheets_dialog.obj \
84         sheets_dialog_callbacks.obj \
85         splash.obj \
86         tool.obj \
87         undo.obj \
88         win32print.obj \
89         winmain.obj \
91 dia-app-icons.h :
92         gdk-pixbuf-csource --build-list \
93         dia_diagram_icon ..\dia-diagram.png \
94         dia_app_icon ..\dia_gnome_icon.png > dia-app-icons.h
96 ## common stuff
97 ## compiler and linker switches
98 !IFNDEF DEBUG
99 # Full optimization:
100 OPTIMIZE = -Ox -Zi -MD
101 LINKDEBUG =
102 !ELSE
103 # Debugging:
104 OPTIMIZE = -Zi -MDd
105 LINKDEBUG = /debug /debugtype:both
106 !ENDIF
108 # cl -? describes the options
109 CC = cl -G5 -GF $(OPTIMIZE) -W3 -nologo
111 # No general LDFLAGS needed
112 # Use /subsystem:console to enable console output
113 #LDFLAGS = /link $(LINKDEBUG) /subsystem:console /machine:ix86
114 LDFLAGS = /link $(LINKDEBUG) /subsystem:windows /machine:ix86
115 INSTALL = copy
117 CFLAGS = -I. -I$(PRJ_TOP) -DHAVE_CONFIG_H
119 ## targets
120 all : \
121         $(PRJ_TOP)\config.h \
122         dia-app-icons.h \
123         $(PACKAGE).exe
125 $(PACKAGE).res : $(PACKAGE).rc $(PACKAGE).ico
126         rc -r -fo $(PACKAGE).res $(PACKAGE).rc
128 RESOURCE = $(PACKAGE).res
130 $(PACKAGE).lib : $(OBJECTS)
131         lib /out:$(PACKAGE).lib $(OBJECTS)
133 $(PACKAGE).dll : $(OBJECTS) $(PACKAGE).def
134         $(CC) $(CFLAGS) -LD -Fe$(PACKAGE).dll $(OBJECTS) $(PKG_LINK) user32.lib advapi32.lib wsock32.lib $(LDFLAGS) /def:$(PACKAGE).def
136 $(PACKAGE).exe : $(OBJECTS) $(PACKAGE).def $(PACKAGE).res
137         $(CC) $(CFLAGS) -Fe$(PACKAGE).exe $(PACKAGE).res $(OBJECTS) $(PKG_LINK) \
138         gdi32.lib comdlg32.lib user32.lib advapi32.lib shell32.lib wsock32.lib winspool.lib $(LDFLAGS) /def:$(PACKAGE).def
140 $(PRJ_TOP)/config.h: $(PRJ_TOP)/config.h.win32
141         copy $(PRJ_TOP)\config.h.win32 $(PRJ_TOP)\config.h
143 .c.obj :
144         $(CC) $(CFLAGS) -GD -c $(PKG_CFLAGS) $<
146 .cpp.obj :
147         $(CC) $(CFLAGS) -GD -c $(PKG_CFLAGS) $<
149 clean::
150         del config.h
151         del *.exe
152         del *.obj
153         del *.dll
154         del *.lib
155         del *.err
156         del *.map
157         del *.sym
158         del *.exp
159         del *.lk1
160         del *.mk1
161         del *.pdb
162         del *.ilk