1PROG= aicasm 2 3.SUFFIXES= .l .y .c .h 4 5CSRCS= aicasm.c aicasm_symbol.c 6YSRCS= aicasm_gram.y aicasm_macro_gram.y 7LSRCS= aicasm_scan.l aicasm_macro_scan.l 8 9GENHDRS= aicdb.h $(YSRCS:.y=.h) 10GENSRCS= $(YSRCS:.y=.c) $(LSRCS:.l=.c) 11 12SRCS= ${CSRCS} ${GENSRCS} 13CLEANFILES= ${GENSRCS} ${GENHDRS} $(YSRCS:.y=.output) 14# Override default kernel CFLAGS. This is a userland app. 15AICASM_CFLAGS:= -I/usr/include -I. -ldb 16YFLAGS= -d 17 18NOMAN= noman 19 20ifneq ($(HOSTCC),) 21AICASM_CC= $(HOSTCC) 22else 23AICASM_CC= $(CC) 24endif 25 26ifdef DEBUG 27CFLAGS+= -DDEBUG -g 28YFLAGS+= -t -v 29LFLAGS= -d 30endif 31 32$(PROG): ${GENHDRS} $(SRCS) 33 $(AICASM_CC) $(AICASM_CFLAGS) $(SRCS) -o $(PROG) 34 35aicdb.h: 36 @if [ -e "/usr/include/db3/db_185.h" ]; then \ 37 echo "#include <db3/db_185.h>" > aicdb.h; \ 38 elif [ -e "/usr/include/db2/db_185.h" ]; then \ 39 echo "#include <db2/db_185.h>" > aicdb.h; \ 40 elif [ -e "/usr/include/db/db_185.h" ]; then \ 41 echo "#include <db/db_185.h>" > aicdb.h; \ 42 elif [ -e "/usr/include/db_185.h" ]; then \ 43 echo "#include <db_185.h>" > aicdb.h; \ 44 else \ 45 echo "*** Install db development libraries"; \ 46 fi 47 48clean: 49 rm -f $(CLEANFILES) $(PROG) 50 51aicasm_gram.c aicasm_gram.h: aicasm_gram.y 52 $(YACC) $(YFLAGS) -b $(<:.y=) $< 53 mv $(<:.y=).tab.c $(<:.y=.c) 54 mv $(<:.y=).tab.h $(<:.y=.h) 55 56aicasm_macro_gram.c aicasm_macro_gram.h: aicasm_macro_gram.y 57 $(YACC) $(YFLAGS) -b $(<:.y=) -p mm $< 58 mv $(<:.y=).tab.c $(<:.y=.c) 59 mv $(<:.y=).tab.h $(<:.y=.h) 60 61aicasm_scan.c: aicasm_scan.l 62 $(LEX) $(LFLAGS) -o$@ $< 63 64aicasm_macro_scan.c: aicasm_macro_scan.l 65 $(LEX) $(LFLAGS) -Pmm -o$@ $< 66