Subversion Repositories Tewi

Rev

Rev 156 | Rev 168 | 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 157 2024-09-25 12:31:24Z 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
 
156 nishi 11
.PHONY: all format clean ./Server ./Common ./Module get-version
2 nishi 12
 
157 nishi 13
all: ./Server ./Module ./Tool/genconf ./Tool/itworks
2 nishi 14
 
146 nishi 15
./Tool/option: ./Tool/option.c config.h
128 nishi 16
	cc -o $@ ./Tool/option.c
2 nishi 17
 
146 nishi 18
./Tool/genconf: ./Tool/genconf.c config.h
128 nishi 19
	cc -o $@ ./Tool/genconf.c
43 nishi 20
 
146 nishi 21
./Tool/itworks: ./Tool/itworks.c config.h
130 nishi 22
	cc -o $@ ./Tool/itworks.c
23
 
128 nishi 24
./Server:: ./Common ./Tool/option
25
	$(MAKE) -C $@ $(FLAGS) EXTOBJS="`./Tool/option objs ../`" EXTLIBS="`./Tool/option libs ../`" EXTCFLAGS="`./Tool/option cflags ../`" EXTLDFLAGS="`./Tool/option ldflags ../`"
26
 
17 nishi 27
./Module:: ./Common
28
	$(MAKE) -C $@ $(FLAGS)
29
 
2 nishi 30
./Common::
31
	$(MAKE) -C $@ $(FLAGS)
32
 
156 nishi 33
./README: ./README.tmpl ./Server/tw_version.h
152 nishi 34
	sed "s/@VERSION@/`grep "define TW_VERSION" Server/tw_version.h | grep -Eo '"[^\]+' | sed -E 's/^"//g'`/g" ./README.tmpl > $@
35
 
128 nishi 36
install: all ./Tool/genconf ./Tool/itworks
37
	mkdir -p $(PREFIX)/bin $(PREFIX)/lib/tewi $(PREFIX)/share/man/man5 $(PREFIX)/etc $(PREFIX)/www
131 nishi 38
	if [ ! -e $(PREFIX)/etc/tewi.conf ]; then ( ./Tool/genconf $(PREFIX) lib/tewi so > $(PREFIX)/etc/tewi.conf || ( rm $(PREFIX)/etc/tewi.conf ; exit 1 ) ) ; fi
128 nishi 39
	if [ ! -e $(PREFIX)/www/index.html ]; then ( ./Tool/itworks > $(PREFIX)/www/index.html || ( rm $(PREFIX)/www/index.html ; exit 1 ) ) ; fi
40
	if [ ! -e $(PREFIX)/www/pbtewi.gif ]; then ( cp Binary/pbtewi.gif $(PREFIX)/www/ || ( rm $(PREFIX)/www/pbtewi.gif ; exit 1 ) ) ; fi
121 nishi 41
	cp ./Server/tewi $(PREFIX)/bin/
42
	cp ./Module/*.so $(PREFIX)/lib/tewi/
43
 
2 nishi 44
format:
129 nishi 45
	clang-format --verbose -i `find ./Server ./Common ./Module ./Tool "(" -name "*.c" -or -name "*.h" ")" -and -not -name "strptime.*"` config.h
2 nishi 46
 
53 nishi 47
get-version:
48
	@grep "define TW_VERSION" Server/tw_version.h | grep -Eo '"[^\]+' | sed -E 's/^"//g'
49
 
2 nishi 50
clean:
51
	$(MAKE) -C ./Server $(FLAGS) clean
17 nishi 52
	$(MAKE) -C ./Module $(FLAGS) clean
2 nishi 53
	$(MAKE) -C ./Common $(FLAGS) clean
128 nishi 54
	rm -f ./Tool/option ./Tool/genconf