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