Subversion Repositories Tewi

Rev

Rev 80 | Rev 128 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 nishi 1
# $Id: Makefile 121 2024-09-21 10:39:17Z nishi $
2
 
3
PWD = `pwd`
4
PLATFORM = generic
4 nishi 5
PREFIX = /usr/local
2 nishi 6
 
25 nishi 7
include Platform/$(PLATFORM).mk
8
 
2 nishi 9
FLAGS = PWD=$(PWD) PLATFORM=$(PLATFORM) PREFIX=$(PREFIX)
10
 
53 nishi 11
.PHONY: all format clean ./Server ./Common ./Module ./Manpage get-version
2 nishi 12
 
37 nishi 13
all: ./Server ./Module ./Manpage
2 nishi 14
 
43 nishi 15
./Server/option: ./Server/option.c
16
	cc -o $@ ./Server/option.c
2 nishi 17
 
43 nishi 18
./Server:: ./Common ./Server/option
44 nishi 19
	$(MAKE) -C $@ $(FLAGS) EXTOBJS="`./Server/option objs ../`" EXTLIBS="`./Server/option libs ../`" EXTCFLAGS="`./Server/option cflags ../`" EXTLDFLAGS="`./Server/option ldflags ../`"
43 nishi 20
 
17 nishi 21
./Module:: ./Common
22
	$(MAKE) -C $@ $(FLAGS)
23
 
2 nishi 24
./Common::
25
	$(MAKE) -C $@ $(FLAGS)
26
 
37 nishi 27
./Manpage::
28
	$(MAKE) -C $@ $(FLAGS)
29
 
121 nishi 30
install: all
31
	mkdir -p $(PREFIX)/bin $(PREFIX)/lib/tewi $(PREFIX)/share/man/man5 $(PREFIX)/etc
32
	if [ ! -e $(PREFIX)/etc/tewi.conf ]; then cp example.conf $(PREFIX)/etc/tewi.conf ; fi
33
	cp ./Server/tewi $(PREFIX)/bin/
34
	cp ./Module/*.so $(PREFIX)/lib/tewi/
35
	cp ./Manpage/tewi.conf.5 $(PREFIX)/share/man/man5/
36
 
2 nishi 37
format:
43 nishi 38
	clang-format --verbose -i `find ./Server ./Common ./Module "(" -name "*.c" -or -name "*.h" ")" -and -not -name "strptime.*"` config.h
2 nishi 39
 
53 nishi 40
get-version:
41
	@grep "define TW_VERSION" Server/tw_version.h | grep -Eo '"[^\]+' | sed -E 's/^"//g'
42
 
2 nishi 43
clean:
44
	$(MAKE) -C ./Server $(FLAGS) clean
17 nishi 45
	$(MAKE) -C ./Module $(FLAGS) clean
2 nishi 46
	$(MAKE) -C ./Common $(FLAGS) clean
37 nishi 47
	$(MAKE) -C ./Manpage $(FLAGS) clean
80 nishi 48
	rm -f ./Server/option