📄 makefile
字号:
cxref $(CXFLAGS) -C $<
$(BINDIR)$(PROG): $(OBJS)
$(CC) $(LDFLAGS) $(OF)$@ $(OBJS) $(LIB)
$(OBJ): $(HDR)
$(OBJ68K): $(HDR) $(HDR68K)
$(OBJX86): $(HDR) $(HDR86) $(HDRX86)
$(OBJ386): $(HDR) $(HDR386) $(HDRX86)
$(OBJ86): $(HDR) $(HDR86) $(HDRX86)
$(OBJARM): $(HDR) $(HDRASM)
$(OBJC30): $(HDR) $(HDRC30)
$(OBJPPC): $(HDR) $(HDRPPC)
$(HDR) :
# Object files common to all c68/c386 variants
$(OBJDIR)analyze$(S)$(O) : $(SRCDIR)analyze$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)analyze$(S)$(O) $(SRCDIR)analyze$(S)c
$(OBJDIR)cglbdef$(S)$(O) : $(SRCDIR)cglbdef$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)cglbdef$(S)$(O) $(SRCDIR)cglbdef$(S)c
$(OBJDIR)cmain$(S)$(O) : $(SRCDIR)cmain$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)cmain$(S)$(O) $(SRCDIR)cmain$(S)c
$(OBJDIR)decl$(S)$(O) : $(SRCDIR)decl$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)decl$(S)$(O) $(SRCDIR)decl$(S)c
$(OBJDIR)expr$(S)$(O) : $(SRCDIR)expr$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)expr$(S)$(O) $(SRCDIR)expr$(S)c
$(OBJDIR)extern$(S)$(O) : $(SRCDIR)extern$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)extern$(S)$(O) $(SRCDIR)extern$(S)c
$(OBJDIR)genicode$(S)$(O) : $(SRCDIR)genicode$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)genicode$(S)$(O) $(SRCDIR)genicode$(S)c
$(OBJDIR)geninit$(S)$(O) : $(SRCDIR)geninit$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)geninit$(S)$(O) $(SRCDIR)geninit$(S)c
$(OBJDIR)genstmt$(S)$(O) : $(SRCDIR)genstmt$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)genstmt$(S)$(O) $(SRCDIR)genstmt$(S)c
$(OBJDIR)genutil$(S)$(O) : $(SRCDIR)genutil$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)genutil$(S)$(O) $(SRCDIR)genutil$(S)c
$(OBJDIR)getsym$(S)$(O) : $(SRCDIR)getsym$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)getsym$(S)$(O) $(SRCDIR)getsym$(S)c
$(OBJDIR)init$(S)$(O) : $(SRCDIR)init$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)init$(S)$(O) $(SRCDIR)init$(S)c
$(OBJDIR)inline$(S)$(O) : $(SRCDIR)inline$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)inline$(S)$(O) $(SRCDIR)inline$(S)c
$(OBJDIR)intexpr$(S)$(O) : $(SRCDIR)intexpr$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)intexpr$(S)$(O) $(SRCDIR)intexpr$(S)c
$(OBJDIR)list$(S)$(O) : $(SRCDIR)list$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)list$(S)$(O) $(SRCDIR)list$(S)c
$(OBJDIR)memmgt$(S)$(O) : $(SRCDIR)memmgt$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)memmgt$(S)$(O) $(SRCDIR)memmgt$(S)c
$(OBJDIR)msgout$(S)$(O) : $(SRCDIR)msgout$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)msgout$(S)$(O) $(SRCDIR)msgout$(S)c
$(OBJDIR)optimize$(S)$(O) : $(SRCDIR)optimize$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)optimize$(S)$(O) $(SRCDIR)optimize$(S)c
$(OBJDIR)outgen$(S)$(O) : $(SRCDIR)outgen$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)outgen$(S)$(O) $(SRCDIR)outgen$(S)c
$(OBJDIR)stmt$(S)$(O) : $(SRCDIR)stmt$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)stmt$(S)$(O) $(SRCDIR)stmt$(S)c
$(OBJDIR)symbol$(S)$(O) : $(SRCDIR)symbol$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)symbol$(S)$(O) $(SRCDIR)symbol$(S)c
$(OBJDIR)system$(S)$(O) : $(SRCDIR)system$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)system$(S)$(O) $(SRCDIR)system$(S)c
$(OBJDIR)types$(S)$(O) : $(SRCDIR)types$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)types$(S)$(O) $(SRCDIR)types$(S)c
$(OBJDIR)gendbg$(S)$(O) : $(SRCDIR)gendbg$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)gendbg$(S)$(O) $(SRCDIR)gendbg$(S)c
$(OBJDIR)outdbg_d$(S)$(O) : $(SRCDIR)outdbg_d$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)outdbg_d$(S)$(O) $(SRCDIR)outdbg_d$(S)c
# Object files specific to Motorola 680X0 variants
$(OBJDIR)flow68k$(S)$(O) : $(SRCDIR)flow68k$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)flow68k$(S)$(O) $(SRCDIR)flow68k$(S)c
$(OBJDIR)gen68k$(S)$(O) : $(SRCDIR)gen68k$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)gen68k$(S)$(O) $(SRCDIR)gen68k$(S)c
$(OBJDIR)genffp$(S)$(O) : $(SRCDIR)genffp$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)genffp$(S)$(O) $(SRCDIR)genffp$(S)c
$(OBJDIR)genieee$(S)$(O) : $(SRCDIR)genieee$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)genieee$(S)$(O) $(SRCDIR)genieee$(S)c
$(OBJDIR)peep68k$(S)$(O) : $(SRCDIR)peep68k$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)peep68k$(S)$(O) $(SRCDIR)peep68k$(S)c
$(OBJDIR)out68k_a$(S)$(O) : $(SRCDIR)out68k_a$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)out68k_a$(S)$(O) $(SRCDIR)out68k_a$(S)c
$(OBJDIR)out68k_c$(S)$(O) : $(SRCDIR)out68k_c$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)out68k_c$(S)$(O) $(SRCDIR)out68k_c$(S)c
$(OBJDIR)out68k_g$(S)$(O) : $(SRCDIR)out68k_g$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)out68k_g$(S)$(O) $(SRCDIR)out68k_g$(S)c
$(OBJDIR)out68k_q$(S)$(O) : $(SRCDIR)out68k_q$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)out68k_q$(S)$(O) $(SRCDIR)out68k_q$(S)c
$(OBJDIR)reg68k$(S)$(O) : $(SRCDIR)reg68k$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)reg68k$(S)$(O) $(SRCDIR)reg68k$(S)c
# Object files specific to INTEL variants
$(OBJDIR)peepx86$(S)$(O) : $(SRCDIR)peepx86$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)peepx86$(S)$(O) $(SRCDIR)peepx86$(S)c
$(OBJDIR)regx86$(S)$(O) : $(SRCDIR)regx86$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)regx86$(S)$(O) $(SRCDIR)regx86$(S)c
$(OBJDIR)outx86_a$(S)$(O) : $(SRCDIR)outx86_a$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)outx86_a$(S)$(O) $(SRCDIR)outx86_a$(S)c
$(OBJDIR)outx86_b$(S)$(O) : $(SRCDIR)outx86_b$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)outx86_b$(S)$(O) $(SRCDIR)outx86_b$(S)c
$(OBJDIR)outx86_g$(S)$(O) : $(SRCDIR)outx86_g$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)outx86_g$(S)$(O) $(SRCDIR)outx86_g$(S)c
$(OBJDIR)outx86_n$(S)$(O) : $(SRCDIR)outx86_n$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)outx86_n$(S)$(O) $(SRCDIR)outx86_n$(S)c
$(OBJDIR)outx86_s$(S)$(O) : $(SRCDIR)outx86_s$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)outx86_s$(S)$(O) $(SRCDIR)outx86_s$(S)c
# Object files specific to INTEL 386 variants
$(OBJDIR)gen386$(S)$(O) : $(SRCDIR)gen386$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)gen386$(S)$(O) $(SRCDIR)gen386$(S)c
# Object files specific to INTEL 86 variants
$(OBJDIR)gen86$(S)$(O) : $(SRCDIR)gen86$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)gen86$(S)$(O) $(SRCDIR)gen86$(S)c
# Object files specific to ARM variants
$(OBJDIR)genarm$(S)$(O) : $(SRCDIR)genarm$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)genarm$(S)$(O) $(SRCDIR)genarm$(S)c
$(OBJDIR)peeparm$(S)$(O) : $(SRCDIR)peeparm$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)peeparm$(S)$(O) $(SRCDIR)peeparm$(S)c
$(OBJDIR)outarm_a$(S)$(O) : $(SRCDIR)outarm_a$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)outarm_a$(S)$(O) $(SRCDIR)outarm_a$(S)c
$(OBJDIR)outarm_o$(S)$(O) : $(SRCDIR)outarm_o$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)outarm_o$(S)$(O) $(SRCDIR)outarm_o$(S)c
$(OBJDIR)regarm$(S)$(O) : $(SRCDIR)regarm$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)regarm$(S)$(O) $(SRCDIR)regarm$(S)c
# Object files specific to TI TMS320C30 versions
$(OBJDIR)flowc30$(S)$(O) : $(SRCDIR)flowc30$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)flowc30$(S)$(O) $(SRCDIR)flowc30$(S)c
$(OBJDIR)genc30$(S)$(O) : $(SRCDIR)genc30$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)genc30$(S)$(O) $(SRCDIR)genc30$(S)c
$(OBJDIR)peepc30$(S)$(O) : $(SRCDIR)peepc30$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)peepc30$(S)$(O) $(SRCDIR)peepc30$(S)c
$(OBJDIR)outc30_r$(S)$(O) : $(SRCDIR)outc30_r$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)outc30_r$(S)$(O) $(SRCDIR)outc30_r$(S)c
$(OBJDIR)regc30$(S)$(O) : $(SRCDIR)regc30$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)regc30$(S)$(O) $(SRCDIR)regc30$(S)c
# Object files specific to PowerPC versions
$(OBJDIR)genppc$(S)$(O) : $(SRCDIR)genppc$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)genppc$(S)$(O) $(SRCDIR)genppc$(S)c
$(OBJDIR)peepppc$(S)$(O) : $(SRCDIR)peepppc$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)peepppc$(S)$(O) $(SRCDIR)peepppc$(S)c
$(OBJDIR)outppc$(S)$(O) : $(SRCDIR)outppc$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)outppc$(S)$(O) $(SRCDIR)outppc$(S)c
$(OBJDIR)regppc$(S)$(O) : $(SRCDIR)regppc$(S)c
$(CC) $(CFLAGS) $(OF)$(OBJDIR)regppc$(S)$(O) $(SRCDIR)regppc$(S)c
clobber: clean
-$(RM) $(PROG)
-$(RM) *$(S)exe
-$(RM) *$(S)img
clean:
-$(RM) *$(S)cx
-$(RM) *$(S)ln
-$(RM) $(OBJDIR)*$(S)$(O)
-$(RM) $(OBJDIR)*$(S)i
-$(RM) $(OBJDIR)*$(S)s
-$(RM) *$(S)uue
-$(RM) *$(S)rs?
-$(RM) *$(S)rzc
#------------------------------------------------------------------------------
# Source code diagnostic tools
lint: $(LNS)
lint $(LNS)
lclint:
lclint $(SRC)
pclint:
lin $(SRC)
# Use PCLINT with settings appropriate to QDOS/SMS systems
qllint:
lint-nt ql.lnt c68.lnt
cxref: $(CXS)
cxref $(CXFLAGS) -c $(CXS)
#------------------------------------------------------------------------------
# Special section to handle building programs
# under the SIBO SDK (TopSpeed) compiler on DOS
# This uses completely different syntax to virtually
# all the other options.
TSOBJS =$(OBJ) $(OBJX86) $(OBJ86)
sibo: c86check.img c86code.img
c86code: c86code.img
c86check: c86check.img
c86check.img : checkok c86.rss $(TSOBJS)
tsc /m c86
copy c86.img c86check.img
c86code.img : codeok c86.rss $(TSOBJS)
tsc /m c86
copy c86.img c86code.img
checkok:
config config.chk
codeok:
config config.gen
c86.rss : c86.c message.h config.h
$(RM) c86.i
$(RM) c86.rss
tsc c86.c /option(pre_proc=on) /zq
mv c86.i c86.rss
rcomp16 c86.rss
rchuf hwim -v -ic86.rsc
#------------------------------------------------------------------------------
# reformat source files to ensure consistant style
indent:
@for file in $(SRC) $(SRC68K) $(SRCX86) $(SRC386) \
$(SRC86) $(SRCARM) $(SRCC30) $(SRCPPC) \
$(HDR) $(HDR68K) $(HDRX86) $(HDR386) $(HDR86) \
$(HDRARM) $(HDRC30) $(HDRPPC) ; do \
echo $$file:; \
indent $(INDENTFLAGS) $$file && rm $$file~; \
done
#------------------------------------------------------------------------------
# build the whole compiler as one huge .c file. This can make the
# resulting binary smaller on some systems.
c68s: $(SRC) $(HDR) $(HDR68K)
$(CC) $(CFLAGS) $(LDFLAGS) $(OF)$@ cmains$(S)c $(LIB)
#------------------------------------------------------------------------------
# updating david via email
david: zip
uuencode $(PROG)src$(S)zip $(PROG)src$(S)zip \
| mail -s "Latest $(PROG)" d.j.walker@x400.icl.co.uk
rm -f $(PROG)src$(S)zip
#------------------------------------------------------------------------------
# putting source on floppy to take home
home:
tar cvf /var/tmp/$(PROG)$(S)tar \
Makefile $(SRCSIBO) $(SRCEPOC) $(SRCLINT) \
$(SRC) $(SRC68K) $(SRCX86) $(SRC386) $(SRC86) $(SRCARM) $(SRCC30) \
$(SRCPPC) $(SRCEXTR) \
$(HDR) $(HDR68K) $(HDRX86) $(HDR386) $(HDR86) $(HDRARM) $(HDRC30) \
$(HDRPPC)
gzip /var/tmp/$(PROG)$(S)tar
rcp /var/tmp/$(PROG)$(S)tar$(S)gz melody:/var/tmp/$(PROG)$(S)tgz
rm /var/tmp/$(PROG)$(S)tar$(S)gz
rsh melody dd if=/var/tmp/$(PROG)$(S)tgz of=/dev/rdsk/f03ht bs=18k
rsh melody rm /var/tmp/$(PROG)$(S)tgz
#------------------------------------------------------------------------------
# putting source on floppy
floppy:
tar zcvf /dev/fd0 \
Makefile $(SRCSIBO) $(SRCEPOC) $(SRCLINT) \
$(SRC) $(SRC68K) $(SRCX86) $(SRC386) $(SRC86) $(SRCARM) $(SRCC30) \
$(SRCPPC) $(SRCEXTR) \
$(HDR) $(HDR68K) $(HDRX86) $(HDR386) $(HDR86) $(HDRARM) $(HDRC30) \
$(HDRPPC)
#------------------------------------------------------------------------------
# putting source on 720K floppies to transfer to Atari ST minix system
floppy720:
tar cvf /dev/fd0 [a-fh-o]??*$(S)c ???*$(S)h c86$(S)*
@echo -n "Insert 2nd diskette:"; read DUMMY
tar cvf /dev/fd0 [g]??*$(S)c
@echo -n "Insert 3nd diskette:"; read DUMMY
tar cvf /dev/fd0 [p-z]??*$(S)c
#------------------------------------------------------------------------------
# creating a uuencoded gziped tar archive
tar:
tar cvf $(PROG)$(S)tar Makefile $(SRCSIBO) $(SRCEPOC) $(SRCLINT) \
$(SRC) $(SRC68K) $(SRCX86) $(SRC386) $(SRC86) $(SRCARM) $(SRCC30) \
$(SRCPPC) $(SRCEXTR) \
$(HDR) $(HDR68K) $(HDRX86) $(HDR386) $(HDR86) $(HDRARM) $(HDRC30) \
$(HDRPPC)
gzip $(PROG)$(S)tar
uuencode $(PROG)$(S)tar$(S)gz $(PROG)$(S)tgz >$(PROG)$(S)uue
rm -f $(PROG)$(S)tar$(S)gz
#------------------------------------------------------------------------------
# creating a zip archive
zip:
zip $(PROG)src$(S)zip Makefile $(SRCSIBO) $(SRCEPOC) $(SRCLINT) \
$(SRC) $(SRC68K) $(SRCX86) $(SRC386) $(SRC86) $(SRCARM) $(SRCC30) \
$(SRCPPC) $(SRCEXTR) \
$(HDR) $(HDR68K) $(HDRX86) $(HDR386) $(HDR86) $(HDRARM) $(HDRC30) \
$(HDRPPC)
#------------------------------------------------------------------------------
# creating a zip archive
winzip:
wzzip $(PROG)src$(S)zip Makefile $(SRCSIBO) $(SRCEPOC) $(SRCLINT) \
$(SRC) $(SRC68K) $(SRCX86) $(SRC386) $(SRC86) $(SRCARM) $(SRCC30) \
$(SRCPPC) $(SRCEXTR) \
$(HDR) $(HDR68K) $(HDRX86) $(HDR386) $(HDR86) $(HDRARM) $(HDRC30) \
$(HDRPPC)
#------------------------------------------------------------------------------
# creating a pkzip archive
# (because of limitations on command line length
# we have to build up the archive in bits!)
pkzip:
pkzip $(PROG)src$(S)zip Makefile $(SRC1)
pkzip $(PROG)src$(S)zip $(SRC2)
pkzip $(PROG)src$(S)zip $(SRC3)
pkzip $(PROG)src$(S)zip $(SRC4)
pkzip $(PROG)src$(S)zip $(SRC68K)
pkzip $(PROG)src$(S)zip $(SRCX86)
pkzip $(PROG)src$(S)zip $(SRC386)
pkzip $(PROG)src$(S)zip $(SRC86)
pkzip $(PROG)src$(S)zip $(SRCARM)
pkzip $(PROG)src$(S)zip $(SRCC30)
pkzip $(PROG)src$(S)zip $(SRCPPC)
pkzip $(PROG)src$(S)zip $(SRCEXTR)
pkzip $(PROG)src$(S)zip $(SRCSIBO)
pkzip $(PROG)src$(S)zip $(SRCEPOC)
pkzip $(PROG)src$(S)zip $(SRCLINT)
pkzip $(PROG)src$(S)zip $(HDR)
pkzip $(PROG)src$(S)zip $(HDR68K)
pkzip $(PROG)src$(S)zip $(HDRX86)
pkzip $(PROG)src$(S)zip $(HDR386)
pkzip $(PROG)src$(S)zip $(HDR86)
pkzip $(PROG)src$(S)zip $(HDRARM)
pkzip $(PROG)src$(S)zip $(HDRC30)
pkzip $(PROG)src$(S)zip $(HDRPPC)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -