1 | # $Id: Makefile 251 2024-10-03 21:15:19Z nishi $
|
---|
2 |
|
---|
3 | PWD = `pwd`
|
---|
4 | PLATFORM = generic
|
---|
5 | PLATFORM_IDENT = NOT_WINDOWS
|
---|
6 | PREFIX = /usr/local
|
---|
7 | MODULE = ./Module
|
---|
8 | OBJ = o
|
---|
9 |
|
---|
10 | include Platform/$(PLATFORM).mk
|
---|
11 |
|
---|
12 | FLAGS = PWD=$(PWD) PLATFORM=$(PLATFORM) PREFIX=$(PREFIX)
|
---|
13 |
|
---|
14 | .PHONY: all format clean ./Server ./Common ./Module get-version
|
---|
15 |
|
---|
16 | all: ./Server $(MODULE)
|
---|
17 |
|
---|
18 | ./Tool/option: ./Tool/option.c config.h
|
---|
19 | cc -o $@ ./Tool/option.c
|
---|
20 |
|
---|
21 | ./Tool/genconf: ./Tool/genconf.c config.h
|
---|
22 | cc -o $@ ./Tool/genconf.c
|
---|
23 |
|
---|
24 | ./Tool/itworks: ./Tool/itworks.c config.h
|
---|
25 | cc -o $@ ./Tool/itworks.c
|
---|
26 |
|
---|
27 | ./Server:: ./Common ./Tool/option ./Tool/genconf ./Tool/itworks
|
---|
28 | $(MAKE) -C $@ $(FLAGS) EXTOBJS="`./Tool/option objs ../ $(PLATFORM_IDENT) $(OBJ)`" EXTLIBS="`./Tool/option libs ../ $(PLATFORM_IDENT) $(OBJ)`" EXTCFLAGS="`./Tool/option cflags ../ $(PLATFORM_IDENT) $(OBJ)`" EXTLDFLAGS="`./Tool/option ldflags ../ $(PLATFORM_IDENT) $(OBJ)`"
|
---|
29 |
|
---|
30 | ./Module:: ./Common
|
---|
31 | $(MAKE) -C $@ $(FLAGS)
|
---|
32 |
|
---|
33 | ./Common::
|
---|
34 | $(MAKE) -C $@ $(FLAGS)
|
---|
35 |
|
---|
36 | ./README: ./README.tmpl ./Server/tw_version.h
|
---|
37 | sed "s/@VERSION@/`grep "define TW_VERSION" Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g'`/g" ./README.tmpl > $@
|
---|
38 |
|
---|
39 | install: all ./Tool/genconf ./Tool/itworks
|
---|
40 | mkdir -p $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/lib/tewi $(DESTDIR)$(PREFIX)/etc $(DESTDIR)$(PREFIX)/www
|
---|
41 | if [ ! -e $(DESTDIR)$(PREFIX)/etc/tewi.conf ]; then ( ./Tool/genconf $(PREFIX) lib/tewi so > $(DESTDIR)$(PREFIX)/etc/tewi.conf || ( rm $(DESTDIR)$(PREFIX)/etc/tewi.conf ; exit 1 ) ) ; fi
|
---|
42 | if [ ! -e $(DESTDIR)$(PREFIX)/www/index.html ]; then ( ./Tool/itworks > $(DESTDIR)$(PREFIX)/www/index.html || ( rm $(DESTDIR)$(PREFIX)/www/index.html ; exit 1 ) ) ; fi
|
---|
43 | if [ ! -e $(DESTDIR)$(PREFIX)/www/pbtewi.gif ]; then ( cp Binary/pbtewi.gif $(DESTDIR)$(PREFIX)/www/ || ( rm $(DESTDIR)$(PREFIX)/www/pbtewi.gif ; exit 1 ) ) ; fi
|
---|
44 | -cp ./Server/tewi $(DESTDIR)$(PREFIX)/bin/
|
---|
45 | -cp ./Module/*.so $(DESTDIR)$(PREFIX)/lib/tewi/
|
---|
46 |
|
---|
47 | format:
|
---|
48 | clang-format --verbose -i `find ./Server ./Common ./Module ./Tool "(" -name "*.c" -or -name "*.h" ")" -and -not -name "strptime.*"` config.h
|
---|
49 |
|
---|
50 | get-version:
|
---|
51 | @grep "define TW_VERSION" Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g'
|
---|
52 |
|
---|
53 | clean:
|
---|
54 | $(MAKE) -C ./Server $(FLAGS) clean
|
---|
55 | $(MAKE) -C ./Module $(FLAGS) clean
|
---|
56 | $(MAKE) -C ./Common $(FLAGS) clean
|
---|
57 | rm -f ./Tool/option ./Tool/genconf ./Tool/itworks
|
---|