Files
retrobsd/src/cmd/awk/Makefile
2022-05-26 00:50:08 -07:00

45 lines
1.1 KiB
Makefile

TOPSRC = $(shell cd ../../..; pwd)
include $(TOPSRC)/target.mk
CFLAGS += -Werror -Os
YACC = bison -y
YFLAGS = -d
LIBS = -lm -lc -lclang
FILES = awk.lx.o b.o main.o tran.o lib.o run.o parse.o proctab.o freeze.o
SOURCE = awk.def.h awk.g.y awk.lx.l b.c lib.c main.c parse.c \
proc.c freeze.c run.c tran.c
awk: $(FILES) awk.g.o
${LD} ${LDFLAGS} -o awk.elf $(FILES) awk.g.o ${LIBS}
${OBJDUMP} -S awk.elf > awk.dis
${SIZE} awk.elf
${ELF2AOUT} awk.elf $@ && rm awk.elf
y.tab.h: awk.g.o
awk.h: y.tab.h
-cmp -s y.tab.h awk.h || cp y.tab.h awk.h
$(FILES): awk.h awk.def.h
token.h: awk.h tokenscript
ex - < tokenscript
install: awk
install awk ${DESTDIR}/bin/
profile: awk.g.o $(FILES) mon.o
cc -p -i awk.g.o $(FILES) mon.o -lm
lint:
lint -spu b.c main.c tran.c run.c lib.c parse.c -lm |\
egrep -v '^(error|free|malloc)'
proctab.c: proc.c token.h awk.h
cc -std=gnu89 -Wall -Werror -o proc proc.c
./proc > proctab.c
clean:
-rm -f *.o *.tmp awk.lx.c *.out *.elf *.dis y.tab.* awk.h proc proctab.c token.h awk