Makefile (3630B)
1 all: minit msvc pidfilehack hard-reboot write_proc killall5 shutdown \ 2 minit-update serdo ftrigger waitinterface waitport powersave # governor 3 4 #CFLAGS=-pipe -march=i386 -fomit-frame-pointer -Os -I../dietlibc/include 5 CC=gcc 6 PIE= 7 CFLAGS=-Wall -W -pipe -fomit-frame-pointer -Os $(PIE) 8 CROSS= 9 #CROSS=arm-linux- 10 LDFLAGS=-s $(PIE) 11 MANDIR=/usr/man 12 13 path = $(subst :, ,$(PATH)) 14 diet_path = $(foreach dir,$(path),$(wildcard $(dir)/diet)) 15 ifeq ($(strip $(diet_path)),) 16 ifneq ($(wildcard /opt/diet/bin/diet),) 17 DIET=/opt/diet/bin/diet 18 else 19 DIET= 20 endif 21 else 22 DIET:=$(strip $(diet_path)) 23 endif 24 25 ifneq ($(DEBUG),) 26 CFLAGS+=-g 27 LDFLAGS+=-g 28 else 29 CFLAGS+=-O2 -fomit-frame-pointer 30 LDFLAGS+=-s 31 ifneq ($(DIET),) 32 DIET+=-Os 33 endif 34 endif 35 36 ifneq ($(MINITROOT),) 37 CFLAGS+="-DMINITROOT=\"$(MINITROOT)\"" 38 else 39 MINITROOT=/etc/minit 40 endif 41 42 LDLIBS=-lowfat 43 44 libowfat_path = $(strip $(foreach dir,../libowfat*,$(wildcard $(dir)/textcode.h))) 45 ifneq ($(libowfat_path),) 46 CFLAGS+=$(foreach fnord,$(libowfat_path),-I$(dir $(fnord))) 47 LDFLAGS+=$(foreach fnord,$(libowfat_path),-L$(dir $(fnord))) 48 endif 49 50 minit: minit.o split.o openreadclose.o opendevconsole.o 51 msvc: msvc.o 52 ftrigger: ftrigger.o 53 minit-update: minit-update.o 54 serdo: serdo.o 55 waitinterface: waitinterface.o 56 waitport: waitport.o 57 powersave: powersave.o 58 governor: governor.o 59 60 sepcode: 61 echo "int main() { return 0; }" > true.c 62 if $(DIET) $(CROSS)$(CC) $(CFLAGS) $(FLAGS) -Wl,-z,noseparate-code -o true true.c ; then echo -Wl,-z,noseparate-code 2>/dev/null; fi > sepcode 63 rm -f true true.c 64 65 shutdown: shutdown.o split.o openreadclose.o opendevconsole.o sepcode 66 $(DIET) $(CROSS)$(CC) $(LDFLAGS) -o shutdown $(subst sepcode,,$^) $(shell cat sepcode) 67 68 %.o: %.c 69 $(DIET) $(CROSS)$(CC) $(CFLAGS) -c $< 70 71 %: %.o sepcode 72 $(DIET) $(CROSS)$(CC) $(LDFLAGS) -o $@ $(subst sepcode,,$^) $(LDLIBS) $(shell cat sepcode) 73 74 clean: 75 rm -f *.o minit msvc pidfilehack hard-reboot write_proc killall5 \ 76 shutdown minit-update serdo ftrigger waitinterface waitport \ 77 governor powersave sepcode 78 79 test: test.c 80 gcc -nostdlib -o $@ $^ -I../dietlibc/include ../dietlibc/start.o ../dietlibc/dietlibc.a 81 82 pidfilehack: pidfilehack.c sepcode 83 $(DIET) $(CROSS)$(CC) $(CFLAGS) -o $@ $< $(shell cat sepcode) 84 85 hard-reboot: hard-reboot.c sepcode 86 $(DIET) $(CROSS)$(CC) $(CFLAGS) -o $@ $< $(shell cat sepcode) 87 88 write_proc: write_proc.c sepcode 89 $(DIET) $(CROSS)$(CC) $(CFLAGS) -o $@ $< $(shell cat sepcode) 90 91 killall5: killall5.c sepcode 92 $(DIET) $(CROSS)$(CC) $(CFLAGS) -o $@ $< $(shell cat sepcode) 93 94 install-files: 95 install -d $(DESTDIR)$(MINITROOT) $(DESTDIR)/sbin $(DESTDIR)/bin $(DESTDIR)$(MANDIR)/man8 $(DESTDIR)$(MANDIR)/man1 96 install minit pidfilehack $(DESTDIR)/sbin 97 install write_proc hard-reboot minit-update $(DESTDIR)/sbin 98 install msvc serdo ftrigger waitinterface waitport $(DESTDIR)/bin 99 if test -f $(DESTDIR)/sbin/shutdown; then install shutdown $(DESTDIR)/sbin/mshutdown; else install shutdown $(DESTDIR)/sbin/shutdown; fi 100 test -f $(DESTDIR)/sbin/init || ln $(DESTDIR)/sbin/minit $(DESTDIR)/sbin/init 101 install -m 644 hard-reboot.8 minit-list.8 minit-shutdown.8 minit-update.8 minit.8 msvc.8 pidfilehack.8 serdo.8 $(DESTDIR)$(MANDIR)/man8 102 install -m 644 waitinterface.1 waitport.1 ftrigger.1 $(DESTDIR)$(MANDIR)/man1 103 104 install-fifos: 105 -mkfifo -m 600 $(DESTDIR)$(MINITROOT)/in $(DESTDIR)$(MINITROOT)/out 106 107 install: install-files install-fifos 108 109 VERSION=minit-$(shell head -n 1 CHANGES|sed 's/://') 110 CURNAME=$(notdir $(shell pwd)) 111 112 tar: clean rename 113 cd ..; tar cvvf $(VERSION).tar.bz2 --use=bzip2 --exclude CVS $(VERSION) 114 115 rename: 116 if test $(CURNAME) != $(VERSION); then cd .. && mv $(CURNAME) $(VERSION); fi 117 118 pie: 119 $(MAKE) all PIE=-fpie