source: libcf/trunk/test/makefile@ 38

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

#1 modify test.c for more detail test of multi-threaded logging

File size: 2.1 KB
Line 
1#----------------------------------------------------------
2# platform
3#----------------------------------------------------------
4PLATFORM = 64
5DEBUG = true
6
7#----------------------------------------------------------
8# load system info
9#----------------------------------------------------------
10ifeq ($(PLATFORM), 64)
11 PLATFORM = -m64
12else
13 PLATFORM = -m32
14endif
15
16UNAME_A := $(shell uname -a)
17EXT_EXECUTE = ex
18EXT_SHARED = so
19EXT_STATIC = a
20
21ifeq ($(findstring CYGWIN,$(UNAME_A)),CYGWIN)
22 # forced
23 PLATFORM = -m32
24 EXT_EXECUTE = exe
25 EXT_SHARED = dll
26 EXT_STATIC = lib
27endif
28
29ifeq ($(DEBUG), true)
30 DEFS = -D_DEBUG
31 FLAG = -g
32else
33 DEFS =
34 FLAG =
35endif
36
37#----------------------------------------------------------
38# env
39#----------------------------------------------------------
40FILES = \
41 test \
42
43TARGET_NAME = test
44
45CC = gcc
46LD = gcc
47AR = ar
48CDEFS = $(DEFS) -DLINUX -DUNIX -DMTHREAD -D_REENTRANT
49CFLAGS = $(PLATFORM) $(FLAG) -Wall -Wconversion -Wpointer-arith -Wcast-align -fPIC
50LDFLAGS = $(PLATFORM) -Wl,-Bsymbolic
51SHARED_FLAGS = $(LDFLAGS) -shared
52ARFLAGS = rc
53
54SOURCE_TYPE = c
55TARGET_PATH = ../_build
56OBJ_PATH = ../_obj
57TARGET = $(TARGET_PATH)/$(TARGET_NAME).$(EXT_EXECUTE)
58SRCS = $(addsuffix .$(SOURCE_TYPE),$(FILES))
59OBJS = $(addprefix $(OBJ_PATH)/,$(addsuffix .o,$(FILES)))
60
61INCLUDES = -I../include
62LIBS = -L$(TARGET_PATH) -lcf -lpthread
63
64LIB_CF = $(TARGET_PATH)/lib$(TARGET_PATH).$(EXT_SHARED)
65
66#----------------------------------------------------------
67# label
68#----------------------------------------------------------
69all: dep $(TARGET)
70 @echo ========== Complete CHEROXY compilation ==========
71dep: $(OBJ_PATH) $(TARGET_PATH) $(LIB_CF)
72
73$(TARGET_PATH): dummy
74 @if [ ! -d $@ ] ; then mkdir $@ ; fi
75$(OBJ_PATH): dummy
76 @if [ ! -d $@ ] ; then mkdir $@ ; fi
77$(LIB_CF): dummy
78 cd ../src; make all;
79
80%: %.c
81 make dep
82 $(LD) $(LDFLAGS) $(LIBS) $(CDEFS) $(CFLAGS) $(INCLUDES) -o $(TARGET_PATH)/$@.$(EXT_EXECUTE) $?
83 cd $(TARGET_PATH); LD_LIBRARY_PATH=. ./$@.$(EXT_EXECUTE)
84
85clean: dummy
86 rm -rf *.txt
87 rm -rf $(TARGET_PATH) $(OBJ_PATH)
88
89dummy:
Note: See TracBrowser for help on using the repository browser.