| 1 |
CC = gcc |
| 2 |
OPTIMIZE = -O4 -funroll-loops |
| 3 |
LINK = $(CC) |
| 4 |
LIBS = -lm -lcrypt -lutil -lc |
| 5 |
|
| 6 |
PERLCONFIG = -Duselargefiles -Uuse64bitint -Uuse64bitall -Dusemymalloc \ |
| 7 |
-Ud_dosuid -Uusemallocwrap -Uusedl \ |
| 8 |
-Dprefix=/etc/staticperl/prefix \ |
| 9 |
-Uusethreads -Uuse5005threads -Uuseithreads -Uusemultiplicity -Umultiarch \ |
| 10 |
-Dcc="$(GCC)" -Doptimize="$(OPTIMIZE)" \ |
| 11 |
-Dlibs="$(LIBS)" |
| 12 |
|
| 13 |
CPPFLAGS = $(OPTIMIZE) -Iperl -Iinclude |
| 14 |
|
| 15 |
all: staticperl |
| 16 |
|
| 17 |
staticperl: src/main.o libstaticperl.a |
| 18 |
$(LINK) -o $@ $^ $(LIBS) |
| 19 |
|
| 20 |
libstaticperl.a: stamp.perl stdbundle.o src/common.o |
| 21 |
( \ |
| 22 |
echo CREATE $@; \ |
| 23 |
echo ADDMOD stdbundle.o src/common.o; \ |
| 24 |
echo ADDLIB perl/libperl.a; \ |
| 25 |
for ext in $$(find perl/lib/auto -name "*.a"); do \ |
| 26 |
echo ADDLIB $$ext; \ |
| 27 |
done; \ |
| 28 |
echo SAVE; \ |
| 29 |
) | $(AR) -M |
| 30 |
|
| 31 |
stdbundle.o: stdbundle.c |
| 32 |
|
| 33 |
stdbundle.c: stamp.stdbundle |
| 34 |
|
| 35 |
stamp.stdbundle: bin/staticperl-mkbundle |
| 36 |
bin/staticperl-mkbundle --bundle=main \ |
| 37 |
--dir=perl/lib --strippod --lzf --include='\.pm$$' . \ |
| 38 |
--dir=src /staticperl-boot \ |
| 39 |
--output=stdbundle.c |
| 40 |
touch stamp.stdbundle |
| 41 |
|
| 42 |
stamp.perl: stamp.perl.config |
| 43 |
(cd perl && $(MAKE)) |
| 44 |
touch stamp.perl |
| 45 |
|
| 46 |
stamp.perl.config: |
| 47 |
(cd perl && sh Configure -desO $(PERLCONFIG)) |
| 48 |
touch $@ |
| 49 |
|
| 50 |
clean: |
| 51 |
-(cd perl && $(MAKE) clean) |
| 52 |
rm -f src/*.o |
| 53 |
rm -f stamp.* |
| 54 |
rm -f stdbundle.c |
| 55 |
|