-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile.k70
91 lines (72 loc) · 2.32 KB
/
Makefile.k70
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
90
91
#
# Use the Codesourery cross compiler to build ficl for arm linux.
#
#
OBJECTS= dictionary.o system.o fileaccess.o float.o double.o prefix.o search.o softcore.o stack.o tools.o vm.o primitives.o bit.o lzuncompress.o unix.o utility.o hash.o callback.o word.o extras.o
HEADERS=ficl.h ficlplatform/unix.h
include profile.mk
INC_DIR="-I/home/andrewh/Source/Linux/linux-cortexm-1.12.0/A2F/root/usr/include"
#
# Flags for shared library
TARGET= -DUCLINUX -DARM # -DEMBEDDED
SHFLAGS = -mthumb
LDFLAGS=-Wl,--no-as-needed
CFLAGS= -c $(SHFLAGS) $(TARGET) # -DSYSV_IPC -DSOCKET -DMTHREAD # -DSYSV_IPC -DMODBUS # -DSPREAD -I/usr/local/spread-4.0.0/include # -DVERBOSE # -DDB # -I/usr/local/include
# PREFIX=arm-uclinuxeabi-
# CC=$(PREFIX)gcc
# LIB=$(TOOLS)/bin/ar cr
# LIB=$(PREFIX)ar cr
# RANLIB=$(PREFIX)ranlib
# STRIP=$(PREFIX)strip
MAJOR = 5
MINOR = 0.0
all: ficl
ficl: main.o $(HEADERS) libficl.a
$(CC) $(LDFLAGS) main.o -o ficl -L. -lficl -lm -lpthread # -ldl
# $(STRIP) ficl
ficls: main.o $(HEADERS) libficl.a
# $(CC) -static main.o libficl.a -o ficls
$(CC) -static main.o -o ficl -L. -lficl -lm -lpthread # -ldl
lib: libficl.so.$(MAJOR).$(MINOR)
# static library build
libficl.a: $(OBJECTS)
$(LIB) libficl.a $(OBJECTS)
$(RANLIB) libficl.a
# shared library build
libficl.so.$(MAJOR).$(MINOR): $(OBJECTS)
$(CC) -shared -Wl,-soname,libficl.so.$(MAJOR).$(MINOR) \
-o libficl.so.$(MAJOR).$(MINOR) $(OBJECTS)
ln -sf libficl.so.$(MAJOR).$(MINOR) libficl.so
main: main.o ficl.h sysdep.h libficl.so.$(MAJOR).$(MINOR)
$(CC) $(HEADERS) main.o -o main -L. -lficl -lm
ln -sf libficl.so.$(MAJOR).$(MINOR) libficl.so.$(MAJOR)
unix.o: ficlplatform/unix.c $(HEADERS)
$(CC) $(CFLAGS) -I. -c ficlplatform/unix.c
#
# generic object code
#
.SUFFIXES: .cxx .cc .c .o
.c.o:
$(CC) $(CFLAGS) -c $*.c # -I../sqlite
.cxx.o:
$(CPP) $(CPFLAGS) -c $*.cxx
.cc.o:
$(CPP) $(CPFLAGS) -c $*.cc
#
# generic cleanup code
#
clean:
rm -f *.o *.a libficl.* ficl
install:
mkdir -p ./ipkg-arm/CONTROL
mkdir -p ./ipkg-arm/usr/local/bin
mkdir -p ./ipkg-arm/usr/local/lib
$(TOOLS)/bin/arm-none-linux-gnueabi-strip ./ficl
cp ./ficl ./ipkg-arm/usr/local/bin
install-ipkg: ficl
echo "Ipkg"
cp ./ficl ipkg-arm/usr/local/bin/
(cd ipkg-arm; ipkg-build . /var/ftp/packages )
(cd /var/ftp/packages ; ~/Incoming/ipkg-make-index . > Packages)
install-deb: ficl
./install-deb-arm