changed Makefile; build all commands as an own file
[NeonServV5.git] / Makefile
index bd3f3c89a0fbe0493d91929c04a7bf588e4cfc9f..10825e2cbb90fc211637543808e054516b18e6fb 100644 (file)
--- a/Makefile
+++ b/Makefile
-CFLAGS=-Wall -Wshadow -Werror
+CC = gcc
+SRC = EventLogger.c \
+      IRCEvents.c \
+      main.c \
+      ChanNode.c \
+      IRCParser.c \
+      ClientSocket.c \
+      UserNode.c \
+      ChanUser.c \
+      ModeNode.c \
+      BanNode.c \
+      WHOHandler.c \
+      modcmd.c \
+      mysqlConn.c \
+      lang.c \
+      HandleInfoHandler.c \
+      tools.c \
+      timeq.c \
+      DBHelper.c \
+      bots.c \
+      bot_NeonServ.c
+CMD = cmd_neonserv_access.c \
+      cmd_neonserv_addban.c \
+      cmd_neonserv_addtimeban.c \
+      cmd_neonserv_adduser.c \
+      cmd_neonserv_ban.c \
+      cmd_neonserv_bans.c \
+      cmd_neonserv_bind.c \
+      cmd_neonserv_chanservsync.c \
+      cmd_neonserv_clvl.c \
+      cmd_neonserv_command.c \
+      cmd_neonserv_csuspend.c \
+      cmd_neonserv_cunsuspend.c \
+      cmd_neonserv_delban.c \
+      cmd_neonserv_delme.c \
+      cmd_neonserv_deluser.c \
+      cmd_neonserv_deop.c \
+      cmd_neonserv_deopall.c \
+      cmd_neonserv_devoice.c \
+      cmd_neonserv_devoiceall.c \
+      cmd_neonserv_down.c \
+      cmd_neonserv_downall.c \
+      cmd_neonserv_emote.c \
+      cmd_neonserv_events.c \
+      cmd_neonserv_giveowner.c \
+      cmd_neonserv_god.c \
+      cmd_neonserv_help.c \
+      cmd_neonserv_invite.c \
+      cmd_neonserv_inviteme.c \
+      cmd_neonserv_kick.c \
+      cmd_neonserv_kickban.c \
+      cmd_neonserv_mdeluser.c \
+      cmd_neonserv_mode.c \
+      cmd_neonserv_move.c \
+      cmd_neonserv_myaccess.c \
+      cmd_neonserv_netinfo.c \
+      cmd_neonserv_notice.c \
+      cmd_neonserv_op.c \
+      cmd_neonserv_opall.c \
+      cmd_neonserv_oplog.c \
+      cmd_neonserv_peek.c \
+      cmd_neonserv_raw.c \
+      cmd_neonserv_recover.c \
+      cmd_neonserv_register.c \
+      cmd_neonserv_reloadlang.c \
+      cmd_neonserv_resync.c \
+      cmd_neonserv_say.c \
+      cmd_neonserv_search.c \
+      cmd_neonserv_set.c \
+      cmd_neonserv_setaccess.c \
+      cmd_neonserv_suspend.c \
+      cmd_neonserv_topic.c \
+      cmd_neonserv_trace.c \
+      cmd_neonserv_trim.c \
+      cmd_neonserv_unban.c \
+      cmd_neonserv_unbanall.c \
+      cmd_neonserv_unbanme.c \
+      cmd_neonserv_unbind.c \
+      cmd_neonserv_unregister.c \
+      cmd_neonserv_unsuspend.c \
+      cmd_neonserv_up.c \
+      cmd_neonserv_upall.c \
+      cmd_neonserv_users.c \
+      cmd_neonserv_uset.c \
+      cmd_neonserv_version.c \
+      cmd_neonserv_voice.c \
+      cmd_neonserv_voiceall.c \
+      cmd_neonserv_wipeinfo.c
+CMD_DEPS = main.h modcmd.h IRCParser.h UserNode.h ChanNode.h ChanUser.h ModeNode.h \
+           ClientSocket.h mysqlConn.h lang.h HandleInfoHandler.h WHOHandler.h DBHelper.h \
+           tools.h timeq.h version.h EventLogger.h bot_NeonServ.h IRCEvents.h BanNode.h
+OBJS = ${SRC:%.c=%.o} ${CMD:%.c=%.o}
+CFLAGS=-g -O2 -Wall -Wshadow -Werror
 LIBS=-I. -I/usr/include/mysql
 LINK=-lmysqlclient
 
-all:
-       gcc -g -O2 ${LIBS} -c IRCEvents.c -o IRCEvents.o ${CFLAGS}
-       gcc -g -O2 ${LIBS} -c main.c -o main.o ${CFLAGS}
-       gcc -g -O2 ${LIBS} -c ChanNode.c -o ChanNode.o ${CFLAGS}
-       gcc -g -O2 ${LIBS} -c IRCParser.c -o IRCParser.o ${CFLAGS}
-       gcc -g -O2 ${LIBS} -c ClientSocket.c -o ClientSocket.o ${CFLAGS}
-       gcc -g -O2 ${LIBS} -c UserNode.c -o UserNode.o ${CFLAGS}
-       gcc -g -O2 ${LIBS} -c ChanUser.c -o ChanUser.o ${CFLAGS}
-       gcc -g -O2 ${LIBS} -c BanNode.c -o BanNode.o ${CFLAGS}
-       gcc -g -O2 ${LIBS} -c WHOHandler.c -o WHOHandler.o ${CFLAGS}
-       gcc -g -O2 ${LIBS} -c modcmd.c -o modcmd.o ${CFLAGS}
-       gcc -g -O2 ${LIBS} -c mysqlConn.c -o mysqlConn.o ${CFLAGS}
-       gcc -g -O2 ${LIBS} -c lang.c -o lang.o ${CFLAGS}
-       gcc -g -O2 ${LIBS} -c HandleInfoHandler.c -o HandleInfoHandler.o ${CFLAGS}
-       gcc -g -O2 ${LIBS} -c tools.c -o tools.o ${CFLAGS}
-       gcc -g -O2 ${LIBS} -c DBHelper.c -o DBHelper.o ${CFLAGS}
-       gcc -g -O2 ${LIBS} -c bots.c -o bots.o ${CFLAGS}
-       gcc -g -O2 ${LIBS} -c bot_NeonServ.c -o bot_NeonServ.o ${CFLAGS}
-
-install:
-       gcc -g -O0 ${LIBS} -o neonserv *.o ${CFLAGS} ${LINK}
+all: $(OBJS)
+
+install: $(OBJS)
+       chmod +x version.sh
+       ./version.sh
+       $(CC) $(LIBS) -c version.c $(CFLAGS)
+       $(CC) $(LIBS) -o neonserv $(OBJS) version.o $(CFLAGS) $(LINK)
+
+%.o: %.c
+       $(CC) $(LIBS) -c $< $(CFLAGS)
 
 clean:
-       rm *.o
+       rm $(OBJS) version.o
+
+depend: $(SRC)
+       mv Makefile Makefile.bak
+       grep -A1 -B10000 '^# DEPENDINGS' Makefile.bak > Makefile
+       $(CC) $(CFLAGS) -MM $(LIBS) $(SRC) >> Makefile
+       rm Makefile.bak
+
+# DEPENDINGS -- generated by make depend
+
 
-binary:
\ No newline at end of file