Fool-proofing Makefiles
[openssl.git] / crypto / aes / Makefile
1 #
2 # crypto/aes/Makefile
3 #
4
5 DIR=    aes
6 TOP=    ../..
7 CC=     cc
8 CPP=    $(CC) -E
9 INCLUDES=
10 CFLAG=-g
11 MAKEDEPPROG=    makedepend
12 MAKEDEPEND=     $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
13 MAKEFILE=       Makefile
14 AR=             ar r
15
16 AES_ASM_OBJ=aes_core.o aes_cbc.o
17
18 CFLAGS= $(INCLUDES) $(CFLAG)
19 ASFLAGS= $(INCLUDES) $(ASFLAG)
20 AFLAGS= $(ASFLAGS)
21
22 GENERAL=Makefile
23 #TEST=aestest.c
24 TEST=
25 APPS=
26
27 LIB=$(TOP)/libcrypto.a
28 LIBSRC=aes_core.c aes_misc.c aes_ecb.c aes_cbc.c aes_cfb.c aes_ofb.c aes_ctr.c
29 LIBOBJ=aes_misc.o aes_ecb.o aes_cfb.o aes_ofb.o aes_ctr.o $(AES_ASM_OBJ)
30
31 SRC= $(LIBSRC)
32
33 EXHEADER= aes.h
34 HEADER= aes_locl.h $(EXHEADER)
35
36 ALL=    $(GENERAL) $(SRC) $(HEADER)
37
38 top:
39         (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all)
40
41 all:    lib
42
43 lib:    $(LIBOBJ)
44         $(AR) $(LIB) $(LIBOBJ)
45         $(RANLIB) $(LIB) || echo Never mind.
46         @touch lib
47
48 $(LIBOBJ): $(LIBSRC)
49
50 aes-ia64.s: asm/aes-ia64.S
51         $(CC) $(CFLAGS) -E asm/aes-ia64.S > $@
52
53 ax86-elf.s: asm/aes-586.pl ../perlasm/x86asm.pl
54         (cd asm; $(PERL) aes-586.pl elf $(CFLAGS) $(PROCESSOR) > ../$@)
55 ax86-cof.s: asm/aes-586.pl ../perlasm/x86asm.pl
56         (cd asm; $(PERL) aes-586.pl coff $(CFLAGS) $(PROCESSOR) > ../$@)
57 ax86-out.s: asm/aes-586.pl ../perlasm/x86asm.pl
58         (cd asm; $(PERL) aes-586.pl a.out $(CFLAGS) $(PROCESSOR) > ../$@)
59
60 files:
61         $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
62
63 links:
64         @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER)
65         @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
66         @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
67
68 install: installs
69
70 installs:
71         @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
72         @headerlist="$(EXHEADER)"; for i in $$headerlist ; \
73         do  \
74         (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
75         chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
76         done;
77
78 tags:
79         ctags $(SRC)
80
81 tests:
82
83 lint:
84         lint -DLINT $(INCLUDES) $(SRC)>fluff
85
86 depend:
87         $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
88
89 dclean:
90         $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
91         mv -f Makefile.new $(MAKEFILE)
92
93 clean:
94         rm -f *.s *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
95
96 # DO NOT DELETE THIS LINE -- make depend depends on it.
97
98 aes_cbc.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
99 aes_cbc.o: ../../include/openssl/opensslconf.h aes_cbc.c aes_locl.h
100 aes_cfb.o: ../../e_os.h ../../include/openssl/aes.h
101 aes_cfb.o: ../../include/openssl/e_os2.h ../../include/openssl/opensslconf.h
102 aes_cfb.o: aes_cfb.c aes_locl.h
103 aes_core.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
104 aes_core.o: ../../include/openssl/opensslconf.h aes_core.c aes_locl.h
105 aes_ctr.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
106 aes_ctr.o: ../../include/openssl/opensslconf.h aes_ctr.c aes_locl.h
107 aes_ecb.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
108 aes_ecb.o: ../../include/openssl/opensslconf.h aes_ecb.c aes_locl.h
109 aes_misc.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
110 aes_misc.o: ../../include/openssl/opensslconf.h
111 aes_misc.o: ../../include/openssl/opensslv.h aes_locl.h aes_misc.c
112 aes_ofb.o: ../../include/openssl/aes.h ../../include/openssl/e_os2.h
113 aes_ofb.o: ../../include/openssl/opensslconf.h aes_locl.h aes_ofb.c