88cf1a77e003c0e74980036d63a6c3e916c47f02
[reactos.git] / rosapps / sysutils / makefile
1 # $Id: makefile,v 1.9 2001/07/28 08:02:05 ea Exp $
2 #
3 # ReactOS System Utilities
4 #
5 # 1999-02-16 (Emanuele Aliberti)
6 # Added chkdskx.c and formatx.c by Mark Russinovich
7 # (mark@sysinternals.com) and shutdown.c
8 #
9 # 1999-03-03 (Emanuele Aliberti)
10 # Added login.c and chklib.c
11 #
12 # 1999-03-16 (Emanuele Aliberti)
13 # Added regnav.c
14 #
15 # 1999-12-19 (ea)
16 # Added qsi.c
17 #
18 # 2000-04-23 (ea)
19 # Added pedump.c
20 #
21 # 2000-08-4 (ea)
22 # Added ldd.c; removed login.c
23 #
24 PATH_TO_TOP=..
25 PATH_TO_CVSROOT=../$(PATH_TO_TOP)
26
27 BASE_CFLAGS = -I$(PATH_TO_CVSROOT)/reactos/include
28
29
30 ROS_DIR=$(PATH_TO_CVSROOT)/reactos
31 ROS_INC=$(ROS_DIR)/include
32 ROS_LIB=$(ROS_DIR)/lib
33 IMPORT_NTDLL=$(ROS_LIB)/ntdll/ntdll.a
34 IMPORT_FMIFS=$(ROS_LIB)/fmifs/fmifs.a
35 IMPORT_KERNEL32=$(ROS_LIB)/kernel32/kernel32.a
36 IMPORT_ADVAPI32=$(ROS_LIB)/advapi32/advapi32.a
37 IMPORT_USER32=$(ROS_LIB)/user32/user32.a
38 IMPORT_MSVCRT=$(ROS_LIB)/msvcrt/msvcrt.a
39
40 TARGET=\
41 chklib$(EXE_POSTFIX) \
42 ldd$(EXE_POSTFIX) \
43 pedump$(EXE_POSTFIX) \
44 shutdown$(EXE_POSTFIX) \
45 chkdsk$(EXE_POSTFIX) \
46 format$(EXE_POSTFIX) \
47 regexpl/regexpl$(EXE_POSTFIX)
48
49 all: $(TARGET)
50
51
52 # By Mark Russinovich
53
54 chkdsk.exe: chkdsk.o win32err.o wmain.o chkdsk.coff
55 $(CC) \
56 chkdsk.o \
57 win32err.o \
58 wmain.o \
59 chkdsk.coff \
60 $(IMPORT_FMIFS) \
61 $(IMPORT_KERNEL32) \
62 $(IMPORT_MSVCRT) \
63 -o chkdsk.exe
64 $(NM) --numeric-sort chkdsk.exe > chkdsk.sym
65
66 format.exe: format.o win32err.o wmain.o format.coff
67 $(CC) \
68 format.o \
69 win32err.o \
70 wmain.o \
71 format.coff \
72 $(IMPORT_FMIFS) \
73 $(IMPORT_KERNEL32) \
74 $(IMPORT_MSVCRT) \
75 -o format.exe
76 $(NM) --numeric-sort format.exe > format.sym
77
78 #---
79
80 chklib.exe: chklib.o win32err.o chklib.coff
81 $(CC) \
82 chklib.o \
83 win32err.o \
84 chklib.coff \
85 $(IMPORT_KERNEL32) \
86 $(IMPORT_MSVCRT) \
87 -o chklib.exe
88 $(NM) --numeric-sort chklib.exe > chklib.sym
89
90
91 shutdown.exe: shutdown.o win32err.o shutdown.coff
92 $(CC) \
93 shutdown.o \
94 win32err.o \
95 shutdown.coff \
96 $(IMPORT_KERNEL32) \
97 $(IMPORT_USER32) \
98 $(IMPORT_MSVCRT) \
99 -o shutdown.exe
100 $(NM) --numeric-sort shutdown.exe > shutdown.sym
101
102 pedump.exe: pedump.o pedump.coff
103 $(CC) \
104 pedump.o \
105 pedump.coff \
106 $(IMPORT_NTDLL) \
107 $(IMPORT_KERNEL32) \
108 $(IMPORT_MSVCRT) \
109 -o pedump.exe
110 $(NM) --numeric-sort pedump.exe > pedump.sym
111
112 pedump.o: pedump.c
113
114 ldd.exe: ldd.o win32err.o ldd.coff
115 $(CC) \
116 ldd.o \
117 win32err.o \
118 ldd.coff \
119 $(IMPORT_KERNEL32) \
120 $(IMPORT_MSVCRT) \
121 -o ldd.exe
122 $(NM) --numeric-sort ldd.exe > ldd.sym
123
124 ldd.o: ldd.c
125
126 # By Nedko Arnaoudov
127
128 regexpl/regexpl$(EXE_POSTFIX):
129 make -C regexpl
130
131 #---
132
133 CLEAN_FILES = *.o *.exe *.sym
134
135 clean: $(CLEAN_FILES:%=%_clean)
136
137 $(CLEAN_FILES:%=%_clean): %_clean:
138 - $(RM) $*
139
140 .phony: clean $(CLEAN_FILES:%=%_clean)
141
142
143 floppy: $(TARGET:%=$(FLOPPY_DIR)/apps/%)
144
145 $(TARGET:%=$(FLOPPY_DIR)/apps/%): $(FLOPPY_DIR)/apps/%: %
146 ifeq ($(DOSCLI),yes)
147 $(CP) $* $(FLOPPY_DIR)\apps\$*
148 else
149 $(CP) $* $(FLOPPY_DIR)/apps/$*
150 endif
151
152
153 dist: $(TARGET:%=../$(DIST_DIR)/apps/%)
154
155 $(TARGET:%=../$(DIST_DIR)/apps/%): ../$(DIST_DIR)/apps/%: %
156 ifeq ($(DOSCLI),yes)
157 $(CP) $* ..\$(DIST_DIR)\apps\$*
158 else
159 $(CP) $* ../$(DIST_DIR)/apps/$*
160 endif
161
162 include ../rules.mak
163
164 # EOF