changed Makefile; build all commands as an own file
[NeonServV5.git] / Makefile
1 CC = gcc
2 SRC = EventLogger.c \
3       IRCEvents.c \
4       main.c \
5       ChanNode.c \
6       IRCParser.c \
7       ClientSocket.c \
8       UserNode.c \
9       ChanUser.c \
10       ModeNode.c \
11       BanNode.c \
12       WHOHandler.c \
13       modcmd.c \
14       mysqlConn.c \
15       lang.c \
16       HandleInfoHandler.c \
17       tools.c \
18       timeq.c \
19       DBHelper.c \
20       bots.c \
21       bot_NeonServ.c
22 CMD = cmd_neonserv_access.c \
23       cmd_neonserv_addban.c \
24       cmd_neonserv_addtimeban.c \
25       cmd_neonserv_adduser.c \
26       cmd_neonserv_ban.c \
27       cmd_neonserv_bans.c \
28       cmd_neonserv_bind.c \
29       cmd_neonserv_chanservsync.c \
30       cmd_neonserv_clvl.c \
31       cmd_neonserv_command.c \
32       cmd_neonserv_csuspend.c \
33       cmd_neonserv_cunsuspend.c \
34       cmd_neonserv_delban.c \
35       cmd_neonserv_delme.c \
36       cmd_neonserv_deluser.c \
37       cmd_neonserv_deop.c \
38       cmd_neonserv_deopall.c \
39       cmd_neonserv_devoice.c \
40       cmd_neonserv_devoiceall.c \
41       cmd_neonserv_down.c \
42       cmd_neonserv_downall.c \
43       cmd_neonserv_emote.c \
44       cmd_neonserv_events.c \
45       cmd_neonserv_giveowner.c \
46       cmd_neonserv_god.c \
47       cmd_neonserv_help.c \
48       cmd_neonserv_invite.c \
49       cmd_neonserv_inviteme.c \
50       cmd_neonserv_kick.c \
51       cmd_neonserv_kickban.c \
52       cmd_neonserv_mdeluser.c \
53       cmd_neonserv_mode.c \
54       cmd_neonserv_move.c \
55       cmd_neonserv_myaccess.c \
56       cmd_neonserv_netinfo.c \
57       cmd_neonserv_notice.c \
58       cmd_neonserv_op.c \
59       cmd_neonserv_opall.c \
60       cmd_neonserv_oplog.c \
61       cmd_neonserv_peek.c \
62       cmd_neonserv_raw.c \
63       cmd_neonserv_recover.c \
64       cmd_neonserv_register.c \
65       cmd_neonserv_reloadlang.c \
66       cmd_neonserv_resync.c \
67       cmd_neonserv_say.c \
68       cmd_neonserv_search.c \
69       cmd_neonserv_set.c \
70       cmd_neonserv_setaccess.c \
71       cmd_neonserv_suspend.c \
72       cmd_neonserv_topic.c \
73       cmd_neonserv_trace.c \
74       cmd_neonserv_trim.c \
75       cmd_neonserv_unban.c \
76       cmd_neonserv_unbanall.c \
77       cmd_neonserv_unbanme.c \
78       cmd_neonserv_unbind.c \
79       cmd_neonserv_unregister.c \
80       cmd_neonserv_unsuspend.c \
81       cmd_neonserv_up.c \
82       cmd_neonserv_upall.c \
83       cmd_neonserv_users.c \
84       cmd_neonserv_uset.c \
85       cmd_neonserv_version.c \
86       cmd_neonserv_voice.c \
87       cmd_neonserv_voiceall.c \
88       cmd_neonserv_wipeinfo.c
89 CMD_DEPS = main.h modcmd.h IRCParser.h UserNode.h ChanNode.h ChanUser.h ModeNode.h \
90            ClientSocket.h mysqlConn.h lang.h HandleInfoHandler.h WHOHandler.h DBHelper.h \
91            tools.h timeq.h version.h EventLogger.h bot_NeonServ.h IRCEvents.h BanNode.h
92 OBJS = ${SRC:%.c=%.o} ${CMD:%.c=%.o}
93 CFLAGS=-g -O2 -Wall -Wshadow -Werror
94 LIBS=-I. -I/usr/include/mysql
95 LINK=-lmysqlclient
96
97 all: $(OBJS)
98
99 install: $(OBJS)
100         chmod +x version.sh
101         ./version.sh
102         $(CC) $(LIBS) -c version.c $(CFLAGS)
103         $(CC) $(LIBS) -o neonserv $(OBJS) version.o $(CFLAGS) $(LINK)
104
105 %.o: %.c
106         $(CC) $(LIBS) -c $< $(CFLAGS)
107
108 clean:
109         rm $(OBJS) version.o
110
111 depend: $(SRC)
112         mv Makefile Makefile.bak
113         grep -A1 -B10000 '^# DEPENDINGS' Makefile.bak > Makefile
114         $(CC) $(CFLAGS) -MM $(LIBS) $(SRC) >> Makefile
115         rm Makefile.bak
116
117 # DEPENDINGS -- generated by make depend
118
119