v/Makefile

39 lines
809 B
Makefile
Raw Normal View History

CC ?= cc
CFLAGS ?= -fPIC -O2
2019-06-28 05:56:03 +00:00
all: clean v
2019-06-29 11:02:53 +00:00
$(info V has been successfully built)
2019-06-23 02:34:41 +00:00
2019-06-25 19:46:07 +00:00
v: v.c
2019-06-29 16:05:57 +00:00
./v -o v compiler
2019-07-17 19:50:38 +00:00
v-release: v.c
./v -prod -o v compiler
2019-06-23 02:34:41 +00:00
v.c:
curl -Os https://raw.githubusercontent.com/vlang/vc/master/v.c
2019-07-17 19:50:38 +00:00
${CC} -std=gnu11 -w -o v v.c -lm
2019-06-23 02:34:41 +00:00
2019-06-25 23:26:26 +00:00
test: v
2019-06-29 16:05:57 +00:00
./v -prod -o vprod compiler # Test prod build
echo "Running V tests..."
2019-06-29 10:21:34 +00:00
find . -name '*_test.v' -print0 | xargs -0 -n1 ./v
2019-06-29 16:05:57 +00:00
echo "Building V examples..."
find examples -name '*.v' -not -path "examples/hot_code_reloading/*" -print0 | xargs -0 -n1 ./v
2019-06-25 22:58:17 +00:00
2019-06-23 02:34:41 +00:00
clean:
-rm -f v.c .v.c v vprod thirdparty/**/*.o
SOURCES = $(wildcard thirdparty/**/*.c)
OBJECTS := ${SOURCES:.c=.o}
thirdparty: ${OBJECTS}
2019-07-17 19:50:38 +00:00
thirdparty-release: ${OBJECTS}
strip ${OBJECTS}
debug: clean v thirdparty
release: CFLAGS += -pie
release: clean v-release thirdparty-release