-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile.common
More file actions
53 lines (51 loc) · 1.43 KB
/
Makefile.common
File metadata and controls
53 lines (51 loc) · 1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
all: ${PROGRAM}
${LIB}: ${OBJS}
ranlib $@
subdirs:
@for a in ${DEPS} ; do \
echo ${.MAKE} ${.MAKEFLAGS} -C `dirname $$a` `basename $$a`; \
${.MAKE} ${.MAKEFLAGS} -C `dirname $$a` `basename $$a`; \
done
${PROGRAM}: subdirs ${LIB} ${PROGRAM}.o
${CC} -o$@ ${LIB} ${PROGRAM}.o ${LDFLAGS} ${LIBS} ${DEPS}
.c.o:
${CC} ${INCLUDE} ${CFLAGS} -MMD -MP -c $<
ar -rcS ${LIB} $@
${PROGRAM}.o:
${CC} ${INCLUDE} ${CFLAGS} -MMD -MP -c ${PROGRAM}.c
install: ${PROGRAM}
@for a in ${DEPS} ; do \
echo ${.MAKE} ${.MAKEFLAGS} -C `dirname $$a` install ; \
${.MAKE} ${.MAKEFLAGS} -C `dirname $$a` install ; \
done
install ${PROGRAM} ~/bin
clean:
@for a in ${DEPS} ; do \
echo ${.MAKE} ${.MAKEFLAGS} -C `dirname $$a` clean ; \
${.MAKE} ${.MAKEFLAGS} -C `dirname $$a` clean ; \
done
rm -f \
${OBJS} \
*~ \
${PROGRAM} \
${PROGRAM}.o \
${PROGRAM}.d \
${LIB} \
*.core \
${OBJS:S/.o/.d/g}
dist:
mkdir ${PROGRAM}-${VERSION}
cp ${OBJS:S/.o/.c/g} ${DISTFILES} ${PROGRAM}-${VERSION}
tar zcvf ${PROGRAM}-${VERSION}.tar.gz ${PROGRAM}-${VERSION}
rm -rf ${PROGRAM}-${VERSION}
uuencode -m ${PROGRAM}-${VERSION}.tar.gz <${PROGRAM}-${VERSION}.tar.gz \
>${PROGRAM}.uu
if [ ! -x dist ] ; then mkdir dist ; fi
mv ${PROGRAM}-${VERSION}.tar.gz ${PROGRAM}.uu dist/
pack:
@sh pack.sh ${PROGRAM} "${OBJS:S/.o/.c/g}" "${PACKIGNORE:S/.o/.c/g}"
.PHONY: dist clean install pack ${LIB}
.SUFFIXES: .c .o
.for a in ${OBJS:S/.o/.d/g} ${PROGRAM}.d
-include $a
.endfor