8 BASIC_CFLAGS
:= -Iinclude
9 BASIC_CFLAGS
+= -DGIT__PRIVATE
10 BASIC_CFLAGS
+= -fvisibility
=hidden
12 OBJS
= $(patsubst %.c
,%.o
,$(wildcard src
/*.c
))
13 HDRS
= $(wildcard include/git
/*.h
)
15 OBJS
+= src
/os
/$(OS
).o
16 HDRS
+= include/git
/config.h
17 HDRS
+= include/git
/os
/$(OS
).h
21 TEST_OBJ
= $(patsubst %.c
,%.o
,\
22 $(wildcard tests
/t
[0-9][0-9][0-9][0-9]-*.c
))
23 TEST_EXE
= $(patsubst %.o
,%.exe
,$(TEST_OBJ
))
24 TEST_RUN
= $(patsubst %.exe
,%.run
,$(TEST_EXE
))
31 rm -f tests
/*.o tests
/*.exe tests
/*.toc
32 rm -f
include/git
/config.h
36 $(DOXYGEN
) api.doxygen
37 cp CONVENTIONS apidocs
/
42 $(CC
) $(BASIC_CFLAGS
) $(CFLAGS
) -c
$< -o
$@
44 include/git
/config.h
: include/git
/config.h.in
45 sed
's/@@OS@@/$(OS)/g' $< >$@
+
51 $(AR
) cr
$(GIT_LIB
) $(OBJS
)
53 T_HDR
= tests
/test_lib.h
54 T_LIB
= tests
/test_lib.o
55 T_MAIN_C
= tests
/test_main.c
57 $(T_LIB
): $(T_HDR
) $(HDRS
)
58 $(TEST_OBJ
): $(T_HDR
) $(HDRS
)
60 $(patsubst %.exe
,%.toc
,$(TEST_EXE
)): tests
/%.toc
: tests
/%.c
61 grep BEGIN_TEST
$< >$@
+
64 $(TEST_OBJ
): tests
/%.o
: tests
/%.c
65 $(CC
) -Iinclude
$(CFLAGS
) -c
$< -o
$@
67 $(patsubst %.exe
,%_main.o
,$(TEST_EXE
)): tests
/%_main.o
: $(HDRS
)
68 $(patsubst %.exe
,%_main.o
,$(TEST_EXE
)): tests
/%_main.o
: $(T_MAIN_C
)
69 $(patsubst %.exe
,%_main.o
,$(TEST_EXE
)): tests
/%_main.o
: tests
/%.toc
70 $(CC
) -Iinclude
-I.
'-DTEST_TOC="$<"' \
74 $(TEST_EXE
): tests
/%.exe
: $(T_LIB
) $(GIT_LIB
)
75 $(TEST_EXE
): tests
/%.exe
: tests
/%.o tests
/%_main.o
77 $(patsubst %.exe
,%_main.o
,$@
) \
78 $(patsubst %.exe
,%.o
,$@
) \
81 $(TEST_RUN
): tests
/%.run
: tests
/%.exe
86 .PHONY
: test $(TEST_RUN
)