@@ -2,6 +2,7 @@ _VERSION=?
22-include config.mk
33
44PWD: =$(shell pwd)
5+ SRCDIR? =src
56# GIT_TIP=$(shell [ -d .git ] && git log HEAD^..HEAD 2>/dev/null |head -n1|cut -d ' ' -f2)
67GIT_TIP =$(shell git describe --tags)
78DESTDIR? =
@@ -14,14 +15,12 @@ RTLIBS=gobject-2.0 glib-2.0
1415VALAPKG: =lib$(shell ./getvv)
1516BUILD? =build
1617BIN =valabind
17- SRC =config.vala main.vala valabindwriter.vala nodeffiwriter.vala utils.vala
18- SRC+ =girwriter.vala swigwriter.vala cxxwriter.vala ctypeswriter.vala dlangwriter.vala gowriter.vala
19- SRC+ =vlangwriter.vala
20- VAPIS:=$(SRC:%.vala =$(BUILD ) /%.vapi)
21- CSRC:=$(SRC:%.vala =$(BUILD ) /%.c)
22- VALA_FILTER =$(filter % .vala,$? )
23- TEMPS =$(addprefix --use-fast-vapi=,$(filter-out $(VALA_FILTER:%.vala=$(BUILD ) /%.vapi ) ,$(VAPIS ) ) )
24- TEMPS+ =$(VALA_FILTER ) $(patsubst % .vala,$(BUILD ) /% .c,$(filter-out $? ,$^ ) )
18+ GENERATED_SRC =$(BUILD ) /config.vala
19+ VALA_SRCS =main.vala valabindwriter.vala nodeffiwriter.vala utils.vala
20+ VALA_SRCS+ =girwriter.vala swigwriter.vala cxxwriter.vala ctypeswriter.vala dlangwriter.vala gowriter.vala
21+ VALA_SRCS+ =vlangwriter.vala
22+ SRC: =$(GENERATED_SRC ) $(addprefix $(SRCDIR ) /,$(VALA_SRCS ) )
23+ CSRC:=$(VALA_SRCS:%.vala =%.c)
2524
2625ifneq ($(GIT_TIP ) ,)
2726SGIT_TIP =$(shell echo ${GIT_TIP} | sed -e s,${_VERSION},,)
@@ -77,23 +76,15 @@ endif
7776w32 :
7877 $(MAKE ) W32=1
7978
80- .PRECIOUS : $(BUILD ) /% .c $(BUILD ) /% .vapi
81- $(BIN ) .exe : $(SRC ) | $(VAPIS )
82- @echo ' Compiling $(VALA_FILTER) -> $@'
83- $(VALAC ) --vapidir=. -D W32 -X " ${CFLAGS} " -X " ${LDFLAGS} " -o $@ --pkg $(VALAPKG ) --save-temps ${TEMPS} windows.c --pkg windows
84- @mv $(VALA_FILTER:%.vala=%.c ) $(BUILD )
79+ $(BIN ) .exe : $(SRC ) $(SRCDIR ) /windows.c $(SRCDIR ) /windows.vapi
80+ @echo ' Compiling $@'
81+ $(VALAC ) --vapidir=$(SRCDIR ) -D W32 -X " ${CFLAGS} " -X " ${LDFLAGS} " -o $@ --pkg $(VALAPKG ) $(SRC ) $(SRCDIR ) /windows.c --pkg windows
8582
86- $(BIN ) : $(SRC ) | $(VAPIS )
87- @echo ' Compiling $(VALA_FILTER) -> $@'
88- $(VALAC ) -o $@ --pkg posix $(VALA_PRIVATE_CODEGEN ) --save-temps ${TEMPS}
89- @mv $(VALA_FILTER:%.vala=%.c ) $(BUILD )
83+ $(BIN ) : $(SRC )
84+ @echo ' Compiling $@'
85+ $(VALAC ) -o $@ --pkg posix $(VALA_PRIVATE_CODEGEN ) $(SRC )
9086
91- $(BUILD ) /% .vapi : % .vala | $(BUILD )
92- @echo ' Generating $< -> $@'
93- @$(VALAC ) $(VALAFLAGS ) --fast-vapi=$@ $<
94- @${MAKE} config.vala
95-
96- config.vala : Makefile
87+ $(GENERATED_SRC ) : Makefile | $(BUILD )
9788 @echo ' Generating $@'
9889 @echo ' const string version_string = "$(VERSION)";' > $@
9990
@@ -123,13 +114,11 @@ dist:
123114shot :
124115 rm -rf valabind-$(VERSION )
125116 git clone . valabind-$(VERSION )
126- cd valabind-$(VERSION ) && $(MAKE ) config.vala
127117 rm -rf valabind-$(VERSION ) /.git
128118 tar czvf valabind-$(VERSION ) .tar.gz valabind-$(VERSION )
129119
130120mrproper clean :
131- rm -f config.vala
132- rm -rf $(BUILD ) $(BIN )
121+ rm -rf $(BUILD ) $(BIN ) $(BIN ) .exe
133122 rm -rf $(CSRC )
134123
135124deinstall : uninstall
0 commit comments