# makefile6 # make cleanall Γί°‘ INSTPATH=./bin INCPATH=./include OBJPATH=./obj CC=cc CFLAGS=-Wall -I$(INCPATH) COND1=`stat app 2>/dev/null | grep Modify` COND2=`stat $(INSTPATH) 2>/dev/null | grep Modify` all: getobj app putobj app : main.o foo.o goo.o $(CC) $(CFLAGS) -o app main.o foo.o goo.o main.o : main.c $(INCPATH)/foo.h $(INCPATH)/goo.h $(CC) $(CFLAGS) -c main.c foo.o : foo.c $(INCPATH)/foo.h $(CC) $(CFLAGS) -c foo.c goo.o : goo.c $(INCPATH)/goo.h $(CC) $(CFLAGS) -c goo.c putobj: @if [ ! -d $(OBJPATH) ]; then \ mkdir $(OBJPATH); \ fi @-mv *.o $(OBJPATH) 2>/dev/null getobj: @if [ ! -d $(OBJPATH) ]; then \ mkdir $(OBJPATH); \ fi @-mv $(OBJPATH)/*.o . 2>/dev/null install: @if [ ! -d $(INSTPATH) ]; then \ mkdir $(INSTPATH); \ fi @if [ "$(COND1)" != "$(COND2)" ];\ then\ cp -p ./app $(INSTPATH)/app 2>/dev/null;\ chmod 700 $(INSTPATH)/app ;\ echo "Installed in" $(INSTPATH)/app;\ fi cleanall: @-rm app @-rm -r $(OBJPATH) @-rm -r $(INSTPATH) @ echo cleanall!