Le 26/06/2012 19:02, Colomban Wendling a écrit :
> Le 26/06/2012 18:11, Nick Treleaven a écrit :
>> On 25/06/2012 20:33, Dimitar Zhekov wrote:
>>> Hi. Here is a small diff (for makefile.win32 and src/makefile.win32
>>> only) that makes Geany 1.22 Win~1 compilation and installation
>>> independent of MSYS. Usage:
>>>
>>> C>  mingw32-make -f makefile.win32
>>> C>  mingw32-make -f makefile.win32 install
>>>
>>> Tested with mingw, cmd/tcc. Should work with MSYS make too... but I had
>>> to use backslashes in the install: target, and am not sure if/how MSYS
>>> make escapes them. Win~1 fully supports forward slashes internally, but
>>> the command interpreters have only partial support.
>>
>> MSYS does treat backslashes as escapes, and I think that is a worse
>> problem than cmd.exe interpreting forward slashes as command options, as
>> it can occur in more situations. I think we should use forward slashes
>> throughout.
>>
>> Unfortunately I can't get your patch to apply against current Git, but
>> I'm not sure why (see attached file for errors). Can you/someone test if
>> it applies (maybe there's something weird happening on my Windows setup)?
> 
> It applies fine here.  I join the diff from Git after I applied the
> patch in case it helps, maybe your `git apply` will like it better?

... and here's the attachment.

> 
> OT: Nick, could you now merge the tagmanager/ tree rearrangement?
> 
> 
> Regards,
> Colomban
> _______________________________________________
> Geany-devel mailing list
> Geany-devel@uvena.de
> https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel

diff --git a/makefile.win32 b/makefile.win32
index a6afe22..d29905a 100644
--- a/makefile.win32
+++ b/makefile.win32
@@ -14,19 +14,18 @@
 WINDRES = windres.exe
 CC = gcc
 CXX = g++
-CP = copy
+MD = mkdir
+CP = copy /Y
 RM = del
-MAKE = make
+MAKE = mingw32-make
 -include localwin32.mk
 
-# Note: && is needed after cd because each line is executed in a different
-# shell. (cd .. is just for clarity).
 all: config.h
-	cd tagmanager/mio && $(MAKE) -f makefile.win32 && cd ../..
-	cd tagmanager && $(MAKE) -f makefile.win32 && cd ..
-	cd scintilla && $(MAKE) -f makefile.win32 && cd ..
-	cd plugins && $(MAKE) -f makefile.win32 && cd ..
-	cd src && $(MAKE) -f makefile.win32 && cd ..
+	$(MAKE) -C tagmanager/mio -f makefile.win32
+	$(MAKE) -C tagmanager -f makefile.win32
+	$(MAKE) -C scintilla -f makefile.win32
+	$(MAKE) -C plugins -f makefile.win32
+	$(MAKE) -C src -f makefile.win32
 
 config.h: win32-config.h
 	$(CP) $< $@
@@ -39,17 +38,25 @@ clean-local:
 	-$(RM) geany_private.res geany.exe
 
 clean: deps
-	cd tagmanager/mio && $(MAKE) -f makefile.win32 clean && cd ../..
-	cd tagmanager && $(MAKE) -f makefile.win32 clean && cd ..
-	cd scintilla && $(MAKE) -f makefile.win32 clean && cd ..
-	cd plugins && $(MAKE) -f makefile.win32 clean && cd ..
-	cd src && $(MAKE) -f makefile.win32 clean && cd ..
+	$(MAKE) -C tagmanager/mio -f makefile.win32 clean
+	$(MAKE) -C tagmanager -f makefile.win32 clean
+	$(MAKE) -C scintilla -f makefile.win32 clean
+	$(MAKE) -C plugins -f makefile.win32 clean
+	$(MAKE) -C src -f makefile.win32 clean
 
 .PHONY: install
-DESTDIR='C:/Program Files/Geany'
+DESTDIR=C:\Program Files\Geany
 
-# requires admin privileges and MSYS
+# requires admin privileges
 install:
-	cp -r data $(DESTDIR)
-	cp plugins/*.dll $(DESTDIR)/lib
-	cp geany.exe $(DESTDIR)/bin
+	-$(MD) "$(DESTDIR)"
+	-$(MD) "$(DESTDIR)\bin"
+	$(CP) geany.exe "$(DESTDIR)\bin"
+	-$(MD) "$(DESTDIR)\lib"
+	$(CP) plugins\*.dll "$(DESTDIR)\lib"
+	-$(MD) "$(DESTDIR)\data"
+	$(CP) data "$(DESTDIR)\data"
+	-$(MD) "$(DESTDIR)\data\colorschemes"
+	$(CP) data\colorschemes "$(DESTDIR)\data\colorschemes"
+	-$(MD) "$(DESTDIR)\data\templates"
+	$(CP) data\templates "$(DESTDIR)\data\templates"
diff --git a/src/makefile.win32 b/src/makefile.win32
index 3929df6..b164cf8 100644
--- a/src/makefile.win32
+++ b/src/makefile.win32
@@ -77,7 +77,7 @@ $(RES): ../geany_private.rc ../icons/geany.ico
 # this calls parent clean-local target because del ../file won't work
 clean:
 	-$(RM) deps.mak *.o
-	cd .. && $(MAKE) -f makefile.win32 clean-local && cd src
+	$(MAKE) -C .. -f makefile.win32 clean-local
 
 exec:
 	$(EXECDIR)\geany.exe
@@ -85,10 +85,10 @@ exec:
 binclean:
 	$(RM) $(TARGET)
 
-$(TARGET): $(OBJS) $(RES) ../scintilla/scintilla.a ../tagmanager/mio/mio.a ../tagmanager/tagmanager.a
-	$(CXX) $(OBJS) $(RES) -o $(TARGET) \
-	../scintilla/scintilla.a ../tagmanager/tagmanager.a ../tagmanager/mio/mio.a \
-	$(ALL_GTK_LIBS) $(WIN_LIBS)
+STLIBS = ../scintilla/scintilla.a ../tagmanager/tagmanager.a ../tagmanager/mio/mio.a
+
+$(TARGET): $(OBJS) $(RES) $(STLIBS)
+	$(CXX) $(OBJS) $(RES) -o $(TARGET) $(STLIBS) $(ALL_GTK_LIBS) $(WIN_LIBS)
 
 deps.mak:
 	$(CC) -MM  $(CFLAGS) *.c >deps.mak
_______________________________________________
Geany-devel mailing list
Geany-devel@uvena.de
https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel

Reply via email to