Skip to content

Commit cdc160e

Browse files
committed
Ubah Makefile - ganti nama dan ubah struktur
1 parent d345ed9 commit cdc160e

File tree

1 file changed

+42
-29
lines changed

1 file changed

+42
-29
lines changed

Makefile

+42-29
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,22 @@ RM=rm $(RMFLAGS)
2121

2222
SRC=src
2323
BUILD=build
24-
MAINDIR=$(SRC)/main
24+
ARGDIR=$(SRC)/args
2525
FUNCDIR=$(SRC)/functions
2626
DTDIR=$(SRC)/data-types
27+
NMSPCDIR=$(SRC)/namespace
28+
29+
EXE=
2730

2831
# =====
2932
# daftar aplikasi dan name `make`
3033
# =====
3134

3235
EPS=ep_inparr ep_cashier
33-
FUNCS=func_void func_basic func_inline
34-
DTS=dt_native dt_native dt_enum dt_class
35-
MAINS=argc argv envp
36+
FUNCS=fbasic void inline auto
37+
DTS=dbasic array1d enum class struct
38+
ARGS=argc argv envp
39+
NMSPCS=nbasic
3640

3741
# =====
3842
# koleksi aplikasi
@@ -41,48 +45,57 @@ MAINS=argc argv envp
4145
EP=ep
4246
FUNC=func
4347
DT=dt
44-
MA=ma
48+
AR=ar
49+
NMS=nms
4550

46-
all: $(DT) $(FUNC) $(EP) $(MA)
51+
all: $(DT) $(FUNC) $(EP) $(AR)
4752

48-
$(MA): $(MAINS)
53+
$(AR): $(ARGS)
4954

50-
argc: $(BUILD) $(MAINDIR)/argc/src/argc.cpp
51-
$(CPP) $(CPPFLAGS) $(MAINDIR)/argc/src/argc.cpp -o $(BUILD)/argc
55+
argc: $(BUILD) $(ARGDIR)/argc/src/argc.cpp
56+
$(CPP) $(CPPFLAGS) $(ARGDIR)/argc/src/argc.cpp -o $(BUILD)/argc${EXE}
5257

53-
argv: $(BUILD) $(MAINDIR)/argv/src/argv.cpp
54-
$(CPP) $(CPPFLAGS) $(MAINDIR)/argv/src/argv.cpp -o $(BUILD)/argv
58+
argv: $(BUILD) $(ARGDIR)/argv/src/argv.cpp
59+
$(CPP) $(CPPFLAGS) $(ARGDIR)/argv/src/argv.cpp -o $(BUILD)/argv${EXE}
5560

56-
envp: $(BUILD) $(MAINDIR)/envp/src/envp.cpp
57-
$(CPP) $(CPPFLAGS) $(MAINDIR)/envp/src/envp.cpp -o $(BUILD)/envp
61+
envp: $(BUILD) $(ARGDIR)/envp/src/envp.cpp
62+
$(CPP) $(CPPFLAGS) $(ARGDIR)/envp/src/envp.cpp -o $(BUILD)/envp${EXE}
5863

5964
$(FUNC): $(FUNCS)
6065

61-
func_void:
62-
$(CD) $(FUNCDIR)/void && make
66+
fbasic: $(BUILD) $(FUNCDIR)/basic/src/basic.cpp
67+
$(CPP) $(CPPFLAGS) $(FUNCDIR)/basic/src/basic.cpp -o $(BUILD)/$@${EXE}
68+
69+
void: $(BUILD) $(FUNCDIR)/void/src/void.cpp
70+
$(CPP) $(CPPFLAGS) $(FUNCDIR)/void/src/void.cpp -o $(BUILD)/$@${EXE}
6371

64-
func_basic: $(BUILD) $(FUNCDIR)/basic/src/func_basic.cpp
65-
$(CPP) $(CPPFLAGS) $(FUNCDIR)/basic/src/$@.cpp -o $(BUILD)/$@
72+
inline: $(BUILD) $(FUNCDIR)/inline/src/inline.cpp
73+
$(CPP) $(CPPFLAGS) $(FUNCDIR)/inline/src/inline.cpp -o $(BUILD)/$@${EXE}
6674

67-
func_inline: $(BUILD) $(FUNCDIR)/inline/src/func_inline.cpp
68-
$(CPP) $(CPPFLAGS) $(FUNCDIR)/inline/src/$@.cpp -o $(BUILD)/$@
75+
auto: $(BUILD) $(FUNCDIR)/auto/src/auto.cpp
76+
$(CPP) $(CPPFLAGS) $(FUNCDIR)/auto/src/auto.cpp -o $(BUILD)/$@${EXE}
6977

7078
$(DT): $(DTS)
7179

72-
dt_native:
73-
$(CD) $(DTDIR)/native && make
80+
dbasic: $(BUILD) $(DTDIR)/basic/src/basic.cpp
81+
$(CPP) $(CPPFLAGS) $(DTDIR)/basic/src/basic.cpp -o $(BUILD)/$@${EXE}
82+
83+
struct: $(BUILD) $(DTDIR)/struct/src/struct.cpp
84+
$(CPP) $(CPPFLAGS) $(DTDIR)/struct/src/struct.cpp -o $(BUILD)/$@${EXE}
85+
86+
enum: $(BUILD) $(DTDIR)/enum/src/enum.cpp
87+
$(CPP) $(CPPFLAGS) $(DTDIR)/enum/src/enum.cpp -o $(BUILD)/$@${EXE}
7488

75-
dt_struct: $(BUILD) $(DTDIR)/struct/src/struct.cpp
76-
$(CPP) $(CPPFLAGS) $(DTDIR)/struct/src/struct.cpp -o $(BUILD)/$@
89+
class: $(BUILD) $(DTDIR)/class/src/class.cpp
90+
$(CPP) $(CPPFLAGS) $(DTDIR)/class/src/class.cpp -o $(BUILD)/$@${EXE}
7791

78-
dt_enum: $(BUILD) $(DTDIR)/enum/src/enum.cpp
79-
$(CPP) $(CPPFLAGS) $(DTDIR)/enum/src/enum.cpp -o $(BUILD)/$@
92+
array1d: $(BUILD) $(DTDIR)/array/array1d/src/array1d.cpp
93+
$(CPP) $(CPPFLAGS) $(DTDIR)/array/array1d/src/array1d.cpp -o $(BUILD)/$@${EXE}
8094

81-
dt_class: $(BUILD) $(DTDIR)/class/src/class.cpp
82-
$(CD) $(DTDIR)/class/ && make
95+
$(NMS): $(NMSPCS)
8396

84-
dt_array: $(BUILD) $(DTDIR)/array/src/array.cpp
85-
$(CD) $(DTDIR)/array/ && make && ./build/main
97+
nbasic: $(BUILD) $(NMSPCDIR)/basic/src/basic.cpp
98+
$(CPP) $(CPPFLAGS) $(NMSPCDIR)/basic/src/basic.cpp -o $(BUILD)/$@${EXE}
8699

87100
$(EP): $(EPS)
88101

0 commit comments

Comments
 (0)