mirror of
https://github.com/ioacademy-jikim/debugging
synced 2025-06-08 16:36:21 +00:00
58 lines
1.0 KiB
Plaintext
58 lines
1.0 KiB
Plaintext
# makefile5
|
|
# install 추가된것.
|
|
# install은 자동으로 실행되지 않으므로
|
|
# make install 이 필요하다는것을 설명
|
|
|
|
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
|
|
|
|
|
|
|