- Forgotten piece of changes for returning to the release mode
[mirror/scst/.git] / usr / fileio / Makefile
1 #
2 #  SCSI target mid-level makefile
3 #  
4 #  Copyright (C) 2007 - 2008 Vladislav Bolkhovitin <vst@vlnb.net>
5 #  Copyright (C) 2007 - 2008 CMS Distribution Limited
6 #  
7 #  This program is free software; you can redistribute it and/or
8 #  modify it under the terms of the GNU General Public License
9 #  as published by the Free Software Foundation, version 2
10 #  of the License.
11
12 #  This program is distributed in the hope that it will be useful,
13 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 #  GNU General Public License for more details.
16
17 SRCS_F = fileio.c common.c debug.c
18 OBJS_F = $(SRCS_F:.c=.o)
19
20 #SRCS_C = 
21 #OBJS_C = $(SRCS_C:.c=.o)
22
23 SCST_INC_DIR := ../../scst/include
24 #SCST_INC_DIR := /usr/local/include/scst
25 INSTALL_DIR := /usr/local/bin/scst
26
27 CFLAGS += -O2 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes \
28         -I$(SCST_INC_DIR) -D_GNU_SOURCE -D__USE_FILE_OFFSET64 \
29         -D__USE_LARGEFILE64
30 PROGS = fileio_tgt
31 LIBS = -lpthread
32
33 CFLAGS += -DEXTRACHECKS
34 #CFLAGS += -DTRACING
35 CFLAGS += -DDEBUG -g
36
37 #CFLAGS += -DDEBUG_NOMEM
38 #CFLAGS += -DDEBUG_SENSE
39 #CFLAGS += -DDEBUG_TM_IGNORE
40 #CFLAGS += -DDEBUG_TM_IGNORE -DDEBUG_TM_FN_IGNORE
41 #CFLAGS += -DDEBUG_TM_IGNORE_ALL
42
43 all: $(PROGS)
44
45 fileio_tgt: .depend_f $(OBJS_F)
46         $(CC) $(OBJS_F) $(LIBS) $(LOCAL_LD_FLAGS) -o $@
47
48 #cdrom_tgt: .depend_c  $(OBJS_C)
49 #       $(CC) $(OBJS_C) $(LIBS) $(LOCAL_LD_FLAGS) -o $@
50
51 ifeq (.depend_f,$(wildcard .depend_f))
52 -include .depend_f
53 endif
54
55 #ifeq (.depend_c,$(wildcard .depend_c))
56 #-include .depend_c
57 #endif
58
59 %.o: %.c Makefile
60         $(CC) -c -o $(@) $(CFLAGS) $(<)
61
62 .depend_f:
63         $(CC) -M $(CFLAGS) $(SRCS_F) >$(@)
64
65 #.depend_c:
66 #       $(CC) -M $(CFLAGS) $(SRCS_C) >$(@)
67
68 install: all
69         install -d $(INSTALL_DIR)
70         install -m 755 $(PROGS) $(INSTALL_DIR)
71
72 uninstall:
73         rm -f $(INSTALL_DIR)/$(PROGS)
74         rm -rf $(INSTALL_DIR)
75
76 clean:
77         rm -f *.o $(PROGS) .depend*
78
79 extraclean: clean
80
81 .PHONY: all install uninstall clean extraclean