source: libcf/trunk/test/makefile@ 73

Last change on this file since 73 was 73, checked in by cheese, 11 years ago

#1 fix makefile for multi-platform

File size: 1.6 KB
Line 
1#----------------------------------------------------------
2# platform
3#----------------------------------------------------------
4include ../makeinclude/userdefine.mk
5include ../makeinclude/platform.mk
6
7#----------------------------------------------------------
8# env
9#----------------------------------------------------------
10FILES = \
11 test \
12
13TARGET_NAME = test
14
15CC = gcc
16LD = gcc
17AR = ar
18CDEFS = $(DEFS) -DLINUX -DUNIX -DMTHREAD -D_REENTRANT
19CFLAGS = $(PLATFORM) $(FLAG) -Wall -Wconversion -Wpointer-arith -Wcast-align -fPIC
20LDFLAGS = $(PLATFORM) -Wl,-Bsymbolic
21SHARED_FLAGS = $(LDFLAGS) -shared
22ARFLAGS = rc
23
24SOURCE_TYPE = c
25TARGET_PATH = ../_build
26OBJ_PATH = ../_obj
27TARGET = $(TARGET_PATH)/$(TARGET_NAME).$(EXT_EXECUTE)
28SRCS = $(addsuffix .$(SOURCE_TYPE),$(FILES))
29OBJS = $(addprefix $(OBJ_PATH)/,$(addsuffix .o,$(FILES)))
30
31INCLUDES = -I../include
32LIBS = -L$(TARGET_PATH) -lcf -lpthread
33
34LIB_CF = $(TARGET_PATH)/lib$(TARGET_PATH).$(EXT_SHARED)
35
36#----------------------------------------------------------
37# label
38#----------------------------------------------------------
39all: dep $(TARGET)
40 @echo ========== Complete CHEROXY compilation ==========
41dep: $(OBJ_PATH) $(TARGET_PATH) $(LIB_CF)
42
43$(TARGET_PATH): dummy
44 @if [ ! -d $@ ] ; then mkdir $@ ; fi
45$(OBJ_PATH): dummy
46 @if [ ! -d $@ ] ; then mkdir $@ ; fi
47$(LIB_CF): dummy
48 cd ../src; make all;
49
50%: %.c
51 make dep
52 $(LD) $(LDFLAGS) $(LIBS) $(CDEFS) $(CFLAGS) $(INCLUDES) -o $(TARGET_PATH)/$@.$(EXT_EXECUTE) $?
53 cd $(TARGET_PATH); LD_LIBRARY_PATH=. ./$@.$(EXT_EXECUTE)
54
55clean: dummy
56 rm -rf *.txt
57 rm -rf $(TARGET_PATH) $(OBJ_PATH)
58
59dummy:
Note: See TracBrowser for help on using the repository browser.