source: Main/trunk/Makefile@ 362

Last change on this file since 362 was 358, checked in by Nishi, on Oct 16, 2024 at 7:49:46 PM

add src-archive

  • Property svn:keywords set to Id
File size: 3.0 KB
Line 
1# $Id: Makefile 358 2024-10-16 10:49:46Z nishi $
2
3PWD = `pwd`
4PLATFORM = generic
5PLATFORM_IDENT = NOT_WINDOWS
6PREFIX = /usr/local
7MODULE = ./Module
8OBJ = o
9
10include Platform/$(PLATFORM).mk
11
12FLAGS = PWD=$(PWD) PLATFORM=$(PLATFORM) PREFIX=$(PREFIX)
13
14.PHONY: all format clean ./Server ./Common ./Module get-version src-archive
15
16all: ./Server $(MODULE)
17
18src-archive: clean
19 @svn cleanup --remove-unversioned
20 cp -rf . /tmp/tewi-`grep "define TW_VERSION" Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g'`
21 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'`
22 mv /tmp/tewi-`grep "define TW_VERSION" Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g'`.tar.gz ./
23
24./Tool/option: ./Tool/option.c config.h
25 cc -o $@ ./Tool/option.c
26
27./Tool/genconf: ./Tool/genconf.c config.h
28 cc -o $@ ./Tool/genconf.c
29
30./Tool/itworks: ./Tool/itworks.c config.h
31 cc -o $@ ./Tool/itworks.c
32
33./Server:: ./Common ./Tool/option ./Tool/genconf ./Tool/itworks
34 $(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)`"
35
36./Module:: ./Common
37 $(MAKE) -C $@ $(FLAGS)
38
39./Common::
40 $(MAKE) -C $@ $(FLAGS)
41
42./README: ./README.tmpl ./Server/tw_version.h
43 sed "s/@VERSION@/`grep "define TW_VERSION" Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g'`/g" ./README.tmpl > $@
44
45install: all ./Tool/genconf ./Tool/itworks
46 -mkdir -p $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/lib/tewi $(DESTDIR)$(PREFIX)/etc $(DESTDIR)$(PREFIX)/www
47 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
48 cp mime.types $(DESTDIR)$(PREFIX)/
49 if [ ! -e $(DESTDIR)$(PREFIX)/www/index.html ]; then ( ./Tool/itworks > $(DESTDIR)$(PREFIX)/www/index.html || ( rm $(DESTDIR)$(PREFIX)/www/index.html ; exit 1 ) ) ; fi
50 if [ ! -e $(DESTDIR)$(PREFIX)/www/pbtewi.gif ]; then ( cp Binary/pbtewi.gif $(DESTDIR)$(PREFIX)/www/ || ( rm $(DESTDIR)$(PREFIX)/www/pbtewi.gif ; exit 1 ) ) ; fi
51 -cp ./Server/tewi $(DESTDIR)$(PREFIX)/bin/
52 -cp ./Server/tewi.exe $(DESTDIR)$(PREFIX)/bin/
53 -cp ./Server/tewi.nlm $(DESTDIR)$(PREFIX)/bin/
54 -cp ./Module/*.so $(DESTDIR)$(PREFIX)/lib/tewi/
55 -cp ./Module/*.dll $(DESTDIR)$(PREFIX)/lib/tewi/
56 -cp ./Module/*.nlm $(DESTDIR)$(PREFIX)/lib/tewi/
57
58format:
59 clang-format --verbose -i `find ./Server ./Common ./Module ./Tool "(" -name "*.c" -or -name "*.h" ")" -and -not -name "strptime.*"` config.h
60
61get-version:
62 @grep "define TW_VERSION" Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g'
63
64clean:
65 $(MAKE) -C ./Server $(FLAGS) clean
66 $(MAKE) -C ./Module $(FLAGS) clean
67 $(MAKE) -C ./Common $(FLAGS) clean
68 rm -f ./Tool/option ./Tool/genconf ./Tool/itworks
Note: See TracBrowser for help on using the repository browser.