1 |
nishi |
1.2 |
# $Id: Makefile 386 2024-10-18 23:27:01Z nishi $ |
2 |
nishi |
1.1 |
|
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 |
nishi |
1.2 |
.PHONY: all prepare-config format clean ./Server ./Common ./Module get-version src-archive |
15 |
nishi |
1.1 |
|
16 |
|
|
all: ./Server $(MODULE) |
17 |
|
|
|
18 |
nishi |
1.2 |
prepare-config: |
19 |
|
|
if [ '!' -e config.h ]; then cp config.h.tmpl config.h ; fi |
20 |
|
|
|
21 |
nishi |
1.1 |
src-archive: clean |
22 |
|
|
@svn cleanup --remove-unversioned |
23 |
|
|
cp -rf . /tmp/tewi-`grep "define TW_VERSION" Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g'` |
24 |
|
|
cd /tmp && tar --exclude .github -czvf tewi-`grep "define TW_VERSION" tewi-*/Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g'`.tar.gz tewi-`grep "define TW_VERSION" tewi-*/Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g'` |
25 |
|
|
mv /tmp/tewi-`grep "define TW_VERSION" Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g'`.tar.gz ./ |
26 |
|
|
|
27 |
nishi |
1.2 |
./Tool/option: ./Tool/option.c config.h prepare-config |
28 |
nishi |
1.1 |
cc -o $@ ./Tool/option.c |
29 |
|
|
|
30 |
nishi |
1.2 |
./Tool/genconf: ./Tool/genconf.c config.h prepare-config |
31 |
nishi |
1.1 |
cc -o $@ ./Tool/genconf.c |
32 |
|
|
|
33 |
nishi |
1.2 |
./Tool/itworks: ./Tool/itworks.c config.h prepare-config |
34 |
nishi |
1.1 |
cc -o $@ ./Tool/itworks.c |
35 |
|
|
|
36 |
nishi |
1.2 |
./Server:: ./Common ./Tool/option ./Tool/genconf ./Tool/itworks prepare-config |
37 |
nishi |
1.1 |
$(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)`" |
38 |
|
|
|
39 |
nishi |
1.2 |
./Module:: ./Common prepare-config |
40 |
nishi |
1.1 |
$(MAKE) -C $@ $(FLAGS) |
41 |
|
|
|
42 |
nishi |
1.2 |
./Common:: prepare-config |
43 |
nishi |
1.1 |
$(MAKE) -C $@ $(FLAGS) |
44 |
|
|
|
45 |
|
|
./README: ./README.tmpl ./Server/tw_version.h |
46 |
nishi |
1.2 |
sed "s/@*VERSION@/`grep "define TW_VERSION" Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g'`/g" ./README.tmpl > $@ |
47 |
nishi |
1.1 |
|
48 |
|
|
install: all ./Tool/genconf ./Tool/itworks |
49 |
nishi |
1.2 |
-mkdir -p* $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/lib/tewi $(DESTDIR)$(PREFIX)/etc $(DESTDIR)$(PREFIX)/www |
50 |
|
|
if [ '!' -e $(DESTDIR)$(PREFIX)/etc/tewi.conf ]; then ( ./Tool/genconf $(PREFIX) lib/tewi `echo $(LIBSUF) | sed 's/\.//g'` > $(DESTDIR)$(PREFIX)/etc/tewi.conf || ( rm $(DESTDIR)$(PREFIX)/etc/tewi.conf ; exit 1 ) ) ; fi |
51 |
nishi |
1.1 |
cp mime.types $(DESTDIR)$(PREFIX)/ |
52 |
nishi |
1.2 |
if [ '!' -e $(DESTDIR)$(PREFIX)/www/index.html ]; then ( ./Tool/itworks > $(DESTDIR)$(PREFIX)/www/index.html || ( rm $(DESTDIR)$(PREFIX)/www/index.html ; exit 1 ) ) ; fi |
53 |
|
|
if [ '!' -e $(DESTDIR)$(PREFIX)/www/pbtewi.gif ]; then ( cp Binary/pbtewi.gif $(DESTDIR)$(PREFIX)/www/ || ( rm $(DESTDIR)$(PREFIX)/www/pbtewi.gif ; exit 1 ) ) ; fi |
54 |
nishi |
1.1 |
-cp ./Server/tewi $(DESTDIR)$(PREFIX)/bin/ |
55 |
|
|
-cp ./Server/tewi.exe $(DESTDIR)$(PREFIX)/bin/ |
56 |
|
|
-cp ./Server/tewi.nlm $(DESTDIR)$(PREFIX)/bin/ |
57 |
|
|
-cp ./Module/*.so $(DESTDIR)$(PREFIX)/lib/tewi/ |
58 |
|
|
-cp ./Module/*.dll $(DESTDIR)$(PREFIX)/lib/tewi/ |
59 |
|
|
-cp ./Module/*.nlm $(DESTDIR)$(PREFIX)/lib/tewi/ |
60 |
|
|
|
61 |
|
|
format: |
62 |
|
|
clang-format --verbose -i `find ./Server ./Common ./Module ./Tool "(" -name "*.c" -or -name "*.h" ")" -and -not -name "strptime.*"` config.h |
63 |
|
|
|
64 |
|
|
get-version: |
65 |
|
|
@grep "define TW_VERSION" Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g' |
66 |
|
|
|
67 |
|
|
clean: |
68 |
|
|
$(MAKE) -C ./Server $(FLAGS) clean |
69 |
|
|
$(MAKE) -C ./Module $(FLAGS) clean |
70 |
|
|
$(MAKE) -C ./Common $(FLAGS) clean |
71 |
|
|
rm -f ./Tool/option ./Tool/genconf ./Tool/itworks |