about summary refs log tree commit diff
path: root/pkgs/build-support/build-sandbox/src/Makefile
blob: ebe66c0ea47e19ee27b295d6f215ffa1b6b775bb (plain) (blame)
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
BINARIES = $(wildcard $(BINDIR)/*)
WRAPPERS = $(subst $(BINDIR),$(out)/bin,$(BINARIES))

OBJECTS = path-cache.o params.o setup.o
CFLAGS = -g -Wall -std=gnu11 -DFS_ROOT_DIR=\"$(out)\"
CXXFLAGS = -g -Wall -std=c++14 `pkg-config --cflags nix-main`
LDFLAGS = -Wl,--copy-dt-needed-entries `pkg-config --libs nix-main`

CFLAGS += -DEXTRA_NS_FLAGS="$(EXTRA_NS_FLAGS)"

ifdef FULL_NIX_STORE
CFLAGS += -DFULL_NIX_STORE
else
OBJECTS += nix-query.o
NIX_VERSION = `pkg-config --modversion nix-main | \
               sed -e 's/^\([0-9]\+\)\.\([0-9][0-9]\).*/\1\2/' \
                   -e 's/^\([0-9]\+\)\.\([0-9]\).*/\10\2/'`
CXXFLAGS += -DNIX_VERSION=$(NIX_VERSION)
endif

ifdef BINSH_EXECUTABLE
CFLAGS += -DBINSH_EXECUTABLE=\"$(BINSH_EXECUTABLE)\"
endif

all: $(OBJECTS)

$(out)/bin/%: CFLAGS += -DWRAPPED_PROGNAME=\"$(@F)\"
$(out)/bin/%: CFLAGS += -DWRAPPED_PATH=\"$(BINDIR)/$(@F)\"
$(out)/bin/%: $(OBJECTS)
	mkdir -p $(out)/bin
	$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $? sandbox.c

.PHONY: install
install: $(WRAPPERS)