-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathMakefile
46 lines (34 loc) · 1.35 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
37
38
39
40
41
42
43
44
45
46
#!/usr/bin/make
CONFIG := Debug
PLATFORM := netstandard2.1
OMISE_CSPROJ := Omise/Omise.csproj
OMISE_TEST_CSPROJ := Omise.Tests/Omise.Tests.csproj
OMISE_DLL := Omise/bin/$(CONFIG)/$(PLATFORM)/Omise.dll
OMISE_TEST_DLL := Omise.Tests/bin/$(CONFIG)/Omise.Tests.dll
SRC_FILES := $(wildcard Omise/**/*.cs Omise/*.cs)
SRC_TEST_FILES := $(wildcard Omise.Tests/**/*.cs Omise.Tests/*.cs)
T4_FILES := $(wildcard Omise/**/*.tt Omise/*.tt Omise.Tests/**/*.tt Omise.Tests/*.tt)
T4_OUTPUT_FILES := $(T4_FILES:.tt=.cs)
MONO := mono
MSBUILD := dotnet build /p:Configuration=$(CONFIG)
NUNIT := dotnet test
T4 := $(MONO) /Applications/Visual\ Studio.app/Contents/Resources/lib/monodevelop/AddIns/MonoDevelop.TextTemplating/TextTransform.exe
.PHONY: test clean
DOTNETEXPORT:
export TargetDotNet=$(TargetDotNet)
default: build
t4: $(T4_OUTPUT_FILES)
%.cs: %.tt
$(T4) -o="$@" "$<"
build: $(OMISE_DLL)
$(OMISE_DLL): $(OMISE_CSPROJ) $(SRC_FILES) $(T4_OUTPUT_FILES)
$(MSBUILD) /target:Build;Pack $(OMISE_CSPROJ)
build-test: $(DOTNETEXPORT) $(OMISE_TEST_DLL) $(SRC_TEST_FILES)
$(OMISE_TEST_DLL): $(OMISE_TEST_CSPROJ) $(SRC_TEST_FILES) $(T4_OUTPUT_FILES)
$(MSBUILD) $(OMISE_TEST_CSPROJ)
clean:
$(MSBUILD) /target:Clean $(OMISE_CSPROJ)
clean-test:
$(MSBUILD) /target:Clean $(OMISE_TEST_CSPROJ)
test: $(OMISE_TEST_DLL)
$(NUNIT) $(OMISE_TEST_CSPROJ)