| # 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 |
| |
| # There are 3 possible performance options, experiment :-) |
| #OPTS= -DBF_PTR |
| #OPTS= -DBF_PTR2 |
| OPTS= |
| |
| DIR= cast |
| 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 |
| RANLIB= ranlib |
| |
| CAST_ENC=c_enc.o |
| # or use |
| #CAST_ENC=asm/cx86-elf.o |
| #CAST_ENC=asm/cx86-out.o |
| #CAST_ENC=asm/cx86-sol.o |
| #CAST_ENC=asm/cx86bdsi.o |
| |
| CFLAGS= $(OPTS) $(INCLUDES) $(CFLAG) -DFULL_TEST |
| |
| GENERAL=Makefile |
| TEST=casttest |
| APP1=cast_spd |
| APP2=castopts |
| APPS=$(APP1) $(APP2) |
| |
| LIB=libcast.a |
| LIBSRC=c_skey.c c_ecb.c c_enc.c c_cfb64.c c_ofb64.c |
| LIBOBJ=c_skey.o c_ecb.o $(CAST_ENC) c_cfb64.o c_ofb64.o |
| |
| SRC= $(LIBSRC) |
| |
| EXHEADER= cast.h |
| HEADER= cast_lcl.h $(EXHEADER) |
| |
| ALL= $(GENERAL) $(SRC) $(HEADER) |
| |
| all: $(LIB) $(TEST) $(APPS) |
| |
| $(LIB): $(LIBOBJ) |
| $(AR) $(LIB) $(LIBOBJ) |
| $(RANLIB) $(LIB) |
| # elf |
| asm/cx86-elf.o: asm/cx86unix.cpp |
| $(CPP) -DELF asm/cx86unix.cpp | as -o asm/cx86-elf.o |
| |
| # solaris |
| asm/cx86-sol.o: asm/cx86unix.cpp |
| $(CC) -E -DSOL asm/cx86unix.cpp | sed 's/^#.*//' > asm/cx86-sol.s |
| as -o asm/cx86-sol.o asm/cx86-sol.s |
| rm -f asm/cx86-sol.s |
| |
| # a.out |
| asm/cx86-out.o: asm/cx86unix.cpp |
| $(CPP) -DOUT asm/cx86unix.cpp | as -o asm/cx86-out.o |
| |
| # bsdi |
| asm/cx86bsdi.o: asm/cx86unix.cpp |
| $(CPP) -DBSDI asm/cx86unix.cpp | as -o asm/cx86bsdi.o |
| |
| asm/cx86unix.cpp: |
| (cd asm; perl cast-586.pl cpp >cx86unix.cpp) |
| |
| test: $(TEST) |
| ./$(TEST) |
| |
| $(TEST): $(TEST).c $(LIB) |
| $(CC) -o $(TEST) $(CFLAGS) $(TEST).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) CC="cc" CFLAG="-O" all |
| |
| gcc: |
| $(MAKE) CC="gcc" CFLAGS="-O3 -fomit-frame-pointer" all |
| |
| x86-elf: |
| $(MAKE) CAST_ENC="asm/cx86-elf.o" CFLAG="-DELF $(CFLAGS)" all |
| |
| x86-out: |
| $(MAKE) CAST_ENC="asm/cx86-out.o" CFLAG="-DOUT $(CFLAGS)" all |
| |
| x86-solaris: |
| $(MAKE) CAST_ENC="asm/cx86-sol.o" CFLAG="-DSOL $(CFLAGS)" all |
| |
| x86-bdsi: |
| $(MAKE) CAST_ENC="asm/cx86-bdsi.o" CFLAG="-DBDSI $(CFLAGS)" all |
| |
| # DO NOT DELETE THIS LINE -- make depend depends on it. |