1 CC = gcc |
1 CC = gcc |
2 BUILDDIR = build/ |
2 BUILDDIR = build/ |
3 OBJ = $(shell ls | grep \.c | sed 's/^\([^.]*\)\.c/${BUILDDIR:/=\/}\1.o/g' | tr '\n' ' ') |
3 OBJ = $(shell ls | grep '\.c' | sed 's/^\([^.]*\)\.c$$/${BUILDDIR:/=\/}\1.o/g' | tr '\n' ' ') |
4 BIN = ${BUILDDIR}cline |
4 BIN = ${BUILDDIR}cline |
5 |
5 |
6 all: addrnum ${OBJ} remrnum |
6 .PHONY: setup run-compile teardown |
|
7 |
|
8 all: setup run-compile teardown |
|
9 |
|
10 |
|
11 run-compile: |
|
12 -${MAKE} compile |
|
13 |
|
14 compile: ${OBJ} |
7 ${CC} -o ${BIN} ${OBJ} |
15 ${CC} -o ${BIN} ${OBJ} |
8 |
16 |
9 addrnum: |
17 setup: |
10 rm build/cline.o |
18 mkdir -p ${BUILDDIR} |
|
19 rm -f build/cline.o |
11 mv cline.h cline.src |
20 mv cline.h cline.src |
12 cat cline.src | sed "s/VERSION.*/VERSION=\"$(shell hg identify -i)\";/g" > cline.h |
21 cat cline.src | sed "s/VERSION.*/VERSION=\"$(shell hg identify -n) ($(shell hg identify -i))\";/g" > cline.h |
13 |
22 |
14 remrnum: |
23 teardown: |
15 rm cline.h |
24 rm -f cline.h |
16 mv cline.src cline.h |
25 mv cline.src cline.h |
17 |
26 |
18 ${BUILDDIR}%.o: %.c |
27 ${BUILDDIR}%.o: %.c |
19 mkdir -p ${BUILDDIR} |
|
20 ${CC} -c -std=c99 -o ${BUILDDIR}$*.o $< |
28 ${CC} -c -std=c99 -o ${BUILDDIR}$*.o $< |
21 |
29 |
22 clean: |
30 clean: |
23 rm build/* |
31 rm -f build/* |
|
32 |