]>
Commit | Line | Data |
---|---|---|
bac41a7b A |
1 | # c-examples/any/makefile |
2 | # | |
3 | # WARNING: this makefile isn't safe for parallel making! | |
4 | # | |
5 | # compile the any example | |
6 | # | |
7 | # MS 92 | |
8 | # | |
a66d0d4a | 9 | # $Header: /cvs/root/Security/SecuritySNACCRuntime/c-examples/any/Attic/makefile,v 1.1.1.1 2001/05/18 23:14:07 mb Exp $ |
bac41a7b A |
10 | # $Log: makefile,v $ |
11 | # Revision 1.1.1.1 2001/05/18 23:14:07 mb | |
12 | # Move from private repository to open source repository | |
13 | # | |
14 | # Revision 1.1.1.1 1999/03/16 18:06:08 aram | |
15 | # Originals from SMIME Free Library. | |
16 | # | |
17 | # Revision 1.6 1995/07/24 20:42:31 rj | |
18 | # useful.asn1 renamed to asn-useful.asn1 to accomodate to snacc's new file name generation scheme. | |
19 | # any-test.[hc] becomes any.[hc] due to to snacc's new file name generation scheme. | |
20 | # | |
21 | # `cd && make' instead of `cd; make'. | |
22 | # | |
23 | # changed `_' to `-' in file names. | |
24 | # | |
25 | # Revision 1.5 1995/02/20 11:51:39 rj | |
26 | # build snacc if it doesn't exist. | |
27 | # some makes leave a trailing slash on $(@D), others don't. this causes some mkdir(1)s to deny their cooperation. therefore, the slash has got to be stripped. | |
28 | # | |
29 | # Revision 1.4 1995/02/13 15:05:05 rj | |
30 | # augment CPPFLAGS, not overwrite. | |
31 | # use $(@D) and $(@F) instead of `dirname $@` and `basename $@` (not every system's got the commands). | |
32 | # we need the compiler for the dependencies, so make it if it doesn't yet exist. | |
33 | # | |
34 | # Revision 1.3 1994/08/31 21:41:37 rj | |
35 | # rebuild the executables when the c-lib is newer. | |
36 | # | |
37 | # Revision 1.2 1994/08/31 10:31:49 rj | |
38 | # since .o files get moved, a few more dependencies are needed. | |
39 | # | |
40 | # Revision 1.1 1994/08/31 08:46:20 rj | |
41 | # first check-in. for a list of changes to the snacc-1.1 distribution please refer to the ChangeLog. | |
42 | # | |
43 | ||
44 | include ../../makehead | |
45 | ||
46 | TOP = ../.. | |
47 | ||
48 | ASN1_SRC_DIR = $(TOP)/asn1specs | |
49 | ||
50 | ASN1_C_LIB_DIR = $(TOP)/c-lib | |
51 | ASN1_C_INC_DIR = $(ASN1_C_LIB_DIR)/inc | |
52 | ASN1_C_LIB = $(ASN1_C_LIB_DIR)/libasn1csbuf.a | |
53 | ||
54 | COMPILERDIR = $(TOP)/compiler | |
55 | SNACC = $(COMPILERDIR)/snacc | |
56 | USEFUL_TYPES = $(ASN1_SRC_DIR)/asn-useful.asn1 | |
57 | SNACCFLAGS = -u $(USEFUL_TYPES) | |
58 | ||
59 | CPPFLAGS += -I$(TOP) -I$(ASN1_C_INC_DIR) -DUSE_SBUF $(LENFLAG) | |
60 | ||
61 | ASN1FILES = $(ASN1_SRC_DIR)/any.asn1 | |
62 | ||
63 | # generated by snacc from any.asn1: | |
64 | ASN1HFILES = any.h | |
65 | ASN1CFILES = any.c | |
66 | ||
67 | CFILES = \ | |
68 | genber.c \ | |
69 | example.c | |
70 | ||
71 | DISTFILES = \ | |
72 | README \ | |
73 | makefile \ | |
74 | $(CFILES) | |
75 | ||
76 | #------------------------------------------------------------------------------- | |
77 | ||
78 | all:: genber def indef | |
79 | ||
80 | $(ASN1HFILES) \ | |
81 | $(ASN1CFILES): $(SNACC) $(ASN1FILES) | |
82 | $(REASON) | |
83 | $(SNACC) $(SNACCFLAGS) $(ASN1FILES) | |
84 | ||
85 | $(SNACC): | |
86 | cd $(@D) && $(MAKE) $(@F) | |
87 | ||
88 | def-obj \ | |
89 | indef-obj: | |
90 | mkdir $@ | |
91 | ||
92 | def-obj/any.o \ | |
93 | def-obj/example.o: | |
94 | $(REASON) | |
95 | $(MAKE) LENFLAG= `echo $(@D) | sed -e 's:/$$::'` $(@F) | |
96 | mv $(@F) $@ | |
97 | ||
98 | indef-obj/any.o \ | |
99 | indef-obj/example.o: | |
100 | $(REASON) | |
101 | $(MAKE) LENFLAG=-DUSE_INDEF_LEN `echo $(@D) | sed -e 's:/$$::'` $(@F) | |
102 | mv $(@F) $@ | |
103 | ||
104 | genber: def-obj/any.o genber.o | |
105 | $(REASON) | |
106 | $(CC) $(LDFLAGS) -o $@ def-obj/any.o genber.o $(ASN1_C_LIB) $(LIBS) | |
107 | ||
108 | def: def-obj/any.o def-obj/example.o | |
109 | $(REASON) | |
110 | $(CC) $(LDFLAGS) -o $@ def-obj/any.o def-obj/example.o $(ASN1_C_LIB) $(LIBS) | |
111 | ||
112 | indef: indef-obj/any.o indef-obj/example.o | |
113 | $(REASON) | |
114 | $(CC) $(LDFLAGS) -o $@ indef-obj/any.o indef-obj/example.o $(ASN1_C_LIB) $(LIBS) | |
115 | ||
116 | genber \ | |
117 | def \ | |
118 | indef: $(ASN1_C_LIB) | |
119 | ||
120 | .PHONY: check | |
121 | ||
122 | check:: genber def indef | |
123 | $(RM) foo.ber bar.ber | |
124 | ./genber | |
125 | ./indef att.ber > foo.ber | |
126 | ./def foo.ber > bar.ber | |
127 | @echo '' | |
128 | @if cmp -s bar.ber att.ber; then\ | |
129 | echo "+++ Passed simple encode/decode tests using any.asn1.";\ | |
130 | else\ | |
131 | echo "--- Failed simple encode/decode tests using any.asn1.";\ | |
132 | fi | |
133 | @echo '' | |
134 | $(RM) foo.ber bar.ber | |
135 | ||
136 | clean:: | |
137 | $(RM) *.o *~ .emacs* core def indef genber att.ber $(ASN1HFILES) $(ASN1CFILES) | |
138 | $(RM) -r def-obj indef-obj | |
139 | $(RM) foo.ber bar.ber | |
140 | ||
141 | depend:: $(SNACC) | |
142 | ||
143 | include ../../maketail | |
144 | ||
145 | depend:: | |
146 | cp dependencies deps | |
147 | for dir in def-obj indef-obj; do\ | |
148 | < dependencies sed -e 's:^\(.*\.o\):'"$$dir"'/\1:' >> deps;\ | |
149 | done | |
150 | mv deps dependencies |