| # Targets |
| # make - twidle the options yourself :-) |
| # make cc - standard cc options |
| # make gcc - standard gcc options |
| # make x86-elf - linux-elf etc |
| # make x86-out - linux-a.out, FreeBSD etc |
| # make x86-solaris |
| # make x86-bdsi |
| |
| DIR= sha |
| TOP= . |
| CC= gcc |
| CFLAG= -O3 -fomit-frame-pointer |
| |
| CPP= $(CC) -E |
| INCLUDES= |
| INSTALLTOP=/usr/local/lib |
| MAKE= make |
| MAKEDEPEND= makedepend |
| MAKEFILE= Makefile.uni |
| AR= ar r |
| |
| SHA_ASM_OBJ= |
| |
| CFLAGS= $(INCLUDES) $(CFLAG) |
| |
| GENERAL=Makefile |
| |
| TEST1=shatest |
| TEST2=sha1test |
| APP1=sha |
| APP2=sha1 |
| |
| TEST=$(TEST1) $(TEST2) |
| APPS=$(APP1) $(APP2) |
| |
| LIB=libsha.a |
| LIBSRC=sha_dgst.c sha1dgst.c sha_one.c sha1_one.c |
| LIBOBJ=sha_dgst.o sha1dgst.o sha_one.o sha1_one.o $(SHA_ASM_OBJ) |
| |
| SRC= $(LIBSRC) |
| |
| EXHEADER= sha.h |
| HEADER= sha_locl.h $(EXHEADER) |
| |
| ALL= $(GENERAL) $(SRC) $(HEADER) |
| |
| all: $(LIB) $(TEST) $(APPS) |
| |
| $(LIB): $(LIBOBJ) |
| $(AR) $(LIB) $(LIBOBJ) |
| $(RANLIB) $(LIB) |
| |
| # elf |
| asm/sx86-elf.o: asm/sx86unix.cpp |
| $(CPP) -DELF asm/sx86unix.cpp | as -o asm/sx86-elf.o |
| |
| # solaris |
| asm/sx86-sol.o: asm/sx86unix.cpp |
| $(CC) -E -DSOL asm/sx86unix.cpp | sed 's/^#.*//' > asm/sx86-sol.s |
| as -o asm/sx86-sol.o asm/sx86-sol.s |
| rm -f asm/sx86-sol.s |
| |
| # a.out |
| asm/sx86-out.o: asm/sx86unix.cpp |
| $(CPP) -DOUT asm/sx86unix.cpp | as -o asm/sx86-out.o |
| |
| # bsdi |
| asm/sx86bsdi.o: asm/sx86unix.cpp |
| $(CPP) -DBSDI asm/sx86unix.cpp | as -o asm/sx86bsdi.o |
| |
| asm/sx86unix.cpp: |
| (cd asm; perl sha1-586.pl cpp >sx86unix.cpp) |
| |
| test: $(TEST) |
| ./$(TEST1) |
| ./$(TEST2) |
| |
| $(TEST1): $(TEST1).c $(LIB) |
| $(CC) -o $(TEST1) $(CFLAGS) $(TEST1).c $(LIB) |
| |
| $(TEST2): $(TEST2).c $(LIB) |
| $(CC) -o $(TEST2) $(CFLAGS) $(TEST2).c $(LIB) |
| |
| $(APP1): $(APP1).c $(LIB) |
| $(CC) -o $(APP1) $(CFLAGS) $(APP1).c $(LIB) |
| |
| $(APP2): $(APP2).c $(LIB) |
| $(CC) -o $(APP2) $(CFLAGS) $(APP2).c $(LIB) |
| |
| lint: |
| lint -DLINT $(INCLUDES) $(SRC)>fluff |
| |
| depend: |
| $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC) |
| |
| dclean: |
| perl -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new |
| mv -f Makefile.new $(MAKEFILE) |
| |
| clean: |
| /bin/rm -f $(LIB) $(TEST) $(APPS) *.o asm/*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff |
| |
| cc: |
| $(MAKE) SHA_ASM_OBJ="" CC="cc" CFLAG="-O" all |
| |
| gcc: |
| $(MAKE) SHA_ASM_OBJ="" CC="gcc" CFLAGS="-O3 -fomit-frame-pointer" all |
| |
| x86-elf: |
| $(MAKE) SHA_ASM_OBJ="asm/sx86-elf.o" CFLAG="-DELF -DSHA1_ASM -DL_ENDIAN $(CFLAGS)" all |
| |
| x86-out: |
| $(MAKE) SHA_ASM_OBJ="asm/sx86-out.o" CFLAG="-DOUT -DSHA1_ASM -DL_ENDIAN $(CFLAGS)" all |
| |
| x86-solaris: |
| $(MAKE) SHA_ASM_OBJ="asm/sx86-sol.o" CFLAG="-DSOL -DSHA1_ASM -DL_ENDIAN $(CFLAGS)" all |
| |
| x86-bdsi: |
| $(MAKE) SHA_ASM_OBJ="asm/sx86-bdsi.o" CFLAG="-DBDSI -DSHA1_ASM -DL_ENDIAN $(CFLAGS)" all |
| |
| # DO NOT DELETE THIS LINE -- make depend depends on it. |