Start to make it easier to compile the core in isolation
[geany-mirror.git] / src / makefile.win32
blobd03163cfd278f3bc6a36c1482aa0d7397b10d63a
1 # Note: PACKAGE_DATA_DIR and PACKAGE_LOCALE_DIR are no longer used on Windows.
3 DEFINES = -DHAVE_CONFIG_H \
4         -DGEANY_PRIVATE \
5         -DGEANY_DATADIR=\"data\" \
6         -DGEANY_LOCALEDIR=\"\" \
7         -DGEANY_LIBDIR=\"\" \
8         -DGEANY_PREFIX=\"\" \
9         -DGTK
11 .SUFFIXES: .c .o .h .a
12 WINDRES = windres.exe
13 CC = gcc
14 CXX = g++
15 RES = ../geany_private.res
16 TARGET = ../geany.exe
17 PREFIX = C:/libs
18 RM = del
19 -include ../localwin32.mk
21 ifdef MSYS
22 RM = rm -f
23 endif
25 GTK_INCLUDES= \
26         -I$(PREFIX)/include/gtk-2.0 \
27         -I$(PREFIX)/lib/gtk-2.0/include \
28         -I$(PREFIX)/include/atk-1.0 \
29         -I$(PREFIX)/include/cairo \
30         -I$(PREFIX)/include/gdk-pixbuf-2.0 \
31         -I$(PREFIX)/include/pango-1.0 \
32         -I$(PREFIX)/include/glib-2.0 \
33         -I$(PREFIX)/lib/glib-2.0/include \
34         -I$(PREFIX)/include \
35         -I$(PREFIX)/include/gettext
37 INCLUDEDIRS=  -I.. \
38               -I../scintilla/include \
39               -I../tagmanager/mio \
40               -I../tagmanager/src \
41               $(GTK_INCLUDES)
43 ALL_GTK_LIBS= \
44         -L"$(PREFIX)/lib" \
45         -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 \
46         -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lgthread-2.0 -lintl \
47         -lcairo -lpangocairo-1.0 -lgio-2.0
48         # these things are for GTK >= 2.8
49         # (should be same as with MSYS: pkg-config --libs gtk+-2.0 gthread-2.0)
50         #"$(PREFIX)/lib/libcairo.dll.a" \
51         #"$(PREFIX)/lib/asprintf.lib" \
52         #"$(PREFIX)/lib/charset.lib" \
54 WIN_LIBS=-mwindows -lole32 -luuid -liberty -lwsock32
56 CBASEFLAGS=-Wall -pipe -mms-bitfields $(DEFINES) $(INCLUDEDIRS)
57 ifdef DEBUG
58 CFLAGS=-O0 -g $(CBASEFLAGS)
59 DEFINES += -DGEANY_DEBUG
60 else
61 CFLAGS=-O2 $(CBASEFLAGS)
62 endif
64 OBJS =  about.o build.o callbacks.o dialogs.o document.o editor.o encodings.o filetypes.o \
65                 geanyentryaction.o geanymenubuttonaction.o geanyobject.o geanywraplabel.o highlighting.o \
66                 keybindings.o keyfile.o log.o main.o msgwindow.o navqueue.o notebook.o \
67                 plugins.o pluginutils.o prefs.o printing.o project.o sciwrappers.o search.o \
68                 socket.o stash.o symbols.o templates.o toolbar.o tools.o sidebar.o \
69                 ui_utils.o utils.o win32.o
71 .c.o:
72         $(CC) $(CFLAGS) -c $<
74 all: $(TARGET)
76 $(RES): ../geany_private.rc ../icons/geany.ico
77         $(WINDRES) -i $< --input-format=rc -o $@ -O coff
79 # this calls parent clean-local target because del ../file won't work
80 clean:
81         -$(RM) deps.mak *.o
82         $(MAKE) -C .. -f makefile.win32 clean-local
84 STLIBS = ../scintilla/scintilla.a ../tagmanager/ctags/ctags.a \
85         ../tagmanager/mio/mio.a ../tagmanager/src/tagmanager.a
87 $(TARGET): $(OBJS) $(RES) $(STLIBS)
88         $(CXX) $(OBJS) $(RES) -o $(TARGET) $(STLIBS) $(ALL_GTK_LIBS) $(WIN_LIBS)
90 deps.mak:
91         $(CC) -MM  $(CFLAGS) *.c >deps.mak
93 # Generate header dependencies with "make deps.mak"
94 include deps.mak
96 ..\localwin32.mk:
97         echo # Set local variables here >$@