Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / api / sim / Makefile
1 include $(AVERTEC_TOP)/etc/$(AVERTEC_OS).mk
2 include $(AVERTEC_TOP)/etc/libraries.mk
3 include $(AVERTEC_TOP)/etc/Avertec.mk
4
5 LOCAL_INC = -I$(TARGET_API_INCLUDE) -I$(TARGET_INCLUDE)
6
7 WRAP = $(TARGET_BIN)/wrap -silent
8
9 LOCAL_CFLAGS = $(CFLAGS) -c
10 LOCAL_CPPFLAGS = $(CPPFLAGS) $(LOCAL_INC) \
11 -DAVERTEC -D$(AVERTEC_LICENSE) -DSPI_TOKEN\
12 -DAVT_H='<$(AVT_H)>' \
13 -DMLU_H='<$(MLU_H)>' \
14 -DMLO_H='<$(MLO_H)>' \
15 -DLOG_H='<$(LOG_H)>' \
16 -DCBH_H='<$(CBH_H)>' \
17 -DBVL_H='<$(BVL_H)>' \
18 -DBEH_H='<$(BEH_H)>' \
19 -DAPI_H='<$(API_H)>' \
20 -DBEG_H='<$(BEG_H)>' \
21 -DBHL_H='<$(BHL_H)>' \
22 -DBEF_H='<$(BEF_H)>' \
23 -DMUT_H='<$(MUT_H)>' \
24 -DMSL_H='<$(MSL_H)>' \
25 -DRCN_H='<$(RCN_H)>' \
26 -DSTM_H='<$(STM_H)>' \
27 -DCNS_H='<$(CNS_H)>' \
28 -DYAG_H='<$(YAG_H)>' \
29 -DINF_H='<$(INF_H)>' \
30 -DSIM_H='<$(SIM_H)>' \
31 -DGSP_H='<$(GSP_H)>' \
32 -DEFG_H='<$(EFG_H)>' \
33 -DMCC_H='<$(MCC_H)>' \
34 -DGEN_H='<$(GEN_H)>' \
35 -DELP_H='<$(ELP_H)>' \
36 -DTRC_H='<$(TRC_H)>' \
37 -DEQT_H='<$(EQT_H)>' \
38 -DTTV_H='<$(TTV_H)>' \
39 -DTAS_H='<$(TAS_H)>' \
40 -DFCL_H='<$(FCL_H)>'
41
42 WRAPPER = sim_API_wrap.c
43 TCL_WRAPPER = sim_TCL_wrap.c
44 OBJ = sim_API_wrap.o sim_API_lowlevel_l.o sim_API_highlevel_l.o sim_API_elp_l.o \
45 sim_API_extract_l.o sim_API_dump_l.o
46 GENERATED = sim_API_lowlevel_l.c sim_API_highlevel_l.c sim_API_elp_l.c\
47 sim_API_extract_l.c sim_API_dump_l.c sim_TCL_wrap.c
48 .precious : $(GENERATED)
49
50 # Static linking for Purify
51 $(TARGET_LIB)/$(APISIM_LIB): $(OBJ)
52 $(AR) $(ARFLAGS) $(TARGET_LIB)/$(APISIM_LIB) $(OBJ)
53 $(RANLIB) $(TARGET_LIB)/$(APISIM_LIB)
54 cp sim_API.h $(TARGET_API_INCLUDE)
55
56 # Shared lib
57 dynamic_link: $(OBJ)
58 $(SCC) -shared $(OBJ) sim_TCL_wrap.o -o $(TARGET_API_LIB)/sim_API.so
59 cp sim_API.h $(TARGET_API_INCLUDE)
60
61 # GNS wrapper
62 $(WRAPPER): sim_API.h
63 $(WRAP) -p $(TARGET_API_MAN) sim_API.h
64 @$(RM) -f gmon.out
65
66 # TCL wrapper
67 $(TCL_WRAPPER): sim.i
68 $(SWIG) -o $(TCL_WRAPPER) -tcl8 sim.i
69
70 # Objects
71 .c.o :
72 $(CC) $(LOCAL_CFLAGS) $(LOCAL_CPPFLAGS) $<
73
74 %_l.c : %.c $(TARGET_BIN)/$(LICENSE_API)
75 $(TARGET_BIN)/$(LICENSE_API) $< API_TEST_TOKEN > $@
76
77 clean :
78 -@$(RM) -f $(WRAPPER) $(OBJ) $(GENERATED) > /dev/null 2>&1
79
80 realclean : clean
81 -@$(RM) -f $(TARGET_API_LIB)/sim_API.so $(TARGET_API_INCLUDE)/sim_API.h > /dev/null 2>&1
82 -@$(RM) -f $(TARGET_LIB)/$(APISIM_LIB) > /dev/null 2>&1