This repository has been archived by the owner on Jun 9, 2018. It is now read-only.
/
ops.in
90 lines (70 loc) · 2.46 KB
/
ops.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
## $Id$
# values from parrot_config
VERSION_DIR := @versiondir@
INCLUDE_DIR := @includedir@$(VERSION_DIR)
LIB_DIR := @libdir@$(VERSION_DIR)
#STAGING_DIR := ../../dynext
STAGING_DIR := @build_dir@/runtime/parrot/dynext
#INSTALL_DIR := $(LIB_DIR)/languages/wmlscript2/dynext
INSTALL_DIR := $(LIB_DIR)/dynext
# Set up extensions
LOAD_EXT := @load_ext@
O := @o@
# Setup some commands
PERL := @perl@
RM_F := @rm_f@
CHMOD := @chmod@
CP := @cp@
CC := @cc@ -c
LD := @ld@
LDFLAGS := @ldflags@ @ld_debug@ @rpath_blib@ @linkflags@
LD_LOAD_FLAGS := @ld_load_flags@
CFLAGS := @ccflags@ @cc_shared@ @cc_debug@ @ccwarn@ @cc_hasjit@ @cg_flag@ @gc_flag@
CC_OUT := @cc_o_out@
LD_OUT := @ld_out@
#IF(parrot_is_shared):LIBPARROT := @libparrot_ldflags@
#ELSE:LIBPARROT :=
OPS2C := $(PERL) $(LIB_DIR)/tools/build/ops2c.pl
INCLUDES := -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/pmc
LINKARGS := $(LDFLAGS) $(LD_LOAD_FLAGS) $(LIBPARROT)
OPS_FILE := wmls.ops
CLEANUPS := \
"*$(LOAD_EXT)" \
"*$(O)" \
"*.c" \
"*.h" \
"$(STAGING_DIR)/wmlscript2_ops*$(LOAD_EXT)"
all: staging
generate: $(OPS_FILE)
$(OPS2C) C --dynamic $(OPS_FILE)
$(OPS2C) CSwitch --dynamic $(OPS_FILE)
#IF(cg_flag): $(OPS2C) CGoto --dynamic $(OPS_FILE)
#IF(cg_flag): $(OPS2C) CGP --dynamic $(OPS_FILE)
compile: generate
$(CC) $(CC_OUT) wmls_ops$(O) $(INCLUDES) $(CFLAGS) wmls_ops.c
$(CC) $(CC_OUT) wmls_ops_switch$(O) $(INCLUDES) $(CFLAGS) wmls_ops_switch.c
#IF(cg_flag): $(CC) $(CC_OUT) wmls_ops_cg$(O) $(INCLUDES) $(CFLAGS) wmls_ops_cg.c
#IF(cg_flag): $(CC) $(CC_OUT) wmls_ops_cgp$(O) $(INCLUDES) $(CFLAGS) wmls_ops_cgp.c
linklibs: compile
$(LD) $(LD_OUT) wmls_ops$(LOAD_EXT) wmls_ops$(O) $(LINKARGS)
$(LD) $(LD_OUT) wmls_ops_switch$(LOAD_EXT) wmls_ops_switch$(O) $(LINKARGS)
#IF(cg_flag): $(LD) $(LD_OUT) wmls_ops_cg$(LOAD_EXT) wmls_ops_cg$(O) $(LINKARGS)
#IF(cg_flag): $(LD) $(LD_OUT) wmls_ops_cgp$(LOAD_EXT) wmls_ops_cgp$(O) $(LINKARGS)
staging: linklibs
#IF(cygwin or hpux): CHMOD 0775 "*$(LOAD_EXT)"
$(CP) "*$(LOAD_EXT)" $(STAGING_DIR)
install:
#IF(cygwin or hpux): CHMOD 0775 "*$(LOAD_EXT)"
$(CP) "*$(LOAD_EXT)" $(INSTALL_DIR)
uninstall:
$(RM_F) "$(INSTALL_DIR)/wmls_ops*$(LOAD_EXT)"
Makefile: ../../config/makefiles/ops.in
cd ../.. && $(PERL) Configure.pl
clean:
$(RM_F) $(CLEANUPS)
realclean:
$(RM_F) $(CLEANUPS) Makefile
# Local variables:
# mode: makefile
# End:
# vim: ft=make: