Makefile revision 1.1
1# $NetBSD: Makefile,v 1.1 1997/10/19 11:00:51 oki Exp $ 2 3# Define all target-dependent utilities as macros in case of cross compilation. 4# These definitions can be overridden by <sys.mk> 5LD?= ld 6AS?= as 7NM?= nm 8XSTRIP?=strip 9SIZE?= size 10 11# text and bss addresses in hex 12TEXT= 3f0000 13BSS= 3f2000 14 15BOOT= xxboot 16VERSION=0.2 17 18SRCS= xxboot.S bootufs.c unzip.c 19OBJS= xxboot.o bootufs.o unzip.o 20.PATH: ${.CURDIR}/gunzip 21 22#G=-g 23#M=-m68020 -fall-bsr 24CFLAGS= -O -fomit-frame-pointer -Wall $M $G -DGZIP -DBOOT=\"$(BOOT)\" 25#LDFLAGS=-N -Bstatic -Ttext 0x$(TEXT) -Tbss 0x$(BSS) 26LDFLAGS=-n -Bstatic -T $(TEXT) 27#LDADD= -lc 28 29CLEANFILES= $(BOOT) $(BOOT).x s.x x.s x.o $(BOOT)-$(VERSION){,.tar.gz} 30 31.SUFFIXES: .S 32 33.if 0 34# saves about 60bytes... 35.c.o: 36 @echo ${CC} -fall-bsr ${CFLAGS} ${CPPFLAGS} -c ${.IMPSRC} 37 @${CC} ${CFLAGS} ${CPPFLAGS} -S ${.IMPSRC} -o x.s 38 @${CC} -c -o x.o x.s 39 @${NM} x.o | ${.CURDIR}/all_bsr.sh x.s | ${AS} -o ${.TARGET} 40 @rm -f x.s x.o 41.endif 42 43.S.o .s.o: 44 ${CPP} ${CPPFLAGS} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} | \ 45 ${AS} -o ${.TARGET} 46 47all: $(BOOT) 48 49$(BOOT): $(OBJS) 50 @echo loading $(BOOT) 51 @$(LD) $(LDFLAGS) -o $(BOOT).x $(OBJS) $(LDADD) 52 @if [ `(echo ibase=16; \ 53 $(NM) $(BOOT).x | sed -n 's/D _edata/-$(BSS)/p' | tr a-f A-F) |\ 54 bc` -gt 0 ];\ 55 then echo $(BOOT): text+data is too large; exit 1; fi 56 @cp $(BOOT).x s.x 57 @$(XSTRIP) s.x 58 @dd bs=32 skip=1 count=256 if=s.x of=$(BOOT) 2> /dev/null 59 @rm s.x 60 @$(SIZE) $(BOOT).x 61 62# 63# installation 64# 65${DESTDIR}/usr/mdec/sdboot! 66 install -c -o bin -g bin -m 444 $(BOOT) ${DESTDIR}/usr/mdec/sdboot 67 68${DESTDIR}/usr/mdec/fdboot: ${DESTDIR}/usr/mdec/sdboot 69 rm -f ${DESTDIR}/usr/mdec/fdboot 70 ln ${DESTDIR}/usr/mdec/sdboot ${DESTDIR}/usr/mdec/fdboot 71 72install: ${DESTDIR}/usr/mdec/sdboot ${DESTDIR}/usr/mdec/fdboot 73 install -c -o bin -g bin -m 755 writefdboot ${DESTDIR}/usr/mdec 74 75# make package 76dist: ${.CURDIR}/$(BOOT) 77 rm -f $(BOOT)-$(VERSION); ln -s ${.CURDIR} $(BOOT)-$(VERSION); \ 78 tar --exclude \*/$(BOOT)-$(VERSION)\* --exclude RCS --exclude tmp \ 79 --exclude obj --exclude obj.${MACHINE} \ 80 -czhf $(BOOT)-$(VERSION).tar.gz $(BOOT)-$(VERSION); \ 81 rm -f $(BOOT)-$(VERSION) ${.CURDIR}/$(BOOT) 82 83${.CURDIR}/$(BOOT): $(BOOT) 84 -ln -f $(BOOT) ${.CURDIR}/$(BOOT) 2>/dev/null 85 86.include <bsd.prog.mk> 87