From 74d1e95e639fd5d582b0e7f9a504cad313665f3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Dubard?= <loic.dubard@ensiie.fr> Date: Wed, 12 Dec 2018 15:58:35 +0100 Subject: [PATCH] .exe dans makefile --- Makefile | 32 +++++++++++++++++++++++++------- obj/tableau.o | Bin 12136 -> 12224 bytes src/main.h | 8 ++++++++ src/tableau.c | 2 +- stackchess | Bin 37768 -> 0 bytes 5 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 src/main.h delete mode 100755 stackchess diff --git a/Makefile b/Makefile index 33f9ad3..f12413b 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,33 @@ -CC=gcc -Wall -Wextra -ansi -g -lm -std=c99 +CC=gcc +WIN32=i686-w64-mingw32-gcc +WIN64=x86_64-w64-mingw32-gcc +CFLAGS=-Wall -Wextra -ansi -g -lm -std=c99 stackchess : main.o tableau.o affichage.o action.o deplacement.o - cd obj && $(CC) $^ -o ../$@ - -main.o : src/main.c - $(CC) -c $< -o ./obj/$@ + cd obj && $(CC) $(CFLAGS) $^ -o ../build/$@ +all: stackchess stackchess32.exe stackchess64.exe affichage.o : src/affichage.c src/affichage.h src/couleur.h - $(CC) -c $< -o ./obj/$@ + $(CC) $(CFLAGS) -c $< -o ./obj/$@ + +affichage32.o : src/affichage.c src/affichage.h src/couleur.h + $(WIN32) $(CFLAGS) -c $< -o ./obj/$@ + +affichage64.o : src/affichage.c src/affichage.h src/couleur.h + $(WIN64) $(CFLAGS) -c $< -o ./obj/$@ + +%64.o : src/%.c src/%.h + $(WIN64) $(CFLAGS) -c $< -o obj/$@ + +%32.o : src/%.c src/%.h + $(WIN32) $(CFLAGS) -c $< -o obj/$@ %.o: src/%.c src/%.h - $(CC) -c $< -o obj/$@ + $(CC) $(CFLAGS) -c $< -o obj/$@ + +stackchess32.exe : main32.o tableau32.o affichage32.o action32.o deplacement32.o + cd obj && $(WIN32) $(CFLAGS) $^ -o ../build/$@ +stackchess64.exe : main64.o tableau64.o affichage64.o action64.o deplacement64.o + cd obj && $(WIN64) $(CFLAGS)$^ -o ../build/$@ \ No newline at end of file diff --git a/obj/tableau.o b/obj/tableau.o index 71278f037ff174ed6f999b3f36e0ef37428143f3..027dc8c836c88017f7982e6db3e3d954953bd888 100644 GIT binary patch delta 399 zcmaD6cOZU(24llUO%*mpi*DBkGY`I!XS~q-fKl^;#|)2NQ3fF3-^L=qzwbcjvB`dH z^2|Vi$+>KDS_}+6i3$aYMJ1W33aP~<3Tc^nnW<a~IjO}8s>urZc_j+ziRpQVS1Kq@ zp2w!j=)3s{n?Ez-lg%PrR;-M^lNq(e8B;f>^9M5XI7YJCTw`TD!OFuCxp|+E9IMb1 zkhP9{0&PsrylhPOdDuB78)`{y=8)LH1T<l%)P810*U6P~@`j3RAe9UZOhC*E#I7I? z5E!C~%Rqz~tT%6zyUq=?zEjJb^M*7;)MN5VEpx_Rpp)!@q@%Vy*953`ABM?ZdUBIj zXiG5OnS4;&o=HJ|GLw!S<I~BGI`)hOlN*6##^i%K_M8j&A!cPx=F~N3oH5x^*Pe+} zcyg1j9b?|)gSz&N-IE#h>=`Fab_9|eCO7KYGZ{!sKBQ;IBq2SSN#Bm~!emE%bpZR7 BWr6?z delta 336 zcmX>Q{~~UJ2BXGCO%*mqiOG3v@{=d9$qD-;DikCZm1L$Wq!yPbq-Ex1rcS=Wrpl<h z`5&7<GvkrXeq2_pOuB574JE`F<2Ntl4`gOzjb!EF5Z?SxNRCzL2m=r}@(HvtIrFkH z?dM_VnB1r(HMu~WWwVdO8YZ9tKc)6FGwMy=DJL%}$Ocl)z`z8=tUxRU;sAm4W={F* z+>E-DA8MI%&X9%(8cbHyHfPEO+YB^M1IFB-t-+ZKHOO>wqPF}b9SO!olO=WRnNG+} zj?%GXTs?WFjy<E<<eNZJV6vpHJ!cv}#LVQ$iMr;D4wGl<+B2OLntV&w4(KvTJ$oi^ uF^~r*7wBm)227r*XU`Zh`6f{KgZN}AeLJQbQj??f?KmqmA*O5q*$My*C{v;U diff --git a/src/main.h b/src/main.h new file mode 100644 index 0000000..da96f07 --- /dev/null +++ b/src/main.h @@ -0,0 +1,8 @@ +#ifndef _MAIN +#define _MAIN + +/*main.h*/ + +int main(int argc,char ** argv); + +#endif \ No newline at end of file diff --git a/src/tableau.c b/src/tableau.c index 3c308f0..054277e 100644 --- a/src/tableau.c +++ b/src/tableau.c @@ -130,7 +130,7 @@ int partie_finie(pile ** tableau,int N,int tour) for (j=0; j<N ; j++) if (nb_de_pion(tableau[i][j],"BN"[tour%2+1])==0) k++; if (k==2*N){ - printf("La partie est finie"); + printf("La partie est finie\n les %c ont gagné !","BN"[tour%2]); return 1; } return 0; diff --git a/stackchess b/stackchess deleted file mode 100755 index ef37a891f0b869551dd442a5dfcbdc3150025051..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37768 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 bN2h@HG4xlobc{I~e_2#e)TJn#lGXkleZ1=0 -- GitLab