Merge pull request #382 from cousteaulecommandant/patch-3
[geany-mirror.git] / makefile.win32
blob6b6ede035239d94623b530a1b8bd47b824b3da34
1 # See http://www.geany.org/Support/BuildingOnWin32
2 # Running make creates config.h then calls the sub makefiles.
4 # Other targets are:
5 #       clean: clean all generated files
6 #       install: install to DESTDIR
8 # localwin32.mk is an optional file to override make variables.
9 # Use localwin32.mk instead of editing variables as it is included in sub
10 # makefiles.
11 # For MSYS set MSYS=1.
12 # By default this should work in a Windows command prompt (cmd.exe).
14 WINDRES = windres.exe
15 CC = gcc
16 CXX = g++
17 CP = copy /y
18 RM = del
19 MKDIR = mkdir
20 # $/ is used as a portable directory separator
21 # strip is used to prevent line wrap
22 / := $(strip \)
23 DESTDIR = C:/Program Files/Geany
24 -include localwin32.mk
26 ifdef MSYS
27 CP = cp
28 RM = rm -f
29 / = /
30 endif
32 all: config.h
33         $(MAKE) -C tagmanager/ctags -f makefile.win32
34         $(MAKE) -C tagmanager/mio -f makefile.win32
35         $(MAKE) -C tagmanager/src -f makefile.win32
36         $(MAKE) -C scintilla -f makefile.win32
37         $(MAKE) -C plugins -f makefile.win32
38         $(MAKE) -C src -f makefile.win32
40 config.h: win32-config.h
41         $(CP) $< $@
43 # used by src/makefile.win32 to avoid del ../file which is an error
44 clean-local:
45         -$(RM) geany_private.res geany.exe
47 clean:
48         $(MAKE) -C tagmanager/ctags -f makefile.win32 clean
49         $(MAKE) -C tagmanager/mio -f makefile.win32 clean
50         $(MAKE) -C tagmanager/src -f makefile.win32 clean
51         $(MAKE) -C scintilla -f makefile.win32 clean
52         $(MAKE) -C plugins -f makefile.win32 clean
53         $(MAKE) -C src -f makefile.win32 clean
55 .PHONY: all clean clean-local install
57 # likely requires admin privileges
58 # mkdir output is ignored in case dir exists
59 # 'copy' seems to only accept / in the destination
60 install:
61         -$(MKDIR) "$(DESTDIR)"
62         -$(MKDIR) "$(DESTDIR)/bin"
63         $(CP) geany.exe "$(DESTDIR)/bin"
64         -$(MKDIR) "$(DESTDIR)/lib"
65         $(CP) plugins$/*.dll "$(DESTDIR)/lib"
66         -$(MKDIR) "$(DESTDIR)/data"
67 ifdef MSYS
68         cp -r data "$(DESTDIR)"
69 else
70         xcopy /s /y data "$(DESTDIR)/data"
71 endif