--- pgp/src/makefile.unx 2018/04/24 16:38:22 1.1.1.2 +++ pgp/src/makefile.unx 2018/04/24 16:39:58 1.1.1.4 @@ -25,9 +25,6 @@ # -DUSE_SELECT to use select() system call # -DUSE_NBIO to use non-blocking read() -# To define the OS we are compiling under, define one of: -# -DMSDOS, -DUNIX, -DVMS, -DATARI, -DAMIGA - CFLAGS= -O -DUNIX -DPORTABLE $(BYTEORDER) # must set byte order for targets "sysv" and "bsd" @@ -35,16 +32,19 @@ CFLAGS= -O -DUNIX -DPORTABLE $(BYTEORDER CC = cc LD = cc # Link command -LDFLAGS = # Flags for linker +LDFLAGS = CPP = $(CC) -E +DBG = -O + +# uncomment this for old versions of make +#MAKE = make -ASM = $(CC) # Assembler command -ASMFLAGS = -c # Flags for assembler +ASM = $(CC) -c # Assembler command OBJS_EXT= # ASM obj. files LIBS_EXT= # Libararies -PROJ =pgp$E +PROJ =pgp default: @echo "type:" @@ -53,8 +53,9 @@ default: @echo "where can be:" @echo " sun4gcc, sun4cc(*), sun3gcc, sun3asm, sun3cc(*), sun386i, sunspc," @echo " sysv_386, sco-2.0, x286(*), hpux, linux, mips-ultrix, vax-ultrix," - @echo " os2, mach_386, 386bsd, isc, isc_asm, 3b1, 3b1_asm, rs6000," - @echo " bsd, vax_bsd43, rt_aos4, osf, sgigcc_asm, sgigcc, irix" + @echo " xenix386, mach_386, 386bsd, isc, isc_asm, 3b1, 3b1_asm, rs6000," + @echo " bsd, bsdgcc, vax_bsd43, rt_aos4, osf, sgigcc_asm, sgigcc, irix" + @echo " newsgcc, newsasm, aux(*), aux-gcc, os2, djgpp" @echo "" @echo "for targets marked with (*) you must first get unproto, see" @echo "setup.doc for further details" @@ -62,21 +63,49 @@ default: all: $(PROJ) -80386.o: 80386.S - $(CPP) 80386.S > _80386.s - $(ASM) $(ASMFLAGS) _80386.s -o $@ +# RSAOBJS = rsa.o nn.o digit.o r_random.o r_stdlib.o + +rsaref: $(RSAOBJS) + +RSADIR = ../../rsaref/source/ + +rsa.o: $(RSADIR)rsa.c global.h $(RSADIR)rsaref.h $(RSADIR)r_random.h \ + $(RSADIR)md5.h + $(CC) -c -I$(RSADIR) -I. $(CFLAGS) -Dstatic= $(RSADIR)rsa.c + +nn.o : $(RSADIR)nn.c global.h $(RSADIR)rsaref.h \ + $(RSADIR)nn.h $(RSADIR)digit.h + $(CC) -c -I$(RSADIR) -I. $(CFLAGS) $(RSADIR)nn.c + +digit.o : $(RSADIR)digit.c global.h $(RSADIR)rsaref.h $(RSADIR)nn.h \ + $(RSADIR)digit.h + $(CC) -c -I$(RSADIR) -I. $(CFLAGS) $(RSADIR)digit.c + +r_random.o : $(RSADIR)r_random.c global.h $(RSADIR)rsaref.h \ + $(RSADIR)r_random.h $(RSADIR)md5.h + $(CC) -c -I$(RSADIR) -I. $(CFLAGS) $(RSADIR)r_random.c + +r_stdlib.o : $(RSADIR)r_stdlib.c global.h $(RSADIR)rsaref.h + $(CC) -c -I$(RSADIR) -I. $(CFLAGS) $(RSADIR)r_stdlib.c + +_80386.o: 80386.S + $(CPP) $(ASMDEF) 80386.S > _80386.s + $(ASM) -o $@ _80386.s rm -f _80386.s 8086.o: 8086.asm cp 8086.asm 8086.s - $(ASM) $(ASMFLAGS) 8086.s + $(ASM) -o $@ 8086.s rm -f 8086.s -zmatch.o: zmatch.S - $(CPP) zmatch.S > _zmatch.s - $(ASM) $(ASMFLAGS) _zmatch.s -o $@ +_zmatch.o: zmatch.S + $(CPP) $(ASMDEF) zmatch.S > _zmatch.s + $(ASM) -o $@ _zmatch.s rm -f _zmatch.s +#mc68020.o: +# $(CC) -c mc68020.S + ZIPOBJS= zbits.o zdeflate.o zfile_io.o zglobals.o \ zinflate.o zip.o zipup.o ztrees.o zunzip.o @@ -84,43 +113,43 @@ OBJ1 = pgp.o crypto.o keymgmt.o fileio.o mdfile.o more.o armor.o mpilib.o mpiio.o \ genprime.o rsagen.o random.o idea.o passwd.o \ md5.o system.o language.o getopt.o keyadd.o \ - config.o keymaint.o charset.o + config.o keymaint.o charset.o rsaglue.o -OBJS = $(OBJ1) $(ZIPOBJS) $(OBJS_EXT) +OBJS = $(OBJ1) $(ZIPOBJS) $(OBJS_EXT) $(RSAOBJS) $(PROJ): $(OBJS) - $(LD) $(OBJS) -o $(PROJ) $(LDFLAGS) $(LIBS_EXT) + $(LD) -o $(PROJ) $(OBJS) $(LDFLAGS) $(LIBS_EXT) linux: - $(MAKE) all CC=gcc LD=gcc OBJS_EXT="80386.o zmatch.o" \ + $(MAKE) all CC=gcc LD=gcc OBJS_EXT="_80386.o _zmatch.o" \ CFLAGS="-O -DUNIX -DIDEA32 -DASM" 386bsd: - $(MAKE) all CC=gcc LD=gcc OBJS_EXT="80386.o zmatch.o" \ + $(MAKE) all CC=gcc LD=gcc OBJS_EXT="_80386.o _zmatch.o" \ CFLAGS="-O -DUNIX -DIDEA32 -DASM -DMAX_NAMELEN=255" # Sun 3 with gcc +# change -traditional-cpp to -traditional for gcc < 2.0 sun3gcc: $(MAKE) all CC=gcc LD=gcc \ - CFLAGS="-O -DUNIX -DHIGHFIRST -DIDEA32 -DPORTABLE -DMPORTABLE" + CFLAGS="-O -traditional-cpp -DUNIX -DHIGHFIRST -DIDEA32 -DPORTABLE" -# mc68020.s can also be used without -DMPORTABLE, but this needs some -# changes in mpilib.c, see comments in mc68020.s sun3asm: - $(MAKE) all CC=gcc LD=gcc OBJS_EXT=mc68020.s \ - CFLAGS="-O -DUNIX -DHIGHFIRST -DIDEA32 -DUNIT32 -DMPORTABLE" + $(MAKE) all CC=gcc LD=gcc OBJS_EXT=mc68020.o \ + CFLAGS="-O -traditional-cpp -DUNIX -DHIGHFIRST -DIDEA32" # Sun 3 with standard cc: compile with unproto sun3cc: unproto/cpp $(MAKE) all CC=cc LD=cc \ - CFLAGS="-Qpath unproto -O -DUNIX -DHIGHFIRST -DIDEA32 -DPORTABLE -DMPORTABLE" + CFLAGS="-Qpath unproto -O -DUNIX -DHIGHFIRST -DIDEA32 -DPORTABLE" # Sun 4 SPARC with gcc (tested with gcc 1.39 and newer, sparc.s can not be used # with older versions of gcc) +# change -traditional-cpp to -traditional for gcc < 2.0 sun4gcc: $(MAKE) all CC=gcc LD=gcc OBJS_EXT=sparc.o \ - CFLAGS="-O -fpcc-struct-return -DUNIX -DHIGHFIRST -DIDEA32" + CFLAGS="-O -traditional-cpp -DUNIX -DHIGHFIRST -DIDEA32" # Sun 4 SPARC with standard cc: compile with unproto sun4cc: unproto/cpp @@ -128,7 +157,7 @@ sun4cc: unproto/cpp CFLAGS="-Qpath unproto -O -DUNIX -DHIGHFIRST -DIDEA32" sun386i: - $(MAKE) all CC=gcc LD=gcc OBJS_EXT=80386.o \ + $(MAKE) all CC=gcc LD=gcc OBJS_EXT=_80386.o \ CFLAGS="-O -DUNIX -DIDEA32" sunspc: @@ -136,31 +165,46 @@ sunspc: CFLAGS="-O -DUNIX -DIDEA32 -DHIGHFIRST -DUNIT32 -DMERRITT" \ OBJS_EXT=sparc.o +# Sony newsos v3 for m68k, with gcc +# change -traditional-cpp to -traditional for gcc < 2.0 +newsgcc: + $(MAKE) all CC=gcc LD=gcc \ + CFLAGS="-O -I. -traditional-cpp -DNOTERMIO -D_BSD -DUNIX -DHIGHFIRST -DIDEA32 -DPORTABLE" + +# with asm +newsasm: + $(MAKE) all CC=gcc LD=gcc OBJS_EXT=mc68020.s \ + CFLAGS="-O -I. -traditional-cpp -DNOTERMIO -D_BSD -DUNIX -DHIGHFIRST -DIDEA32" + sysv: $(MAKE) all CPP=/lib/cpp \ - CFLAGS="-O -DUNIX -DPORTABLE -DMPORTABLE -DUSE_NBIO $(BYTEORDER)" + CFLAGS="-O -DUNIX -DPORTABLE -DUSE_NBIO $(BYTEORDER)" # optimized version with 80386.S sysv_386: - $(MAKE) all CPP=/lib/cpp OBJS_EXT="80386.o zmatch.o" \ - CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO -DASM" ASMFLAGS=-DSYSV + $(MAKE) all CPP="/lib/cpp -DSYSV" OBJS_EXT="_80386.o _zmatch.o" \ + CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO -DASM" + +xenix386: + $(MAKE) all CPP=/lib/cpp OBJS_EXT="_80386.o _zmatch.o" \ + CFLAGS="-O -DUNIX -DSVR2 -DIDEA32 -DUSE_NBIO -DASM" # Interactive Unix SVR3/386 version 3.2 with gcc isc: $(MAKE) all CC=gcc LD=gcc LDFLAGS="-lcposix" \ - CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO -DPORTABLE -DMPORTABLE" + CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO -DPORTABLE -DNO_ITIMER" isc_asm: - $(MAKE) all CC=gcc LD=gcc OBJS_EXT=80386.o \ - CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO" LDFLAGS="-lcposix" + $(MAKE) all CC=gcc LD=gcc OBJS_EXT=_80386.o ASMDEF=-DSYSV \ + CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO -DNO_ITIMER" LDFLAGS="-lcposix" mach_386: - $(MAKE) all CC=gcc LD=gcc CPP=/lib/cpp OBJS_EXT=80386.o \ + $(MAKE) all CC=gcc LD=gcc CPP=/lib/cpp OBJS_EXT=_80386.o \ CFLAGS="-O -I. -DMACH -DUNIX -DIDEA32 -DNOTERMIO" sco-2.0: - $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/xcpp OBJS_EXT=80386.o \ - CFLAGS="-Dsco -O -DUNIX -DIDEA32 -DUSE_NBIO" + $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/xcpp OBJS_EXT=_80386.o \ + ASMDEF=-DSYSV CFLAGS="-Dsco -O -DUNIX -DIDEA32 -DUSE_NBIO" # Xenix 286 x286: @@ -169,9 +213,19 @@ x286: CFLAGS="-LARGE -Ot -DUNIX -DNOPROTO -DSMALL_MEM -DDYN_ALLOC \ -DUSE_NBIO -DSVR2" +# AIX/386 v.1.3 +aix386: + $(MAKE) all CPP="/lib/cpp -DSYSV" \ + CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO -DSYSV -DPORTABLE" + +# AIX/370 (like general SysV) +aix370: + $(MAKE) all CPP=/lib/cpp \ + CFLAGS="-O -DUNIX -DIDEA32 -DUSE_NBIO -DSYSV -DHIGHFIRST -DPORTABLE" + 3b1: $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp \ - CFLAGS="-O -I. -DUNIX -DSVR2 -DPORTABLE -DMPORTABLE -DUSE_NBIO -DHIGHFIRST" + CFLAGS="-O -I. -DUNIX -DSVR2 -DPORTABLE -DUSE_NBIO -DHIGHFIRST" 3b1_asm: $(MAKE) all CC=gcc LD=gcc CPP=/usr/lib/cpp OBJS_EXT=3B1_68010.o \ @@ -193,14 +247,14 @@ irix: hpux: $(MAKE) all CPP=/usr/lib/cpp \ - CFLAGS="+DA1.0 -Aa +O3 Obb5000 -D_INCLUDE_POSIX_SOURCE \ + CFLAGS="-Aa +O3 +Obb5000 -D_INCLUDE_POSIX_SOURCE \ -D_INCLUDE_HPUX_SOURCE -D_INCLUDE_XOPEN_SOURCE -DHIGHFIRST -DUNIX \ - -DMPORTABLE -DPORTABLE -DUSE_NBIO -DIDEA32" + -DPORTABLE -DUSE_SELECT -DIDEA32 -DMERRITT" # VAX Ultrix 4.2 BSD rev. 96, system #3 with gcc vax-ultrix: $(MAKE) all CC=gcc LD=gcc \ - CFLAGS="-O -DUNIX -DPORTABLE -DMPORTABLE -DUSE_SELECT \ + CFLAGS="-O -DUNIX -DPORTABLE -DUSE_SELECT \ -DSIG_IGN=1 -DSIG_DFL=0" # DEC Ultrix 4.2 BSD with gcc with MIPSco processors @@ -212,46 +266,68 @@ vax-ultrix: # mips-ultrix: $(MAKE) all CC=gcc LD=gcc OBJS_EXT="r3kd.o r3000.o"\ - CFLAGS="-O -DUNIX -DUSE_SELECT -DIDEA32" + CFLAGS="$(DBG) -DUNIX -DUSE_SELECT -DIDEA32" # RS6000 running AIX rs6000: - $(MAKE) all CFLAGS="-O -DUNIX -DUSE_NBIO -DPORTABLE \ - -DHIGHFIRST -DIDEA32" + $(MAKE) all CFLAGS="-O -DUNIX -DNOTERMIO -DPORTABLE \ + -DMODERN -DHIGHFIRST -DIDEA32" next: $(MAKE) all \ - CFLAGS="-O -DNEXT -DUNIX -DHIGHFIRST -DBSD -DPORTABLE -DMPORTABLE -DNOTERMIO" + CFLAGS="-O -DNEXT -DUNIX -DHIGHFIRST -DMACH -DPORTABLE -DNOTERMIO" + +bsdgcc: + $(MAKE) all CC=gcc LD=gcc \ + CFLAGS="-O -I. -DNOTERMIO -D_BSD -DUNIX -DPORTABLE -DUSE_NBIO $(BYTEORDER)" bsd: $(MAKE) all "LD=cc -s" \ - CFLAGS="-O -I. -B/lib/ -DNOTERMIO -DBSD -DUNIX -DPORTABLE -DMPORTABLE -DUSE_NBIO $(BYTEORDER)" + CFLAGS="-O -I. -B/lib/ -DNOTERMIO -D_BSD -DUNIX -DPORTABLE -DUSE_NBIO $(BYTEORDER)" sequent: unproto/cpp $(MAKE) all "LD=cc -s -j" CPP=/usr/lib/cpp \ - CFLAGS="-j -O -I. -Yp,unproto -DUNIX -DNOTERMIO -DPORTABLE -DMPORTABLE -DUSE_NBIO $(BYTEORDER)" + CFLAGS="-j -O -I. -Yp,unproto -DUNIX -DNOTERMIO -DPORTABLE -DUSE_NBIO $(BYTEORDER)" # RT running bsd with gcc rt_aos4: $(MAKE) all CC=gcc LD=gcc \ - CFLAGS="-O -DUNIX -DBSD -DPORTABLE -DMPORTABLE -DHIGHFIRST -DNOTERMIO -I." + CFLAGS="-O -DUNIX -D_BSD -DMAX_NAMELEN=255 -DPORTABLE -DHIGHFIRST -DNOTERMIO -I." # Vax running bsd with gcc vax_bsd43: $(MAKE) all CC=gcc LD=gcc \ - CFLAGS="-O -I. -DUNIX -DBSD -DNOTERMIO -DPORTABLE -DMPORTABLE" + CFLAGS="-O -I. -DUNIX -D_BSD -DMAX_NAMELEN=255 -DNOTERMIO -DPORTABLE" # The Open Software Foundation's OSF/1 osf: $(MAKE) all \ - CFLAGS="-O -I. -D_BSD -DUNIX -DNOTERMIO -DPORTABLE -DMPORTABLE $(BYTEORDER)" + CFLAGS="-O -I. -D_BSD -DUNIX -DNOTERMIO -DPORTABLE $(BYTEORDER)" + +# A/UX 3.0 using unproto (mine is invoked as a cpp using the CFLAGS shown +# I placed the cpp in a subdirectory of /src/pgp called unproto +aux: unproto/cpp + $(MAKE) all CC=cc \ + LDFLAGS=-lposix \ + CFLAGS="-B unproto/ -tp -DSVR2 \ + -DHIGHFIRST -DUNIX -DPORTABLE -DUSE_SELECT -DUPTON" +aux-gcc: + $(MAKE) all CC=gcc LD=gcc \ + LDFLAGS=-lposix \ + CFLAGS="-O2 -DSVR2 -traditional-cpp \ + -DHIGHFIRST -DUNIX -DPORTABLE -DUSE_SELECT -DUPTON" # optimized version with 80386.S for emx 0.8e, OS/2 2.0 or DOS os2: - $(MAKE) all E=.exe OBJS_EXT="80386.o zmatch.o" \ - CC="gcc" CFLAGS="-O -DOS2 -DASM -DIDEA32" \ - ASM="gcc" ASMFLAGS="-c -x assembler" \ - LD="gcc" LDFLAGS="pgp.def" + $(MAKE) all PROJ=pgp.exe OBJS_EXT="_80386.o _zmatch.o" \ + CC="gcc -Zomf" CFLAGS="-O -DOS2 -DASM -DIDEA32" \ + ASM="gcc -Zomf -c" LD="gcc" LDFLAGS="-s pgp.def" + +# DJGPP, DJ Delorie's port of GNU C to MS-DOA (thanks DJ!). Tested with dmake. +# You may have to rehack this -- I'm not good with makefiles. +djgpp: + $(MAKE) "OBJS_EXT=80386.o zmatch.o" CC=gcc LD=gcc \ + "CFLAGS=-O2 -DSMALL_MEM -DASM -DIDEA32" all # # unproto for K&R compilers @@ -278,42 +354,52 @@ tags: ## Dependencies ## armor.o : armor.c mpilib.h usuals.h platform.h fileio.h mpiio.h language.h \ - pgp.h -charset.o : charset.c usuals.h language.h fileio.h -config.o : config.c usuals.h fileio.h pgp.h + pgp.h more.h armor.h crypto.h +charset.o : charset.c usuals.h language.h charset.h system.h +config.o : config.c usuals.h fileio.h pgp.h more.h armor.h config.h \ + charset.h crypto.o : crypto.c mpilib.h usuals.h platform.h mpiio.h random.h idea.h \ - crypto.h keymgmt.h mdfile.h md5.h fileio.h language.h pgp.h + crypto.h keymgmt.h keymaint.h mdfile.h md5.h fileio.h charset.h language.h \ + pgp.h more.h armor.h exitpgp.h zipup.h rsaglue.h fileio.o : fileio.c random.h usuals.h mpilib.h platform.h mpiio.h fileio.h \ - language.h pgp.h + language.h pgp.h more.h armor.h exitpgp.h charset.h system.h genprime.o : genprime.c mpilib.h usuals.h platform.h genprime.h random.h -getopt.o : getopt.c +getopt.o : getopt.c getopt.h idea.o : idea.c idea.h usuals.h -keyadd.o : keyadd.c mpilib.h usuals.h platform.h idea.h random.h crypto.h \ - fileio.h keymgmt.h genprime.h rsagen.h mpiio.h language.h pgp.h +keyadd.o : keyadd.c mpilib.h usuals.h platform.h crypto.h fileio.h \ + keymgmt.h charset.h language.h pgp.h more.h armor.h exitpgp.h keyadd.h \ + keymaint.h keymaint.o : keymaint.c mpilib.h usuals.h platform.h random.h crypto.h \ - fileio.h keymgmt.h mpiio.h language.h pgp.h -keymgmt.o : keymgmt.c mpilib.h usuals.h platform.h idea.h random.h crypto.h \ - fileio.h keymgmt.h genprime.h rsagen.h mpiio.h language.h pgp.h md5.h -language.o : language.c usuals.h fileio.h language.h pgp.h + fileio.h keymgmt.h keymaint.h mpiio.h charset.h language.h pgp.h more.h \ + armor.h +keymgmt.o : keymgmt.c system.h mpilib.h usuals.h platform.h idea.h random.h \ + crypto.h fileio.h keymgmt.h rsagen.h mpiio.h language.h pgp.h more.h \ + armor.h md5.h charset.h keymaint.h +language.o : language.c usuals.h fileio.h language.h pgp.h more.h armor.h \ + charset.h md5.o : md5.c md5.h mdfile.o : mdfile.c mpilib.h usuals.h platform.h mdfile.h md5.h fileio.h \ - language.h pgp.h -more.o : more.c mpilib.h usuals.h platform.h language.h fileio.h pgp.h -mpiio.o : mpiio.c mpilib.h usuals.h platform.h mpiio.h pgp.h -mpilib.o : mpilib.c mpilib.h usuals.h platform.h -passwd.o : passwd.c random.h usuals.h md5.h language.h pgp.h -pgp.o : pgp.c mpilib.h usuals.h platform.h random.h crypto.h fileio.h \ - keymgmt.h language.h pgp.h -random.o : random.c random.h usuals.h language.h + language.h pgp.h more.h armor.h +more.o : more.c system.h mpilib.h usuals.h platform.h language.h fileio.h \ + pgp.h more.h armor.h charset.h +mpiio.o : mpiio.c mpilib.h # usuals.h platform.h mpiio.h pgp.h more.h armor.h +mpilib.o : mpilib.c mpilib.h # usuals.h platform.h +passwd.o : passwd.c random.h usuals.h md5.h language.h pgp.h more.h armor.h +pgp.o : pgp.c system.h mpilib.h usuals.h platform.h random.h crypto.h \ + fileio.h keymgmt.h language.h pgp.h more.h armor.h exitpgp.h charset.h \ + getopt.h config.h keymaint.h keyadd.h rsaglue.h +random.o : random.c system.h random.h usuals.h language.h rsagen.o : rsagen.c mpilib.h usuals.h platform.h genprime.h rsagen.h \ - random.h -system.o : system.c + random.h rsaglue.h +rsaglue.o : rsaglue.c mpilib.h mpiio.h pgp.h rsaglue.h +system.o : system.c exitpgp.h system.h charset.h zbits.o : zbits.c zip.h ztailor.h ziperr.h -zdeflate.o : zdeflate.c zip.h ztailor.h ziperr.h -zfile_io.o : zfile_io.c zunzip.h +zdeflate.o : zdeflate.c zunzip.h usuals.h system.h zip.h ztailor.h ziperr.h +zfile_io.o : zfile_io.c zunzip.h usuals.h system.h zglobals.o : zglobals.c zip.h ztailor.h ziperr.h -zinflate.o : zinflate.c zunzip.h -zip.o : zip.c usuals.h fileio.h language.h pgp.h +zinflate.o : zinflate.c zunzip.h usuals.h system.h exitpgp.h +zip.o : zip.c usuals.h fileio.h language.h pgp.h more.h armor.h exitpgp.h zipup.o : zipup.c zip.h ztailor.h ziperr.h zrevisio.h ztrees.o : ztrees.c zip.h ztailor.h ziperr.h -zunzip.o : zunzip.c zunzip.h +zunzip.o : zunzip.c zunzip.h usuals.h system.h +r3000.o : r3000.c mpilib.h usuals.h platform.h lmul.h