Revise makefile to generate object files separately from programs.

This commit is contained in:
Stephen Heumann 2017-11-19 21:05:58 -06:00
parent 8dddba4f6e
commit 756ff98a6a
1 changed files with 60 additions and 20 deletions

View File

@ -1,3 +1,4 @@
CC = occ
CFLAGS = -O255 -w255
PROGRAMS = aescbctest aesctrtest aestest aescrypt sha1sum sha1test \
@ -6,35 +7,74 @@ PROGRAMS = aescbctest aesctrtest aestest aescrypt sha1sum sha1test \
.PHONY: default
default: $(PROGRAMS)
aescbctest: pagealign.asm aescbctest.c aesmodes.c aes.asm aes.macros aes.h
occ $(CFLAGS) pagealign.asm aescbctest.c aesmodes.c aes.asm -o aescbctest
pagealign.root: pagealign.asm
$(CC) -c $<
mv pagealign.ROOT pagealign.root
aesctrtest: pagealign.asm aesctrtest.c aesmodes.c aes.asm aes.macros aes.h
occ $(CFLAGS) pagealign.asm aesctrtest.c aesmodes.c aes.asm -o aesctrtest
# AES encryption/decryption algorithm
aesmodes.a: aesmodes.c aes.h
$(CC) $(CFLAGS) -c $<
aes.a: aes.asm aes.macros
$(CC) $(CFLAGS) -c $<
mv aes.A aes.a
aestest: pagealign.asm aestest.c aes.asm aes.macros aes.h
occ $(CFLAGS) pagealign.asm aestest.c aes.asm -o aestest
# Hash algorithms
sha1.a: sha1.cc sha1.h sha1.asm sha1.macros
$(CC) $(CFLAGS) -c $<
sha256.a: sha256.cc sha1.h sha256.asm sha1.macros
$(CC) $(CFLAGS) -c $<
md5.a: md5.cc md5.h md5.asm md5.macros
$(CC) $(CFLAGS) -c $<
aescrypt: pagealign.asm aescrypt.c aesmodes.c aes.asm aes.macros aes.h
occ $(CFLAGS) pagealign.asm aescrypt.c aesmodes.c aes.asm -o aescrypt
# Test programs
aescbctest.a: aescbctest.c aes.h
$(CC) $(CFLAGS) -c $<
aesctrtest.a: aesctrtest.c aes.h
$(CC) $(CFLAGS) -c $<
aestest.a: aestest.c aes.h
$(CC) $(CFLAGS) -c $<
aescrypt.a: aescrypt.c aes.h
$(CC) $(CFLAGS) -c $<
sha1sum: sha1sum.c sha1.cc sha1.asm sha1.macros sha1.h
occ $(CFLAGS) sha1sum.c sha1.cc -o sha1sum
sha1sum.a: sha1sum.c sha1.h
$(CC) $(CFLAGS) -c $<
sha1test.a: sha1test.c sha1.h
$(CC) $(CFLAGS) -c $<
sha1test: sha1test.c sha1.cc sha1.asm sha1.macros sha1.h
occ $(CFLAGS) sha1test.c sha1.cc -o sha1test
sha256sum.a: sha256sum.c sha256.h
$(CC) $(CFLAGS) -c $<
sha256test.a: sha256test.c sha256.h
$(CC) $(CFLAGS) -c $<
sha256sum: sha256sum.c sha256.cc sha256.asm sha256.macros sha256.h
occ $(CFLAGS) sha256sum.c sha256.cc -o sha256sum
md5sum.a: md5sum.c md5.h
$(CC) $(CFLAGS) -c $<
md5test.a: md5test.c md5.h
$(CC) $(CFLAGS) -c $<
sha256test: sha256test.c sha256.cc sha256.asm sha256.macros sha256.h
occ $(CFLAGS) sha256test.c sha256.cc -o sha256test
aescbctest: pagealign.root aescbctest.a aesmodes.a aes.a
$(CC) $(CFLAGS) $^ -o $@
aesctrtest: pagealign.root aesctrtest.a aesmodes.a aes.a
$(CC) $(CFLAGS) $^ -o $@
aestest: pagealign.root aestest.a aes.a
$(CC) $(CFLAGS) $^ -o $@
aescrypt: pagealign.root aescrypt.a aesmodes.a aes.a
$(CC) $(CFLAGS) $^ -o $@
md5sum: pagealign.asm md5sum.c md5.cc md5.asm md5.macros md5.h
occ $(CFLAGS) pagealign.asm md5sum.c md5.cc -o md5sum
sha1sum: sha1sum.a sha1.a
$(CC) $(CFLAGS) $^ -o $@
sha1test: sha1test.a sha1.a
$(CC) $(CFLAGS) $^ -o $@
sha256sum: sha256sum.a sha256.a
$(CC) $(CFLAGS) $^ -o $@
sha256test: sha256test.a sha256.a
$(CC) $(CFLAGS) $^ -o $@
md5sum: pagealign.root md5sum.a md5.a
$(CC) $(CFLAGS) $^ -o $@
md5test: pagealign.root md5test.a md5.a
$(CC) $(CFLAGS) $^ -o $@
md5test: pagealign.asm md5test.c md5.cc md5.asm md5.macros md5.h
occ $(CFLAGS) pagealign.asm md5test.c md5.cc -o md5test
.PHONY: clean
clean: