VPATH = @srcdir@
CPPFLAGS = @CPPFLAGS@ -I.. -I$(srcdir)/..
-CFLAGS = @CFLAGS@ -Wall -DINDEXLIB
+CFLAGS = @CFLAGS@ -Wall -DINDEXLIB -DUNIX -I.. -I$(srcdir)/..
M_OR_MM = @M_OR_MM@
LDFLAGS = @LDFLAGS@
-LKOBJECTS = lkmain.o lkarea.o lkdata.o \
- lkrloc.o \
- lklibr.o lkihx.o lks19.o \
- lkmem.o lkaomf51.o \
- ../lkeval.o ../lkhead.o ../lklex.o ../lklist.o \
- ../lknoice.o ../lkstore.o ../lksym.o \
- ../../strcmpi.o
-LKSOURCES = $(patsubst %.o,%.c,$(LKOBJECTS))
+OBJDIR = obj
+
+ASXXLIB = $(srcdir)/../../asxxsrc
+
+LKLIB = $(srcdir)/..
+
+ASXXLIBSRC = strcmpi.c
+
+LKLIBSRC = getline.c lkaomf51.c lkdata.c lkeval.c \
+ lkhead.c lklex.c lklib.c lklibr.c lklist.c \
+ lknoice.c lkrel.c lksdcclib.c lkstore.c lksym.c
+
+SRC = lkmain.c lkarea.c lkihx.c \
+ lkrloc.c lks19.c lkmem.c
+
+LKSOURCES = $(SRC) $(LKLIBSRC:%.c=$(LKLIB)/%.c) $(ASXXLIBSRC:%.c=$(ASXXLIB)/%.c)
+
+OBJS = $(SRC:%.c=$(OBJDIR)/%.o)
+LKOBJS = $(LKLIBSRC:%.c=$(OBJDIR)/%.o)
+ASXXLIBOBJS = $(ASXXLIBSRC:%.c=$(OBJDIR)/%.o)
+LKOBJECTS = $(OBJS) $(LKOBJS) $(ASXXLIBOBJS)
ASLINK = $(top_builddir)/bin/aslink$(EXEEXT)
# ---------------------
dep: Makefile.dep
-Makefile.dep: $(LKSOURCES) $(srcdir)/../*.h $(top_builddir)/*.h $(top_srcdir)/*.h
+Makefile.dep: $(LKSOURCES) $(LKLIB)/*.h $(top_builddir)/*.h
$(CPP) $(CPPFLAGS) $(M_OR_MM) $(filter %.c,$^) >Makefile.dep
ifeq "$(findstring $(MAKECMDGOALS),uninstall check installcheck installdirs \
clean distclean mostlyclean realclean)" ""
- include Makefile.dep
+ -include Makefile.dep
endif
include $(srcdir)/clean.mk
# My rules
# --------
-.c.o:
- $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
+$(OBJDIR)/.stamp:
+ mkdir -p $(OBJDIR)
+ touch $(OBJDIR)/.stamp
+
+$(OBJDIR)/%.o: %.c $(OBJDIR)/.stamp
+ $(CC) -c $(CFLAGS) -o $@ $<
+
+$(OBJDIR)/%.o: $(LKLIB)/%.c $(OBJDIR)/.stamp
+ $(CC) -c $(CFLAGS) -o $@ $<
+
+$(OBJDIR)/%.o: $(ASXXLIB)/%.c $(OBJDIR)/.stamp
+ $(CC) -c $(CFLAGS) -o $@ $<
# Remaking configuration