Imported Upstream version 2.4.0
[scm/test.git] / Makefile
1 GOC ?= gccgo
2 AR ?= ar
3
4 SRCDIR := $(dir $(lastword $(MAKEFILE_LIST)))
5
6 LIBDIR := out/github.com/git-lfs/git-lfs
7 GOFLAGS := -Iout
8
9 ifeq ($(MAKEFILE_GEN),)
10
11 MAKEFILE_GEN := out/Makefile.gen
12
13 all: $(MAKEFILE_GEN)
14         @$(MAKE) -f $(lastword $(MAKEFILE_LIST)) $(MAKEFLAGS) MAKEFILE_GEN=$(MAKEFILE_GEN) $@
15
16 $(MAKEFILE_GEN) : out/genmakefile $(SRCDIR)commands/mancontent_gen.go
17         @mkdir -p $(dir $@)
18         $< "$(SRCDIR)" github.com/git-lfs/git-lfs/ > $@
19
20 else
21
22 all : bin/git-lfs
23
24 include $(MAKEFILE_GEN)
25
26 $(LIBDIR)/git-lfs.o : $(SRC_main) $(DEPS_main)
27         @mkdir -p $(dir $@)
28         $(GOC) $(GOFLAGS) -c -o $@ $(SRC_main)
29
30 bin/git-lfs : $(LIBDIR)/git-lfs.o $(DEPS_main)
31         @mkdir -p $(dir $@)
32         $(GOC) $(GOFLAGS) -o $@ $^
33
34 %.a : %.o
35         $(AR) rc $@ $<
36
37 endif
38
39 $(SRCDIR)commands/mancontent_gen.go : out/mangen
40         cd $(SRCDIR)commands && $(CURDIR)/out/mangen
41
42 out/mangen : $(SRCDIR)docs/man/mangen.go
43         @mkdir -p $(dir $@)
44         $(GOC) -o $@ $<
45
46 out/genmakefile : $(SRCDIR)script/genmakefile/genmakefile.go
47         @mkdir -p $(dir $@)
48         $(GOC) -o $@ $<
49
50 clean :
51         rm -rf out bin
52         rm -f $(SRCDIR)commands/mancontent_gen.go