RPA Toolkit
96a59870d2307abc2c7da0655d6ef27a6de55c8f
[rpatk.git] / rjs / build / darwin / rjs.mk
1 RLIB_SRCDIR = $(SRCDIR)/rlib
2 RVM_SRCDIR = $(SRCDIR)/rvm
3 RPA_SRCDIR = $(SRCDIR)/rpa
4 RJS_SRCDIR = $(SRCDIR)/rjs
5 RJS_LIB = $(OUTDIR)/librjs.a
6 RJS_EXEC = $(OUTDIR)/rjsexec
7
8 CFLAGS += -I$(SRCDIR)
9
10 LIBS = -L$(RLIB_SRCDIR)/build/$(OS)/$(ARCHDIR)/out 
11 LIBS += -L$(RVM_SRCDIR)/build/$(OS)/$(ARCHDIR)/out 
12 LIBS += -L$(RPA_SRCDIR)/build/$(OS)/$(ARCHDIR)/out 
13 LIBS += -L$(RJS_SRCDIR)/build/$(OS)/$(ARCHDIR)/out 
14 LIBS += -lrjs -lrpa -lrvm -lrlib -lpthread -lm --static
15
16 RJS_OBJECTS =   \
17         $(OUTDIR)/rjs.o \
18         $(OUTDIR)/rjsparser.o \
19         $(OUTDIR)/rjscompiler.o \
20         $(OUTDIR)/rjsrules.o \
21         $(OUTDIR)/rjsfile.o \   
22         $(OUTDIR)/ecma262.o \
23
24
25 RJSEXEC_OBJECTS =       \
26         $(OUTDIR)/rjsexec.o \
27
28 all: $(OUTDIR) $(RJS_LIB)
29
30 $(RJS_EXEC) : $(RJSEXEC_OBJECTS) $(RJS_LIB) $(RJS_OBJECTS)
31         $(CC) $(ARCH) -o $@ $< $(LIBS)
32
33 $(OUTDIR)/%.o: $(RJS_SRCDIR)/%.c
34         $(CC) $(CFLAGS) -o $(OUTDIR)/$*.o -c $(RJS_SRCDIR)/$*.c
35
36 $(OUTDIR)/%.o: $(RJS_SRCDIR)/linux/%.c
37         $(CC) $(CFLAGS) -o $(OUTDIR)/$*.o -c $(RJS_SRCDIR)/linux/$*.c
38
39 $(RJS_LIB): $(RJS_OBJECTS)
40         $(AR) -cr $@ $^
41
42 $(RJS_SO): $(RJS_OBJECTS)
43         $(CC) $(LDFLAGS) -shared -Wl,-soname,librjs.so -o $@ $^
44
45 $(OUTDIR)/%.o: $(RJS_SRCDIR)/%.rpa
46         $(LD) -r -b binary -o $(OUTDIR)/$*.o $(RJS_SRCDIR)/$*.rpa
47
48 $(OUTDIR):
49         @mkdir $(OUTDIR)
50
51 distclean: clean
52         @rm -f .depend
53         @rm -rf $(OUTDIR)
54
55 clean:
56         @rm -f $(RJS_LIB)
57         @rm -f $(RJS_SO)
58         @rm -f $(RJS_OBJECTS)
59         @rm -f *~
60         @rm -f $(SRCDIR)/*~
61