From b99d30a9d947df7ade29404f15d1cbe4d5c3e6ee Mon Sep 17 00:00:00 2001 From: Baptiste Wicht Date: Sun, 9 Feb 2014 20:58:26 +0100 Subject: [PATCH] Review makefiles --- Makefile | 45 ++++-------------------------- programs/Makefile | 55 +++++++++++++++++++++++++++++++++++++ programs/dist/hello | Bin 0 -> 27386 bytes programs/dist/keyboard | Bin 0 -> 27666 bytes programs/dist/long | Bin 0 -> 28015 bytes programs/dist/longone | Bin 0 -> 20351 bytes programs/dist/longtwo | Bin 0 -> 20351 bytes programs/dist/loop | Bin 0 -> 6183 bytes programs/dist/one | Bin 0 -> 19139 bytes programs/dist/tsh | Bin 0 -> 54433 bytes programs/hello/Makefile | 2 +- programs/keyboard/Makefile | 2 +- programs/long/Makefile | 2 +- programs/longone/Makefile | 2 +- programs/longtwo/Makefile | 2 +- programs/loop/Makefile | 2 +- programs/one/Makefile | 2 +- 17 files changed, 67 insertions(+), 47 deletions(-) create mode 100644 programs/Makefile create mode 100755 programs/dist/hello create mode 100755 programs/dist/keyboard create mode 100755 programs/dist/long create mode 100755 programs/dist/longone create mode 100755 programs/dist/longtwo create mode 100755 programs/dist/loop create mode 100755 programs/dist/one create mode 100755 programs/dist/tsh diff --git a/Makefile b/Makefile index 11eb2130..a4418198 100644 --- a/Makefile +++ b/Makefile @@ -14,35 +14,14 @@ bootloader/stage1.bin: force_look bootloader/stage2.bin: force_look cd bootloader; $(MAKE) stage2.bin -programs/one/a.out: force_look tlib/libtlib.a - cd programs/one; ${MAKE} a.out - -programs/hello/a.out: force_look tlib/libtlib.a - cd programs/hello; ${MAKE} a.out - -programs/long/a.out: force_look tlib/libtlib.a - cd programs/long; ${MAKE} a.out - -programs/longone/a.out: force_look tlib/libtlib.a - cd programs/longone; ${MAKE} a.out - -programs/longtwo/a.out: force_look tlib/libtlib.a - cd programs/longtwo; ${MAKE} a.out - -programs/loop/a.out: force_look tlib/libtlib.a - cd programs/loop; ${MAKE} a.out - -programs/keyboard/a.out: force_look tlib/libtlib.a - cd programs/keyboard; ${MAKE} a.out - -programs/tsh/tsh: force_look tlib/libtlib.a - cd programs/tsh; ${MAKE} tsh +programs: force_look tlib/libtlib.a + cd programs/; ${MAKE} dist hdd.img: dd if=/dev/zero of=hdd.img bs=516096c count=1000 (echo n; echo p; echo 1; echo ""; echo ""; echo t; echo c; echo a; echo 1; echo w;) | sudo fdisk -u -C1000 -S63 -H16 hdd.img -thor.flp: hdd.img bootloader/stage1.bin bootloader/stage2.bin kernel/kernel.bin programs/one/a.out programs/hello/a.out programs/long/a.out programs/loop/a.out programs/longone/a.out programs/longtwo/a.out programs/keyboard/a.out programs/tsh/tsh +thor.flp: hdd.img bootloader/stage1.bin bootloader/stage2.bin kernel/kernel.bin programs mkdir -p mnt/fake/ dd if=bootloader/stage1.bin of=hdd.img conv=notrunc dd if=bootloader/stage2.bin of=hdd.img seek=1 conv=notrunc @@ -50,14 +29,7 @@ thor.flp: hdd.img bootloader/stage1.bin bootloader/stage2.bin kernel/kernel.bin sudo /usr/sbin/mkdosfs -F32 /dev/loop0 sudo /bin/mount -t vfat /dev/loop0 mnt/fake/ sudo /bin/cp kernel/kernel.bin mnt/fake/ - sudo /bin/cp programs/one/a.out mnt/fake/one - sudo /bin/cp programs/hello/a.out mnt/fake/hello - sudo /bin/cp programs/long/a.out mnt/fake/long - sudo /bin/cp programs/longone/a.out mnt/fake/longone - sudo /bin/cp programs/longtwo/a.out mnt/fake/longtwo - sudo /bin/cp programs/loop/a.out mnt/fake/loop - sudo /bin/cp programs/keyboard/a.out mnt/fake/keyboard - sudo /bin/cp programs/tsh/tsh mnt/fake/tsh + sudo /bin/cp programs/dist/* mnt/fake/ sleep 0.1 sudo /bin/umount mnt/fake/ sudo /sbin/losetup -d /dev/loop0 @@ -84,14 +56,7 @@ force_look: clean: cd bootloader; $(MAKE) clean cd kernel; $(MAKE) clean - cd programs/one; $(MAKE) clean - cd programs/hello; $(MAKE) clean - cd programs/long;$(MAKE) clean - cd programs/loop; $(MAKE) clean - cd programs/longone; $(MAKE) clean - cd programs/longtwo; $(MAKE) clean - cd programs/keyboard; $(MAKE) clean - cd programs/tsh; $(MAKE) clean + cd programs/; $(MAKE) clean cd tlib/; $(MAKE) clean rm -f *.bin rm -f *.flp diff --git a/programs/Makefile b/programs/Makefile new file mode 100644 index 00000000..ad243d89 --- /dev/null +++ b/programs/Makefile @@ -0,0 +1,55 @@ +.PHONY: default clean force_look + +default: dist + +tlib/libtlib.a: force_look + cd ../tlib; $(MAKE) + +one: force_look tlib/libtlib.a + cd one; $(MAKE) a.out + +hello: force_look tlib/libtlib.a + cd hello; $(MAKE) a.out + +long: force_look tlib/libtlib.a + cd long; $(MAKE) a.out + +longone: force_look tlib/libtlib.a + cd longone; $(MAKE) a.out + +longtwo: force_look tlib/libtlib.a + cd longtwo; $(MAKE) a.out + +loop: force_look tlib/libtlib.a + cd loop; $(MAKE) a.out + +keyboard: force_look tlib/libtlib.a + cd keyboard; $(MAKE) a.out + +tsh: force_look tlib/libtlib.a + cd tsh; $(MAKE) tsh + +dist: one hello long loop longone longtwo keyboard tsh + mkdir dist + cp one/a.out dist/one + cp hello/a.out dist/hello + cp long/a.out dist/long + cp longone/a.out dist/longone + cp longtwo/a.out dist/longtwo + cp loop/a.out dist/loop + cp keyboard/a.out dist/keyboard + cp tsh/tsh dist/tsh + +force_look: + true + +clean: + cd one; $(MAKE) clean + cd hello; $(MAKE) clean + cd long;$(MAKE) clean + cd loop; $(MAKE) clean + cd longone; $(MAKE) clean + cd longtwo; $(MAKE) clean + cd keyboard; $(MAKE) clean + cd tsh; $(MAKE) clean + rm -rf dist diff --git a/programs/dist/hello b/programs/dist/hello new file mode 100755 index 0000000000000000000000000000000000000000..cba591bea224c0ccf3ff2ac67046603b1fd7cc51 GIT binary patch literal 27386 zcmeHQe{@_`oxktBq?u$U>7;4eq)BNKT3To`Y0{=mYg)GR9^G@G;_kKU$U-x^z_ulvJo51B;cW$#SOPIqJn*?j;Tbsop+&AOoac^ARdEG4f zgpKPQFw)30_6ylBT$Y&IRgKe2n=kVeb=%6Z{JIq{==_6*mLgv1E})#+*h@W z)&6TQk3RR~W532Uq@;8v){q>oacUn>pPzPZ(PrR?kQXc`VSw4lKv~7k3yvb z_6K|V51+O;)PF56SAH{k?)?CUC2+rHbEjc5*vNF)$n~)ED)fwCKjFb1R9@7oxGzy+ z@v3_dhQ3uL`v3CyZ=G*dS^bB%OE3Blzr#|FxC3y}n5FU)%TWW3L}O)_v^RT@VIZKFSd& zN1z;maspd5j61j-R8N1z;mas>V^5$JbQschT+Y%Vn{R^h8Zzg!CuvaZCn;%N{fl2CfF ztxy6K+pg;4t)glYH|HFd>vr%Os=AmrYZkxe+jiwqYObhEW(vS6EAVpy{u)5o^ETmH znJ)~Z{!tWXeGiOQMPt<&s8lrGglp&uT%anH!mT>=8Is6qTlU-V3xt}VQKI&IP|Tk! z%tx7rb>z>uhBKD>i-af}GodR>P^q={S}TR9Yl1sg_%`rX!z;BNGW!}-qqRUP8yDe9 z{(7>AIaRpKs(Y0Lx+KI)_{~6t_&rKGY=4G83aZTCK-|Y7jyrL_QRvPj{+2_x1>7=p zunl9gE=1QgISYP_a#cObPTM#*gj4l-xZ||55^|~@B+@~FsN=kol~z`q-7GGA4aHCo z`IkNg{-<$PR{_z)q95$a|G+*?7t-5}LNFe_>kMAF}d>^Fei zZ%|SDS2~ot1n^@ZKIs9GD+x?q2jG2B@FIZM2`&P;=1**YWEMFt+okJ0|X~gyR-<#DEXBS0$hU9 zjR0;gg5O5bx%;00u#dlp+Fb-?k47YT&r=}KhX-+gl%TSCJk{R+1b`JN{RY6F2vSmY zZbWi?`%Vyga7Ms6AEye8?EXjt>du3|14`FosIBujRI??=6EsbZ-9XRvI8>ti0hsgK zB(7gW+jBquI5PL zIZ|paJHy$=mg8(Z9day)D1DrF9jaE%C%|H+kp>oVSVyh^!~6tb+O_s-=K5DqYY=L- zo2_`k`~@=Sg;md(d(2InQR|q({3Mwth1J9^^q3d@BgoyFx!Tj*gdbQnLGvOOcr>rq zJakY*7lJ$|^c)P$<4kHDe;$g4g})x-VIA2AwgsnY$-R(l!Nk1Y2rcFGYf!ToSw}vv zZ7*f3)3M#o3kLyP-Os`mN*Zi2$~>$i?}Xyxj@V@4NVN9OPsb0SBBQ)#Q5%@reuss{>LJCx zVN8g2&Q;cW&IO0GtzyU)&ZogsP6kMUYcxYE$~>$iUxUGp>omDeQMHLJ$^@>*?}of} z`l--G+NY;z>9~Db4QF^7#7CjKLc9V!dhPppSgn2E)RG_3wmHYoy!JVDZ?^V1=R%Rw zP{7sy1mVov0*YJ)tHkq&pn8I^8>>DOLI&DrAAsG^VMN0|_b6BH&=*-gPm-N5a@pQT z)74L+bM5nggyK(e)>J@R6NjEh@ijvX-+)qBs!}o|VOW@lQ_6&EC>Z$$E(*TzBtX3$ z94+e2oCfMH4|$#5RX;&Da_57ZG)T=508zU~(9hbf@+Rv32aF+msa)zFVlz%8JiCp> zt!#em9uyy-ftRFJN$mLn2z;87#IW+`7P7zX1yEl$i1Md8 zhmN+_&PUI8;Ec9G5i9jHs8!s-#s(aZtN~Ni?;#wro32OMk={2`EF`^e;o>N&|3aS^ zj-i~vS#t$-&5^|R_keJXdI`w#fta5F@796mw)%G4)WoVx_0-oE__ zglir&I}btKV^rBnI|{w?a-bbVUjXt)qRWUzZbNbIY!vM;9mX|AmU;|pE`VBrMDMy0 zZCFjT3rH_frGQUlb1!FT|7{F|dOcar0=&;-QRu%v0CY3aaUhdKm48z9zB7>n+lX?l z;3I%Wf635&Ycphb5;bd|GCo(L-@OIsSw#6T^iV+ddmGX6eMC8>y--BwF})t?LhQ~b z%156FPOVv@k39`!nCN04ClOUXOY|p==${LTZUNHoq18*N`4?w{Fl2~fdM_06%*CKy z>LK(^BhOt6>W4gJyoenA6sTYHkjWzQ@;#t_*F#jQOAr3~V^Du)5K(;s-8%LH2rnC= z%Kt__!rHbq42DagxgLGdic>Z=EWJ=HRn}daWi{ZFJr?PXVu@Hw&|}ncHsB$TMYdnD z)LTpgvRnfADvw15V%{Z8r6y|lL(t?z{x#^&kb&J$SZ;c@y(1L9b}$WOy=4+J5+-Q5Q{{K(PlbT074N%9*pN8+z@15`2FVtleu? z0xpJOUc~$lqXCumm&2V;6gk7vz4>2-nu@s<7>m~G4)=SmQ@ze~V0V3DBBu7^*~hfx0*PHC0}5#ea+;M(AP8TD_JfE|1U zaQ+LlrwpCVYIlX*LyCxSX6)e8i*pq93gk_(Mc~SiqPe(AJM&RL$#AhiUF~v(j&KF< z;B@S41hCt1$tHvAWm1%`HVy@c$*fyjn(}P>K1=5P0^O(V**1<5>oY~E_IPd-gMt(h zVa|7OVs!3C=>eR@Aa(GO&v_KI=M9~GCLi_M$6#%UNh&({0_nU07LFw;PUo4u$n7=` zJZA|II8AFzsky9c<6mWf`cU6eBHh6S)Y%Q%Ii>WM$v*}fpR|hBIygByhd|?~EjFSx z^a#D+5O?kX0xvj>r5CJ=2&*TsAyy4{ugnvAEhs#!BR>P%QU_dC4Tlfjot6pkTMait zGsp77LcLsa*N=yFWHF?d_EMyQMQhKAyFou`JUJ|^xk(i9F0*_uqH$DFaqp=FX>EbF7)L=goTSg|1Zpri`H2gJf2E8Z``@)z29^-tWjs>BU z5SmCAE_&DCgohc{<#mWawH16{cfq$(25`CVg$_R6*m=;e#_6R(du}W*?4zWK2p=bw zZ9oTF?O%p+_EwWty;l2S9k~c^Yu&Q9+SyxtHR);7TqkI*RR_2hc2I$R!v)LfO`m2l z?~&HBjVP|T6c9J)R?xGLGH4uDh8bGqVIN)b3y>cM9($6V$#F(*JP<6?ikW!lL1nMC z*WQoo9=y2k5o?U9HPDaL{Z9t1XC;EWOUo5EIc|pZ$~5*OdUVXzay`SQhqa`xA?(z( z)a{*LZ$+^+Y%dn!@FtKjPUZ=xZhiP|;T_mosnB%9v2vZ|gh;nQpVa`SaF|u}`f5*N zLo;4jP7oBWo(+{O)Wocln~lnPYfjbXrVnpvrk3#GD=blOb)y(T5q_~)dkv^|(+yji zunk>QeR8u6!tB*zJ9wf+ote4~QW>5#X>Cp^QrcWv|J#~tndZ{(s#>qXec>KNAXGHE zp?SE0Jk@k(HNsJ&{0jS75}GMeBxdS%G#J@hKiLrLBvJN&pLcc_d||_*D(v+p>~o?z z{ta7nVQ$RY-q03S{xw!gIeIwHZ?2?+=7ULE+|j_`V@J!YB59gc_uaImnccQP^`Ne` z_&TxG^eyAE&~I!=GIgFf7NRinhu85r}h%8H2Uv|4mxh@DtBzeM5eqC#}=`!PhEItH=6 zE12sWnoUkMv;yObita83YDYs)*f`PX0hRttDy9L*hIhWli?OT*T9ZerG^FNY7jXty zU~;g<HU2)6hDu9o#`T`jKizwn0kTKQZ;#A03eSI8GqUCB%$H8JcOQYty* zkwiM4%)}Do;{tMpgX3;KHiin~ykTe}nJRQ9Gn;7GJuvPj3huB$$8-41D=Ur=`Gfg_ zn>IB}6t;aze!1kzdq|{B?#%7v01UpW(wfM!A zi|^*Yh8r6`-hR%ab9pX_?|S^sc^}{P_{VlVZr8w_UrN`meao)t=4#)9ktqpcJT;ol zB@1I|FRW=doy{FI-e=tXrZ}}BCIQ)ydzP%-^>~Ht{6O4NVL6|_d;`kg$5!H*8&DlP z-HBYk_-^Oo*p=@c1+eiJ=LTyZfV(cc-l+y++h}G!d5Jq%Ku;zMqH8RhcDwc`6Jv$! zM8++24ZD+Fg|Td|Gn?-k&t*q*@pQgxj6WL?d5{Zj6PbK+G~*7p@$-H*lR7wiLs3b`qp%=fwIxI&RzMoPW*OZV`BO8Zm1lg$wEAFQ76Jwz?jJ9 z6wy79aK{VDYzF)zCJ>zrgu-)$LK3Bsoa;h9GmIQYHJeTrI!6#~w{twpP-yOW{$M6C zmdj?c6Zy`G%>HC%xU&!+O1ad&d&jAPEYM8m`- z&}Za!q|;lw*C8SWj6!#Ka4eqZ+&Dp3b8dbj#W4tvN+pH~$A^c(kS5EPeI3JSQ00b@f65vnZ_u~yJ8A8kB*9ux>GGp*GkMN7r8}^Be`sP(9Pwtxwj;) zHDa#WB=Y;?<4l)ea1ayBOKw6=HZwUZ*k4mkq7SBY<OjOoPDzteT^RPt(uW9wN1EA{9uHMdTNcyPRsW0s%Oy^3xR zV!asLA5Rt-seH#`?4|!W=h4Un@UMUkAfGL$DZiDpVaP z8!^@Fx`687EYj=qcseZUUmn|rve}eOlQ#;kU*iC zTv@u;PMJW`!b_Vs?QRpA?Wdl)zHJ$v>`zpW^>~dEb8+IofOX6g)`4iGD#YJz@-RPL zGOvf&8IZ>*by0brNp3OFKFOh8?XW8#56E3(H-?W{Ww< zM}KIyTk~O8S{{ZT{FxiuNB+|^Keqnm0lnMkq``O3fE)jVzb%t~onF^=c3t!ow!+vy zr1fC4T^>e%@TX#@)is^%w;%iwn89a?KlOeUeQ4fD7I`*0(eu5~E3jFMM@2$Gx z-A>b`9r_MIQ{*Qw9@7gNbgyEfMN>RalcpE!)aWXYYg{b4)zpmF7Jkj6D1SiBq9x9LpC%bWN8E71jB?j#W=jm1 zqLG`Xu|aFL*zZ|3Vm8carNvt;e=v>584<%W?cntbclVlXaZiEKLU z;-y^ET8!e`~1)f}Dc!g;yVH9yR~J1@HgcU|=;Jo0@1xiSmv|xj-CZxs4aI zVXDg0)j9tB@*$z*Lv2dN%-^b3)Mw~x0`gHUAJy_rMo{04oVlN@<$DZYRQtbD5zIVo zU=tVm%ws!FQyp=J}~pc?V{Ye`=eO`?dLws?`K-#b=OzV5bteUdx$VP=0&{ z`MqZxKOt|Cd6 zg7T~fOh~@XBTDdkt(i?U9lZj>ZaO*!hZ(OWdWy4|kBoNmHvv-*TAl82_(P6q4o8@$s#4Gq;ZlOGIn(|T z9phd*1Hbv;Q-m4!3UTyUk)lfUWI8(gdOA9#rlT(c-2xJfGan4*00}-9ZqfAM^Y2-j z9(;}+(sc6)rU7*xDV)?Fe6HoZLVEBy??z1zK2LHS*ZcCy^ysHFfAD$!3z{B$9==!8 zgU{~|X?pPeKjAU*gT+ob8i_le?H zyW-Zi@6~T``_5fkPT4uQYumPgt$POdoU&!-R&F-=HgClSoD_$?~6uYm&V@;D*9gok2SXd literal 0 HcmV?d00001 diff --git a/programs/dist/keyboard b/programs/dist/keyboard new file mode 100755 index 0000000000000000000000000000000000000000..fc186ad7480dc96b3721edad26dec615121b94e5 GIT binary patch literal 27666 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�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 QLu&6d-1owt+cgUMFHhyeN&o-= literal 0 HcmV?d00001 diff --git a/programs/dist/longone b/programs/dist/longone new file mode 100755 index 0000000000000000000000000000000000000000..d2d14be62e1f2b57d55d046b7bc0ac9ab5253202 GIT binary patch literal 20351 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 literal 0 HcmV?d00001 diff --git a/programs/dist/longtwo b/programs/dist/longtwo new file mode 100755 index 0000000000000000000000000000000000000000..51c3645d32d1478f78a0dacfe73807d770bc63ba GIT binary patch literal 20351 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 M5Uo}8Ipq%e0}jLj*Z=?k literal 0 HcmV?d00001 diff --git a/programs/dist/one b/programs/dist/one new file mode 100755 index 0000000000000000000000000000000000000000..4853e8fbcbd7b35d128270d9e78a3aea4acad0d9 GIT binary patch literal 19139 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 literal 0 HcmV?d00001 diff --git a/programs/dist/tsh b/programs/dist/tsh new file mode 100755 index 0000000000000000000000000000000000000000..dcbffd77aad7ffbe58cb06a3c1ec00ad03da9e2e GIT binary patch literal 54433 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 SMpG@-uS;mb;29~ literal 0 HcmV?d00001 diff --git a/programs/hello/Makefile b/programs/hello/Makefile index cc7dd424..e20adc91 100644 --- a/programs/hello/Makefile +++ b/programs/hello/Makefile @@ -11,5 +11,5 @@ a.out: main.cpp.o $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) clean: - rm *.cpp.o + rm -f *.cpp.o rm -rf a.out diff --git a/programs/keyboard/Makefile b/programs/keyboard/Makefile index cc7dd424..e20adc91 100644 --- a/programs/keyboard/Makefile +++ b/programs/keyboard/Makefile @@ -11,5 +11,5 @@ a.out: main.cpp.o $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) clean: - rm *.cpp.o + rm -f *.cpp.o rm -rf a.out diff --git a/programs/long/Makefile b/programs/long/Makefile index cc7dd424..e20adc91 100644 --- a/programs/long/Makefile +++ b/programs/long/Makefile @@ -11,5 +11,5 @@ a.out: main.cpp.o $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) clean: - rm *.cpp.o + rm -f *.cpp.o rm -rf a.out diff --git a/programs/longone/Makefile b/programs/longone/Makefile index cc7dd424..e20adc91 100644 --- a/programs/longone/Makefile +++ b/programs/longone/Makefile @@ -11,5 +11,5 @@ a.out: main.cpp.o $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) clean: - rm *.cpp.o + rm -f *.cpp.o rm -rf a.out diff --git a/programs/longtwo/Makefile b/programs/longtwo/Makefile index cc7dd424..e20adc91 100644 --- a/programs/longtwo/Makefile +++ b/programs/longtwo/Makefile @@ -11,5 +11,5 @@ a.out: main.cpp.o $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) clean: - rm *.cpp.o + rm -f *.cpp.o rm -rf a.out diff --git a/programs/loop/Makefile b/programs/loop/Makefile index be45dace..c218fe2c 100644 --- a/programs/loop/Makefile +++ b/programs/loop/Makefile @@ -11,5 +11,5 @@ a.out: main.cpp.o $(CC) $(PROGRAM_LINK_FLAGS) $(CPP_FLAGS_64) -o a.out main.cpp.o clean: - rm *.cpp.o + rm -f *.cpp.o rm -rf a.out diff --git a/programs/one/Makefile b/programs/one/Makefile index cc7dd424..e20adc91 100644 --- a/programs/one/Makefile +++ b/programs/one/Makefile @@ -11,5 +11,5 @@ a.out: main.cpp.o $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) clean: - rm *.cpp.o + rm -f *.cpp.o rm -rf a.out