-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
36 lines (24 loc) · 1.26 KB
/
Makefile
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
CFLAGS?=-Wall -ansi -std=c99 -pedantic
LDFLAGS?=
scriptinterpreter_HEADERS:=utils.h
scriptinterpreter_OBJECTS:=scriptinterpreter.o utils.o
scriptinterpreter_TEMPDIR:=/tmp/.scriptinterpreter_OBJECTS-$(shell echo $(scriptinterpreter_OBJECTS)$(scriptinterpreter_HEADERS)$(PWD) | md5sum | cut -f1 -d\ )
processxml_HEADERS:=utils.h
processxml_OBJECTS:=processxml.o utils.o
processxml_TEMPDIR:=/tmp/.processxml_OBJECTS-$(shell echo $(processxml_OBJECTS)$(processxml_HEADERS)$(PWD) | md5sum | cut -f1 -d\ )
processxml_CFLAGS:=$(shell xml2-config --cflags)
processxml_LDFLAGS:=$(shell xml2-config --libs)
all: scriptinterpreter processxml
scriptinterpreter: $(addprefix $(scriptinterpreter_TEMPDIR)/,$(scriptinterpreter_OBJECTS))
$(CC) $(LDFLAGS) $(scriptinterpreter_LDFLAGS) -o $@ $^
$(scriptinterpreter_TEMPDIR)/%.o: %.c $(scriptinterpreter_HEADERS)
@mkdir -p $(scriptinterpreter_TEMPDIR)
$(CC) $(CFLAGS) $(scriptinterpreter_CFLAGS) -c -o $@ $<
processxml: $(addprefix $(processxml_TEMPDIR)/,$(processxml_OBJECTS))
$(CC) $(LDFLAGS) $(processxml_LDFLAGS) -o $@ $^
$(processxml_TEMPDIR)/%.o: %.c $(processxml_HEADERS)
@mkdir -p $(processxml_TEMPDIR)
$(CC) $(CFLAGS) $(processxml_CFLAGS) -c -o $@ $<
clean:
rm -f *.o *~
rm -rf $(processxml_TEMPDIR) $(scriptinterpreter_TEMPDIR)