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
..
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
headers = $(wildcard *.h) $(gen-headers) $(patsubst %.m,%,$(wildcard *.h.m))
tools = $(filter %.exe.c, $(src))
nontools = $(filter-out %.exe.c, $(src))
cobjects = $(filter %.c, $(nontools))
sobjects = $(filter %.${TARGET}.s, $(nontools))
gpp = gpp
cflags = -std=c11 -isystem ${OUT} -fPIC -nostdlib ${COMPLIB} -L${OUT}
m-env = atom_target_arch=${ARCH}
m-env += atom_target_os=${OS}
ifneq (${BITS},) #!!! ifdef does NOT work with environment variables
m-env += atom_target_bits=${BITS}
endif
m-env += target_posix=${POSIX}
m-env += target_unix=${UNIX}
m-grammar = $(file < ${TMP}/precomp.g)
m-comp = $(gpp) $(m-grammar) $(m-env:%=-D%)
obj: $(cobjects:%.c=${OUT}/$(mod).%.o) \
$(sobjects:%.s=${OUT}/$(mod).%.o)
tool: $(tools:%.exe.c=${OUT}/$(mod).%) \
${OUT}/libk.a
def: $(headers:%=${OUT}/k/%)
................................................................................
@echo src = $(src)
@echo tools = $(tools)
@echo TARGET = ${TARGET}
@echo cobjects = $(cobjects)
@echo sobjects = $(sobjects)
@echo headers = $(headers)
@echo m-comp = $(m-comp)
@echo m-grammar = $(m-grammar)
@echo m-env = $(m-env) "$(m-env:%=-D%)"
@echo mod = $(mod)
${OUT}/k/%.h: %.h.m
$(m-comp) $< > $@
.PRECIOUS: ${TMP}/$(mod).%
|
|
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
..
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
headers = $(wildcard *.h) $(gen-headers) $(patsubst %.m,%,$(wildcard *.h.m))
tools = $(filter %.exe.c, $(src))
nontools = $(filter-out %.exe.c, $(src))
cobjects = $(filter %.c, $(nontools))
sobjects = $(filter %.${TARGET}.s, $(nontools))
cflags = -std=c11 -isystem ${OUT} -fPIC -nostdlib ${COMPLIB} -L${OUT}
m-env = atom_target_arch=${ARCH}
m-env += atom_target_os=${OS}
ifneq (${BITS},) #!!! ifdef does NOT work with environment variables
m-env += atom_target_bits=${BITS}
endif
m-env += target_posix=${POSIX}
m-env += target_unix=${UNIX}
m-comp = ${m4} $(m-env:%=-D%)
obj: $(cobjects:%.c=${OUT}/$(mod).%.o) \
$(sobjects:%.s=${OUT}/$(mod).%.o)
tool: $(tools:%.exe.c=${OUT}/$(mod).%) \
${OUT}/libk.a
def: $(headers:%=${OUT}/k/%)
................................................................................
@echo src = $(src)
@echo tools = $(tools)
@echo TARGET = ${TARGET}
@echo cobjects = $(cobjects)
@echo sobjects = $(sobjects)
@echo headers = $(headers)
@echo m-comp = $(m-comp)
@echo m-env = $(m-env) "$(m-env:%=-D%)"
@echo mod = $(mod)
${OUT}/k/%.h: %.h.m
$(m-comp) $< > $@
.PRECIOUS: ${TMP}/$(mod).%
|