# ReactOS makefile for CMD
#
-# target: raw binary (does not work right now)
-#all: cmd.bin
+PATH_TO_TOP=..
+TARGET=cmd.exe
-# target: executable (not tested/experimental)
-all: cmd.exe
+all: $(TARGET)
-OBJECTS = ../common/crt0.o cmd.o attrib.o alias.o batch.o beep.o call.o \
- chcp.o cls.o cmdinput.o cmdtable.o color.o console.o copy.o date.o \
- del.o dir.o dirstack.o echo.o error.o filecomp.o for.o goto.o \
- history.o if.o internal.o label.o locale.o misc.o move.o path.o \
- pause.o prompt.o redir.o ren.o set.o shift.o time.o title.o type.o \
- ver.o verify.o vol.o where.o
+OBJECTS = cmd.o attrib.o alias.o batch.o beep.o call.o chcp.o choice.o \
+ cls.o cmdinput.o cmdtable.o color.o console.o copy.o date.o del.o \
+ delay.o dir.o dirstack.o echo.o error.o filecomp.o for.o free.o \
+ goto.o history.o if.o internal.o label.o locale.o memory.o misc.o \
+ move.o msgbox.o path.o pause.o prompt.o redir.o ren.o screen.o \
+ set.o shift.o start.o strtoclr.o time.o timer.o title.o type.o \
+ ver.o verify.o vol.o where.o window.o cmd.coff
-LIBS= ../../lib/kernel32/kernel32.a ../../lib/ntdll/ntdll.a
+CLEAN_FILES = *.o cmd.exe cmd.sym cmd.coff
+
+
+cmd.exe: $(OBJECTS)
+ $(CC) $(OBJECTS) -lkernel32 -lmsvcrt -luser32 -o cmd.exe
+ $(NM) --numeric-sort cmd.exe > cmd.sym
-CLEAN_FILES = $(OBJECTS) cmd.exe cmd.sym
clean: $(CLEAN_FILES:%=%_clean)
.phony: clean $(CLEAN_FILES:%=%_clean)
-cmd.bin: $(OBJECTS)
- $(LD) -Ttext 0x10000 $(OBJECTS) $(LIBS) -o cmd.exe
- $(OBJCOPY) -O binary cmd.exe cmd.bin
-cmd.exe: $(OBJECTS) $(LIBS)
- $(CC) -specs=../../specs $(OBJECTS) $(LIBS) -lgcc -o cmd.exe
- $(NM) --numeric-sort cmd.exe > cmd.sym
+floppy: $(TARGET:%=$(FLOPPY_DIR)/apps/%)
+
+$(TARGET:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: %
+ifeq ($(DOSCLI),yes)
+ $(CP) $* $(FLOPPY_DIR)\apps\$*
+else
+ $(CP) $* $(FLOPPY_DIR)/apps/$*
+endif
+
-include ../../rules.mak
+dist: $(TARGET:%=$(PATH_TO_TOP)/$(DIST_DIR)/apps/%)
+$(TARGET:%=$(PATH_TO_TOP)/$(DIST_DIR)/apps/%): $(PATH_TO_TOP)/$(DIST_DIR)/apps/%: %
+ifeq ($(DOSCLI),yes)
+ $(CP) $* $(PATH_TO_TOP)\$(DIST_DIR)\apps\$*
+else
+ $(CP) $* $(PATH_TO_TOP)/$(DIST_DIR)/apps/$*
+endif
+include $(PATH_TO_TOP)/rules.mak
+# EOF