Clean up Makefile
parent
b6f29b036c
commit
43f2205faf
|
@ -1,11 +1,5 @@
|
||||||
.clang_complete
|
.clang_complete
|
||||||
*/*.o
|
|
||||||
*/*.o.deps
|
|
||||||
neatvnc
|
|
||||||
vgcore.*
|
vgcore.*
|
||||||
perf.data
|
perf.data
|
||||||
perf.data.old
|
perf.data.old
|
||||||
zrle-bench
|
build-*
|
||||||
*.so*
|
|
||||||
examples/draw
|
|
||||||
examples/png-server
|
|
||||||
|
|
70
Makefile
70
Makefile
|
@ -1,51 +1,47 @@
|
||||||
all: libneatvnc.so
|
CFLAGS ?= -g -O3 -mavx -flto -DNDEBUG
|
||||||
|
LDFLAGS ?= -flto
|
||||||
|
BUILD_DIR ?= build-$(shell uname -m)
|
||||||
|
|
||||||
|
DSO_NAME=libneatvnc
|
||||||
|
DSO_MAJOR=0
|
||||||
|
DSO_MINOR=0
|
||||||
|
|
||||||
DEPENDENCIES := pixman-1 libpng libuv
|
DEPENDENCIES := pixman-1 libpng libuv
|
||||||
|
|
||||||
CFLAGS := -g -O3 -mavx -DNDEBUG -std=gnu11 -D_GNU_SOURCE -Iinc \
|
SOURCES := \
|
||||||
-fvisibility=hidden -Icontrib/miniz \
|
src/server.c \
|
||||||
$(foreach dep,$(DEPENDENCIES),$(shell pkg-config --cflags $(dep)))
|
src/util.c \
|
||||||
|
src/vec.c \
|
||||||
|
src/zrle.c \
|
||||||
|
|
||||||
LDFLAGS := $(foreach dep,$(DEPENDENCIES),$(shell pkg-config --libs $(dep)))
|
OBJECTS := $(SOURCES:src/%.c=$(BUILD_DIR)/%.o) $(BUILD_DIR)/miniz.o
|
||||||
|
|
||||||
libneatvnc.so.0.0: src/server.o src/util.o src/vec.o src/zrle.o src/pngfb.o \
|
CFLAGS += -std=gnu11 -D_GNU_SOURCE -Iinc -fvisibility=hidden -Icontrib/miniz \
|
||||||
src/miniz.o
|
$(foreach dep,$(DEPENDENCIES),$(shell pkg-config --cflags $(dep)))
|
||||||
|
|
||||||
|
LDFLAGS += $(foreach dep,$(DEPENDENCIES),$(shell pkg-config --libs $(dep)))
|
||||||
|
|
||||||
|
DSO_PATH := $(BUILD_DIR)/$(DSO_NAME)
|
||||||
|
|
||||||
|
all: $(DSO_PATH).so.$(DSO_MAJOR).$(DSO_MINOR)
|
||||||
|
|
||||||
|
$(BUILD_DIR):
|
||||||
|
mkdir -p $(BUILD_DIR)
|
||||||
|
|
||||||
|
$(DSO_PATH).so.$(DSO_MAJOR).$(DSO_MINOR): $(OBJECTS)
|
||||||
$(CC) -fPIC -shared $^ $(LDFLAGS) -o $@
|
$(CC) -fPIC -shared $^ $(LDFLAGS) -o $@
|
||||||
|
ln -sf $(DSO_NAME).so.$(DSO_MAJOR).$(DSO_MINOR) $(DSO_PATH).so.$(DSO_MINOR)
|
||||||
|
ln -sf $(DSO_NAME).so.$(DSO_MAJOR).$(DSO_MINOR) $(DSO_PATH).so
|
||||||
|
|
||||||
libneatvnc.so.0: libneatvnc.so.0.0
|
CC_OBJ = $(CC) -c $(CFLAGS) $< -o $@ $(CC_DEP_ARGS) -MMD -MP -MF $(@:.o=.deps)
|
||||||
ln -sf $^ $@
|
$(BUILD_DIR)/%.o: src/%.c | $(BUILD_DIR) ; $(CC_OBJ)
|
||||||
|
$(BUILD_DIR)/miniz.o: contrib/miniz/miniz.c | $(BUILD_DIR) ; $(CC_OBJ)
|
||||||
libneatvnc.so: libneatvnc.so.0
|
|
||||||
ln -sf $^ $@
|
|
||||||
|
|
||||||
zrle-bench: bench/zrle-bench.o src/server.o src/util.o src/vec.o src/zrle.o \
|
|
||||||
src/pngfb.o src/miniz.o
|
|
||||||
$(CC) $^ $(LDFLAGS) -o $@
|
|
||||||
|
|
||||||
examples/png-server: examples/png-server.o src/pngfb.o libneatvnc.so
|
|
||||||
$(CC) $^ $(LDFLAGS) -L. -lneatvnc -Wl,-rpath=$(shell pwd) -o $@
|
|
||||||
|
|
||||||
examples/draw: examples/draw.o libneatvnc.so
|
|
||||||
$(CC) $^ $(LDFLAGS) -L. -lneatvnc -Wl,-rpath=$(shell pwd) -o $@
|
|
||||||
|
|
||||||
src/%.o: src/%.c
|
|
||||||
$(CC) -c $(CFLAGS) $< -o $@ -MMD -MP -MF $@.deps
|
|
||||||
|
|
||||||
src/miniz.o: contrib/miniz/miniz.c
|
|
||||||
$(CC) -c $(CFLAGS) $< -o $@ -MMD -MP -MF $@.deps
|
|
||||||
|
|
||||||
bench/%.o: bench/%.c
|
|
||||||
$(CC) -c $(CFLAGS) $< -o $@ -MMD -MP -MF $@.deps
|
|
||||||
|
|
||||||
examples/%.o: examples/%.c
|
|
||||||
$(CC) -c $(CFLAGS) $< -o $@ -MMD -MP -MF $@.deps
|
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -f libneatvnc.so*
|
rm -rf $(BUILD_DIR)
|
||||||
rm -f src/*.o src/*.deps bench/*.o bench/*.deps
|
|
||||||
|
|
||||||
-include src/*.deps
|
-include $(BUILD_DIR)/*.deps
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
.SECONDARY:
|
.SECONDARY:
|
||||||
|
|
Loading…
Reference in New Issue