shithub: tlsclient

ref: 2bbc75bddc6f2a07056ff017108e35f14061041b
dir: /Makefile/

View raw version
ROOT=.
include ./Make.config

LIBS=\
	libauthsrv/libauthsrv.a\
	libmp/libmp.a\
	libc/libc.a\
	libsec/libsec.a\
	third_party/boringssl/libcrypto.a\
	third_party/boringssl/libssl.a

default: tlsclient
OFILES=cpu.$O p9any.$O

default: $(TARG)
$(TARG): $(LIBS) $(OFILES)
	$(CXX) -pthread -Lthird_party/boringssl $(LDFLAGS) -o $(TARG) $(OFILES) \
		-Wl,--start-group $(LIBS) -Wl,--end-group $(LDADD)

login_-dp9ik: p9any.$O bsd.$O $(LIBS)
	$(CC) -o $@ p9any.$O bsd.$O $(LIBS)

pam_p9.so: pam.$O $(LIBS)
	$(CC) -shared -o $@ pam.$O $(LIBS)

cpu.$O: cpu.c
	$(CC) -Ithird_party/boringssl/src/include $(CFLAGS) cpu.c -o cpu.o

mount.9ptls: mount.$O
	$(CC) $(LDFLAGS) -o $@ $<

%.$O: %.c
	$(CC) $(CFLAGS) $< -o $@

pam.$O: pam.c
	$(CC) $(CFLAGS) pam.c -o pam.o

bsd.$O: bsd.c
	$(CC) $(CFLAGS) bsd.c -o bsd.o

.PHONY: libauthsrv/libauthsrv.a
libauthsrv/libauthsrv.a:
	(cd libauthsrv; $(MAKE))

libmp/libmp.a:
	(cd libmp; $(MAKE))

libc/libc.a:
	(cd libc; $(MAKE))

libsec/libsec.a:
	(cd libsec; $(MAKE))

.PHONY: third_party/boringssl/libcrypto.a
third_party/boringssl/libcrypto.a:
	(cd third_party/boringssl; $(MAKE) libcrypto.a)

.PHONY: third_party/boringssl/libssl.a
third_party/boringssl/libssl.a:
	(cd third_party/boringssl; $(MAKE) libssl.a)

linuxdist: tlsclient pam_p9.so 9cpu
	tar cf tlsclient.tar tlsclient pam_p9.so 9cpu
	gzip tlsclient.tar
.PHONY: clean
clean:
	rm -f *.o lib*/*.o lib*/*.a tlsclient pam_p9.so login_-dp9ik mount.9ptls
	$(MAKE) -C third_party/boringssl clean

linux.tar.gz: tlsclient pam_p9.so mount.9ptls tlsclient.1 mount.9ptls.8
	tar cf - $^ | gzip > $@

obsd.tar.gz: tlsclient.obsd login_-dp9ik tlsclient.1 login_-dp9ik.8
	tar cf - tlsclient.obsd login_-dp9ik tlsclient.1 login_-dp9ik.8 | gzip > $@


.PHONY: tlsclient.install
tlsclient.install: tlsclient tlsclient.1
	cp tlsclient $(PREFIX)/bin
	cp tlsclient.1 $(PREFIX)/man/man1/
	mkdir -p $(PREFIX)/bin $(PREFIX)/share/man/man1
	install -m755 tlsclient $(PREFIX)/bin/
	install -m644 tlsclient.1 $(PREFIX)/share/man/man1/

.PHONY: mount.9ptls.install
mount.9ptls.install: mount.9ptls mount.9ptls.8
	mkdir -p $(PREFIX)/share/man/man8/ $(SBIN)
	install -m755 mount.9ptls $(SBIN)
	install -m644 mount.9ptls.8 $(PREFIX)/share/man/man8/

.PHONY: pam.install
pam.install: pam_p9.so
	mkdir -p $(PREFIX)/lib/security
	install -m755 pam_p9.so $(PREFIX)/lib/security

.PHONY: tlsclient.obsd.install
tlsclient.obsd.install: tlsclient.obsd login_-dp9ik tlsclient.1 login_-dp9ik.8
	install tlsclient.obsd $(PREFIX)/bin/tlsclient
	install tlsclient.1 $(PREFIX)/man/man1/
	install login_-dp9ik.8 $(PREFIX)/man/man8/
	install -d $(PREFIX)/libexec/auth
	install -g auth login_-dp9ik $(PREFIX)/libexec/auth/
	install -d $(PREFIX)/libexec/git
	install git-remote-hjgit $(PREFIX)/libexec/git