Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / elp / Makefile
1 # makefile for elp libraries
2 # date : 31/07/95
3
4 include $(AVERTEC_TOP)/etc/$(AVERTEC_OS).mk
5 include $(AVERTEC_TOP)/etc/libraries.mk
6 include $(AVERTEC_TOP)/etc/Avertec.mk
7
8 OBJ = elp_error.o elp_util.o y.tab.o lex.elp.o
9 SHARED_OBJ = elp_API.o
10 OBJ_BIN = elp_main.o
11
12 ELP_HEADER = elp_lib.h
13
14 ELP_BIN = elpparse
15
16 ELP_API = elp_API.so
17
18 WRAP = $(TARGET_BIN)/wrap
19
20 WRAPPER = elp_API_wrap.c
21
22 LOCAL_INC = -I$(TARGET_INCLUDE)
23
24 LOCAL_CFLAGS = $(CFLAGS)
25 LOCAL_CPPFLAGS = $(CPPFLAGS) -c $(LOCAL_INC) \
26 -D$(AVERTEC_OS) \
27 -D$(AVERTEC_LICENSE) \
28 -DMLO_H="<$(MLO_H)>" \
29 -DMLU_H="<$(MLU_H)>" \
30 -DEQT_H="<$(EQT_H)>" \
31 -DMUT_H="<$(MUT_H)>" \
32 -DAVT_H="<$(AVT_H)>" \
33 -DRCN_H="<$(RCN_H)>" \
34 -DBEH_H="<$(BEH_H)>" \
35 -DBEG_H="<$(BEG_H)>" \
36 -DCBH_H="<$(CBH_H)>" \
37 -DLOG_H="<$(LOG_H)>" \
38 -DINF_H="<$(INF_H)>" \
39 -DCNS_H="<$(CNS_H)>" \
40 -DTECHNOLOGY='"/etc/prol05.elp"' \
41 -DELP_H='"$(ELP_H)"'
42
43 LOCAL_LIB = -L$(TARGET_LIB) \
44 -L$(GNU_LIB) \
45 $(ELP_L) \
46 $(MLO_L) \
47 $(RCN_L) \
48 $(MUT_L) \
49 $(RPC_L) \
50 -lm
51
52 LOCAL_YFLAGS = $(YACCFLAGS) -d
53
54 all : lib
55
56 headers : $(TARGET_INCLUDE)/$(ELP_H)
57
58 # lib
59
60 lib : $(TARGET_INCLUDE)/$(ELP_H) $(TARGET_LIB)/$(ELP_LIB)
61
62 $(TARGET_LIB)/$(ELP_LIB) : $(OBJ)
63 $(AR) $(ARFLAGS) $(TARGET_LIB)/$(ELP_LIB) $(OBJ)
64 $(RANLIB) $(TARGET_LIB)/$(ELP_LIB)
65
66 $(TARGET_INCLUDE)/$(ELP_H) : $(ELP_HEADER)
67 $(CP) $(ELP_HEADER) $(TARGET_INCLUDE)/$(ELP_H)
68
69 bin : $(TARGET_BIN)/$(ELP_BIN)
70
71 $(TARGET_BIN)/$(ELP_BIN) : $(TARGET_LIB)/$(ELP_LIB) $(OBJ_BIN)
72 $(CC) $(LOCAL_CFLAGS) $(OBJ_BIN) -o $(TARGET_BIN)/$(ELP_BIN) $(LOCAL_LIB)
73 $(STRIP) $(TARGET_BIN)/$(ELP_BIN)
74
75 y.tab.h : y.tab.c
76
77 y.tab.c : elp.y
78 $(YACC) $(LOCAL_YFLAGS) -p elp elp.y
79
80 lex.elp.c : elp.l y.tab.h
81 $(LEX) $(LEXFLAGS) -Pelp elp.l
82
83 # api
84
85 api : $(TARGET_API_LIB)/$(ELP_API)
86
87 $(TARGET_API_LIB)/$(ELP_API) : $(WRAPPER)
88 $(SCC) $(LOCAL_CFLAGS) -shared $(WRAPPER) $(SHARED_OBJ) -o $(TARGET_API_LIB)/$(ELP_API)
89
90 $(WRAPPER) : elp_API.h
91 $(WRAP) -p $(TARGET_API_MAN) -m "elp-api" elp_API.h
92
93 .c.o :
94 $(CC) $(LOCAL_CFLAGS) $(LOCAL_CPPFLAGS) $<
95
96 realclean : clean
97 -$(RM) $(TARGET_LIB)/$(ELP_LIB)
98 -$(RM) $(TARGET_INCLUDE)/$(ELP_H)
99
100 clean :
101 -$(RM) *.o lex.elp.c y.tab.h y.tab.c
102 -$(RM) $(WRAPPER)