# Makefile for Constable, (C) 2000 Medusa Development Team CFGFILE=constable.config MEDUSA_CONFFILE=/etc/default.medusa # DEBUG=1 CC= gcc ifndef CFLAGS CFLAGS = -Wall -g0 -O2 -pipe endif ifdef DEBUG CFLAGS += -DDEBUG -ggdb endif CFLAGS += -DMEDUSA_CONFFILE=\"$(MEDUSA_CONFFILE)\" LDFLAGS= AS= as ASFLAGS= OBJS = cmds.o error.o events.o fs.o init.o language.o lex.o log.o synt.o constable.o ifeq ($(CFGFILE),$(wildcard $(CFGFILE))) include $(CFGFILE) endif ifdef CONFIG_MEDUSA_SYSCALL CFLAGS += -DCONFIG_MEDUSA_SYSCALL OBJS += syscalls.o endif ifdef CONFIG_MEDUSA_FORCE CFLAGS += -DCONFIG_MEDUSA_FORCE OBJS += force.o linker.o elf.o endif ifdef CONFIG_MEDUSA_FILE_CAPABILITIES CFLAGS += -DCONFIG_MEDUSA_FILE_CAPABILITIES endif ifdef MEDUSA_INITNAME CFLAGS += -DMEDUSA_INITNAME=\"$(MEDUSA_INITNAME)\" endif ifdef MEDUSA_CONFFILE CFLAGS += -DMEDUSA_CONFFILE=\"$(MEDUSA_CONFFILE)\" endif ifdef MEDUSA_DEVFILE CFLAGS += -DMEDUSA_DEVFILE=\"$(MEDUSA_DEVFILE)\" endif ifdef LKPATH CFLAGS += -I$(LKPATH)/include/ endif all: $(CFGFILE) constable constable: $(CFGFILE) $(OBJS) $(CC) $(LDFLAGS) $(CFLAGS) -o constable $(OBJS) ifndef DEBUG -strip constable endif %.o: %.c $(CFGFILE) $(CC) $(CFLAGS) -w -c -o $@ $< %.o: %.S $(CC) $(CFLAGS) -c -o $@ $< %.s: %.c $(CC) $(CFLAGS) -S -o $@ $< %.i: %.c $(CC) $(CFLAGS) -E -o $@ $< $(CFGFILE): @echo "Use make config to create file" $(CFGFILE). exit 1 config: ./configure clean: # -rm -f constable $(OBJS) $(CFGFILE) -rm -f constable $(OBJS) install: constable rm -f $(MEDUSA_CONSTABLENAME) install -m 700 constable $(MEDUSA_CONSTABLENAME) test -f $(MEDUSA_CONFFILE) || install -m 600 ../SampleConfs/default.medusa $(MEDUSA_CONFFILE) test -c $(MEDUSA_DEVFILE) || mknod $(MEDUSA_DEVFILE) c 111 0 test -c $(MEDUSA_STATFILE) || mknod $(MEDUSA_STATFILE) c 111 1 chmod 600 $(MEDUSA_DEVFILE) chmod 600 $(MEDUSA_STATFILE) uninstall: rm -f $(MEDUSA_CONSTABLENAME) rm -f $(MEDUSA_DEVFILE) $(MEDUSA_STATFILE)